找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4805|回复: 0
打印 上一主题 下一主题
收起左侧

成功build LG GW620的ROM(openetna)

[复制链接]
跳转到指定楼层
楼主
ID:50946 发表于 2013-6-14 19:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 huts 于 2013-6-14 19:52 编辑

环境:
debian 6
gcc 4.7

1, 构建自己的git源码服务器
详见以前我写的:在本地建立android源码镜像
(
http://www.51hei.com/bbs/dpj-19130-1.html)只是这里不是android.git.kernel.org/platform/manifest.git
而是github.com/OpenEtna/android_manifest.git

2, 修改android_manifest
## 克隆项目
git clone -b froyofile:///home/fi9/android/git-server/github.com/OpenEtna/android_manifest.git
cd android_manifest
vi default.xml  ## 编辑
修改git服务地址
  <remote  name="korg"
         
fetch="file:///home/fi9/android/git-server/android.git.kernel.org/"
           review="review.source.android.com" />
  <remote name="github"
fetch="file:///home/fi9/android/git-server/github.com/"review="review.cyanogenmod.com" />

屏掉android_device_advent_vega
  <!-- <project path="device/advent/vega"
name="CyanogenMod/android_device_advent_vega" remote="github"
revision="master" /> -->

## 提交
git commit -a
## 上传
git push

3, 下来就是参照openetna的手册进行取源码、编译
详见:http://code.google.com/p/openetna/wiki/BuildFromSource
其中有如下不同:
A, 安装一些工具
sudo apt-get install git-core gnupg flex bison gperf build-essential \
    zip curl sun-java6-jdk zlib1g-dev gcc-multilib g++-multilib \
    x11proto-core-dev \
    libx11-dev lzma
sudo update-java-alternatives -s java-6-sun ## 换java和javac

B, 取源码(我们的源码服务器已经在本地):
repo init-ufile:///home/fi9/android/git-server/github.com/OpenEtna/android_manifest.git -b froyo

4, 由于我使用的debian版本比较新,gcc的版本也就很新,是4.7,而以前都是用4.4,因此编译中出现了不少问题:
A, 根据https://groups.google.com/forum/ ... uilding/2EwtWQTqjdI中的fix 1, 2, 3 解决了三问题

B, 根据https://github.com/CyanogenMod/a ... eb8d1ffe13e95445af3的patch 解决了以下出现的webkit问题
target Generated: libwebcore <=
external/webkit/WebCore/xml/XSLTProcessor.idl
target Generated: libwebcore <=
external/webkit/WebCore/dom/make_names.pl
target Generated: libwebcore <=
external/webkit/WebCore/dom/make_names.pl
target Generated: libwebcore <=
external/webkit/WebCore/dom/make_names.pl
Unknown parameter a interfaceName for tags/attrs
make: ***
[out/target/product/eve/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/JSHTMLElementWrapperFactory.h]
Error
255
make: *** Waiting for unfinished jobs....
Unknown parameter a interfaceName for tags/attrs
make: ***
[out/target/product/eve/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/HTMLElementFactory.h]
Error
255
Unknown parameter a interfaceName for tags/attrs
make: ***
[out/target/product/eve/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/HTMLNames.h]
Error
255
...

C, 自行解决了以下的问题(其实就是和A问题一样)
Install: out/host/linux-x86/bin/mkbootimg
host C++: mksnapshot <= external/v8/src/accessors.cc
In file included from external/v8/src/v8.h:63:0,
                 from external/v8/src/accessors.cc:28:
external/v8/src/objects.h: In instantiation of
‘v8::internal::PropertyDetails v8::internal::Dictionary<Shape,
Key>::DetailsAt(int) [with Shape =
v8::internal::StringDictionaryShape; Key = v8::internal::String*]’:
external/v8/src/property.h:189:62:   required from here
external/v8/src/objects.h:2140:71: error: ‘get’ was not declared in
this scope, and no declarations were found by argument-dependent lookup
at the point of instantiation [-fpermissive]
external/v8/src/objects.h:2140:71: note: declarations in dependent base
‘v8::internal::FixedArray’ are not found by unqualified lookup
external/v8/src/objects.h:2140:71: note: use ‘this->get’ instead
external/v8/src/objects.h: In instantiation of ‘v8::internal::Object*
v8::internal::Dictionary<Shape, Key>::ValueAt(int) [with Shape =
v8::internal::StringDictionaryShape; Key = v8::internal::String*]’:
external/v8/src/property.h:248:78:   required from here
external/v8/src/objects.h:2128:60: error: ‘get’ was not declared in
this scope, and no declarations were found by argument-dependent lookup
at the point of instantiation [-fpermissive]
....

fix:
vi external/v8/Android.mksnapshot.mk
Add '-fpermissive' to line 60
LOCAL_CFLAGS := \
        -Wno-endif-labels \
        -Wno-import \
        -Wno-format \
        -ansi \
        -fno-rtti \
        -DENABLE_DEBUGGER_SUPPORT \
        -DV8_NATIVE_REGEXP -fpermissive

DONE! 完成ROM的编译.
下来就是把openeve的kernel与openetna的FS结合起来
再再下来就是看如何调试
再再再下来就是添删改调
....

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表