编译运行在omap4430平台的Android 4.0.3注意事项
2013-03-06 16:55
323 查看
原文地址:http://blog.chinaunix.net/uid-495571-id-3059880.html
1.Android源码的版本
android源码的版本一定要是android-4.0.3的master分支,经过验证android-4.0.1源码不能在pandaboard开发板上正常运行。
2.开发机编译器版本
开发主机上编译器的版本最好采用gcc-4.4.6版本,如果开发机的linux版本为Ubuntu11.10,它自带的编译器版本为gcc-4.6.1,编译android-4.0.3会出现很多错误,通过修改源码也可以正确编译出目标文件,但是考虑到android源码的统一性,采用gcc-4.4.1版本编译器进行编译,这就需要在ubuntu11.10上安装gcc-4.4.1编译器。经过验证采用gcc-4.4.1编译android-4.0.3没有任何编译错误。
3.下载GPU SGX540的二进制包
下载地址为:http://code.google.com/android/nexus/drivers.html#pandaiml74kl其中针对pandaboard有两个版本,分别对应android-4.0.1和android-4.0.3,毫无疑问我们应选择对应android-4.0.3的那个版本,解压后为一个脚本文件extract-imgtec-panda.sh,执行该脚本文件将生成vendor目录,将该目录拷贝到android-4.0.3源码根目录下即可,再进行编译,大约经过2个小时即可编译完成。
4.android-4.0.3文件系统的安装
因为在此之前使用的时android-2.3,SD卡分区为boot,rootfs,media三个分区,boot分区存放的是MLO,u-boot.bin和uImage。rootfs为主文件系统,media分区存放私有数据文件。当android-4.0.3编译完成后,在进行文件系统更新时想偷一下懒,用新的uImage文件替换boot分区中的uImage,用android-4.0.3/out/target/product/panda/root目录中的文件替换rootfs分区的文件,用android-4.0.3/out/target/product/panda/system目录文件替换rootfs分区中system目录,再用android-4.0.3/out/target/product/panda/data目录文件替换rootfs分区中的data目录,经过验证这样系统不能正常启动。
经过以上实验失败后决定还是采用Android-4.0.3/device/ti/panda/README文件中说明的方法进行文件系统的烧写。该文件详细说明了如何进行新文件系统的更新,使用usbboot和fastboot工具进行文件系统的更新。usbboot目录为:Android-4.0.3/device/ti/panda/usbboot,fastboot在编译完成后生成,目录为android-4.0.3/out/host/linux-x86/bin/fastboot。
遇到的问题:
使用fastboot烧写文件系统的前提时目标板已进入fastboot模式,按README文件的说明是通过usbboot工具把bootloader.bin文件通过usb接口传送到目标板的内存中并运行,这时目标板就已经进入了fastboot模式。问题是自己使用的系统为ubuntu11.10的32位版本,但是usbboot为64位的应用程序,故在ubuntu11.1032系统上无法执行,只能通过其他办法实现。
解决方法:
在android-2.3版本使用的SD卡的基础上使目标板进入fastboot模式,把android-4.0.3/device/ti/panda/bootloader.bin文件复制一份重命名为u-boot.bin,使用新的u-boot.bin替换SD卡中的u-boot.bin,这样目标启动后就会进入fastboot模式,再使用fastboot工具按照README文件的说明进行文件系统的更新后,android-4.0.3就会在pandaboardOMAP4430开发板上正常运行。
1.Android源码的版本
android源码的版本一定要是android-4.0.3的master分支,经过验证android-4.0.1源码不能在pandaboard开发板上正常运行。
2.开发机编译器版本
开发主机上编译器的版本最好采用gcc-4.4.6版本,如果开发机的linux版本为Ubuntu11.10,它自带的编译器版本为gcc-4.6.1,编译android-4.0.3会出现很多错误,通过修改源码也可以正确编译出目标文件,但是考虑到android源码的统一性,采用gcc-4.4.1版本编译器进行编译,这就需要在ubuntu11.10上安装gcc-4.4.1编译器。经过验证采用gcc-4.4.1编译android-4.0.3没有任何编译错误。
3.下载GPU SGX540的二进制包
下载地址为:http://code.google.com/android/nexus/drivers.html#pandaiml74kl其中针对pandaboard有两个版本,分别对应android-4.0.1和android-4.0.3,毫无疑问我们应选择对应android-4.0.3的那个版本,解压后为一个脚本文件extract-imgtec-panda.sh,执行该脚本文件将生成vendor目录,将该目录拷贝到android-4.0.3源码根目录下即可,再进行编译,大约经过2个小时即可编译完成。
4.android-4.0.3文件系统的安装
因为在此之前使用的时android-2.3,SD卡分区为boot,rootfs,media三个分区,boot分区存放的是MLO,u-boot.bin和uImage。rootfs为主文件系统,media分区存放私有数据文件。当android-4.0.3编译完成后,在进行文件系统更新时想偷一下懒,用新的uImage文件替换boot分区中的uImage,用android-4.0.3/out/target/product/panda/root目录中的文件替换rootfs分区的文件,用android-4.0.3/out/target/product/panda/system目录文件替换rootfs分区中system目录,再用android-4.0.3/out/target/product/panda/data目录文件替换rootfs分区中的data目录,经过验证这样系统不能正常启动。
经过以上实验失败后决定还是采用Android-4.0.3/device/ti/panda/README文件中说明的方法进行文件系统的烧写。该文件详细说明了如何进行新文件系统的更新,使用usbboot和fastboot工具进行文件系统的更新。usbboot目录为:Android-4.0.3/device/ti/panda/usbboot,fastboot在编译完成后生成,目录为android-4.0.3/out/host/linux-x86/bin/fastboot。
遇到的问题:
使用fastboot烧写文件系统的前提时目标板已进入fastboot模式,按README文件的说明是通过usbboot工具把bootloader.bin文件通过usb接口传送到目标板的内存中并运行,这时目标板就已经进入了fastboot模式。问题是自己使用的系统为ubuntu11.10的32位版本,但是usbboot为64位的应用程序,故在ubuntu11.1032系统上无法执行,只能通过其他办法实现。
解决方法:
在android-2.3版本使用的SD卡的基础上使目标板进入fastboot模式,把android-4.0.3/device/ti/panda/bootloader.bin文件复制一份重命名为u-boot.bin,使用新的u-boot.bin替换SD卡中的u-boot.bin,这样目标启动后就会进入fastboot模式,再使用fastboot工具按照README文件的说明进行文件系统的更新后,android-4.0.3就会在pandaboardOMAP4430开发板上正常运行。
相关文章推荐
- 编译运行在omap4430平台的android-4.0.3注意事项
- android APP集成系统详细步骤及注意事项(amlogic平台)
- 从eclipse到Android studio/迁移eclipse的Android项目到Android studio平台的注意事项
- 命令行式下java package的编译与运行注意事项
- 在Android下运行Linux平台编译的程序
- webrtc 针对 android 平台的编译和运行
- Coco2d-x-2.x和3.x创建工程以及编译android注意事项
- Android App接入微信开放平台注意事项
- Android系统移植与平台开发- 编译并运行Android4.0模拟器
- Ubuntu上交叉编译valgrind for Android 4.4的过程与注意事项
- 友盟分享——Android App接入微信开放平台注意事项
- anroid c编译 android.mk 的编写注意事项
- 7、手工编译和运行时注意事项
- Visual Studio强行修改运行平台和注意事项
- 在实验室的机器上编译运行storm的一些注意事项
- VS2013编译WinXP下运行程序注意事项
- android JNI编译注意事项
- cocos2dx编译android注意事项
- Android系统源码编译注意事项
- mtk平台rom编译注意事项