Pandaboard OMAP4460用linaro android源码启动
背景说明:
上一篇博文讲述了使用linaro release 14.10的现成boot和android kernel版本制作SD启动卡,本文讲述如何使用linaro release 14.10 android源码编译pandaboard的SD卡启动包.
制作步骤:
(¥),到http://releases.linaro.org/14.10/android/panda下载linaro_android_build_cmds.sh,存放在ubantu系统的某个文件夹下面。打开终端,进入 该目录下。执行$sh linaro_android_build_cmds.sh,会先下载android源码包到该目录下,文件夹名称就是"android"。
在下载过程中,会出现如下几个文件包不能下载的错误提示,出现该错误的原因是linaro文件库上已经删除了这几个目录(具体原因不详),但出现这个问题后,会导致下面的下载无法继续完成,因此也就不会有编译的结果了。
Fetching projects: 18% (76/420) fatal: remote error: access denied or repository not exported: /people/harigopal.gollamudi/lava-blackbox
fatal: remote error: access denied or repository not exported: /people/harigopal.gollamudi/lava-blackbox
error: Cannot fetch people/harigopal.gollamudi/lava-blackbox
Fetching projects: 30% (126/420) fatal: remote error: access denied or repository not exported: /people/ragesh.radhakrishnan/libjpeg-turbo
fatal: remote error: access denied or repository not exported: /people/ragesh.radhakrishnan/libjpeg-turbo
error: Cannot fetch people/ragesh.radhakrishnan/libjpeg-turbo
Fetching projects: 46% (194/420) fatal: remote error: access denied or repository not exported: /people/harigopal.gollamudi/glmark2
fatal: remote error: access denied or repository not exported: /people/harigopal.gollamudi/glmark2
error: Cannot fetch people/harigopal.gollamudi/glmark2
Fetching projects: 100% (420/420), done.
Syncing work tree: 34% (143/420) fatal: failed to unpack tree object HEAD Traceback (most recent call last):
File "/home/wjt/u-boot/linaro_omap4/aosp2/android/.repo/repo/main.py", line 506, in <module> _Main(sys.argv[1:])
File "/home/wjt/u-boot/linaro_omap4/aosp2/android/.repo/repo/main.py", line 482, in _Main
result = repo._Run(argv) or 0
File "/home/wjt/u-boot/linaro_omap4/aosp2/android/.repo/repo/main.py", line 161, in _Run
result = cmd.Execute(copts, cargs)
File "/home/wjt/u-boot/linaro_omap4/aosp2/android/.repo/repo/subcmds/sync.py", line 681, in Execute project.Sync_LocalHalf(syncbuf)
File "/home/wjt/u-boot/linaro_omap4/aosp2/android/.repo/repo/project.py", line 1196, in Sync_LocalHalf self._InitWorkTree()
File "/home/wjt/u-boot/linaro_omap4/aosp2/android/.repo/repo/project.py", line 2298, in _InitWorkTree
raise GitError("cannot initialize work tree")
error.GitError: cannot initialize work tree
上述问题的解决办法是:到已经下载的开源安卓源码(AOSP)中找到.repo文件夹(隐藏文件夹),在该文件夹下面有manifest.xml,这个是repo(版本管理软件)用来创建本地目录的工具,根据上面的错误查找到相应的*.git文件,可以查看到其在本地目录中的位置,然后将这3个文件拷贝到对应的目录下面,就可以顺利完成安卓系统编译工作,整个下载编译大概需要6个小时左右(视网络与工作机的速度情况),生成的版本在android/out/target/product/pandaboard下面,有MLO、u-boot.bin、u-boot.img、boot.tar.bz2、system.tar.bz2、userdata.tar.bz2等。
(¥),执行如下脚本,用于下载配置linaro的版本制作工具包,
$ sudo add-apt-repository ppa:linaro-maintainers/tools$ sudo apt-get update$ sudo apt-get install linaro-image-tools
(¥),进入android/out/target/product/pandaboard目录下,执行如下脚本,先查看sd卡的分区情况,是否存在sdc1,sdc2,sdc3,sdc4,sdc5等分区,如果存在将生成的MLO,boot.bin,boot.img,kernel,android系统安装到相应的分区中,要注意分区的名称是sdc还是sdx(正常情况下,经过这一步后,会在SDX的system分区下生成一系列系统文件夹如app、bin、etc、framework、verdor灯,如果没有,则说明sd卡分区存在问题,需要先用gparted工具将原分区删除后,再执行如下命令,应该会正确生成分区文件系统)
$dmesg|tail
$linaro-android-media-create --mmc /dev/sdc --dev panda --boot boot.tar.bz2 --system system.tar.bz2 --userdata userdata.tar.bz2
(¥),进入android/out/target/product/pandaboard目录下,将install-binaries-4.0.4.sh(调用安装图形库并加载到SD卡中的脚本)和imgtec-panda-imm76i-67545da7.tgz(图形库安装脚本)拷贝到该目录下,在本目录下执行如下脚本(注意,如果执行过程中存在下载链接问题等,需要将所需要的文件单独下载,并需要单步执行脚本)
$ chmod a+x install-binaries-4.0.4.sh $ ./install-binaries-4.0.4.sh
(¥),将SVT制作的MLO,boot.bin,boot.img替换SD卡中boot目录下的文件,然后右键“弹出驱动器”,将SD卡从ubantu系统中卸载,并将SD卡装到pandaboard上,上电启动,就可以看到显示器上的android标志了。
Pandaboard OMAP4460用linaro android源码启动相关推荐
- Android4.0源码Launcher启动流程分析【android源码Launcher系列一】
最近研究ICS4.0的Launcher,发现4.0和2.3有稍微点区别,但是区别不是特别大,所以我就先整理一下Launcher启动的大致流程. Launcher其实是贯彻于手机的整个系统的,时时刻刻都 ...
- Android 源码分析 Activity的启动模式
一直想抽空针对AMS进行源码分析,无奈一方面因为很忙,另外AMS很复杂,涉及的知识点也比较多,今天利用五一假期对AMS的一个方面,Activity的启动模式进行源码分析,这里面包括了ActivityR ...
- Android中ICS4.0源码Launcher启动流程分析【android源码Launcher系列一】
最近研究ICS4.0的Launcher,发现4.0和2.3有稍微点区别,但是区别不是特别大,所以我就先整理一下Launcher启动的大致流程.Launcher其实是贯彻于手机的整个系统的,时时刻刻都在 ...
- android 源码编译 模拟器emulator启动,Android 模拟器运行编译后的源码
下载Android源码以及如何编译,这里就不多介绍了,照着www.android.com给的步骤进行,主要介绍一下使用make命令编译好了源码之后,如何使用模拟器来运行生成的镜像之类的文件. 方式应该 ...
- Android 源码 PackageManagerService 启动流程分析
<Android 源码 installPackage 流程分析>一节着重分析了 apk 安装流程,接下来我们分析 PackageManagerService 启动时都做了些什么? 执行 P ...
- Intent.createChooser方法源码解析(按我的解析,只有一个Intent是不会启动的??Android源码7.1.2)
参考: https://www.geek-share.com/detail/2631984744.html https://tuzhao.org/article/34#directory0136555 ...
- 【Android 源码学习】 init启动
目录 Android 源码学习 init启动 从main.cpp开始 init.cpp 部分逻辑 init启动zygote 属性服务 总结 Android 源码学习 init启动 Android 11 ...
- Android源码编译及启动模拟器
Android源码编译及启动模拟器 源码下载 (1)更改下载源 (2)安装源码下载工具 (3)下载源码 (4)安装环境依赖 源码编译 启动模拟器 源码下载 Ubuntu18.0 (1)更改下载源 源码 ...
- 【Android 源码学习】Zygote启动原理
Android 源码学习 Zygote启动原理 望舒课堂 Zygote进程启动原理学习记录整理. Zygote简介 Zygote是进程在init进程启动时创建的,进程本身是app_process,来源 ...
最新文章
- 阿里员工绩效只拿3.25!自我反省:平时假装努力!晚上没加班!去厕所时间太长!还老买彩票!...
- linux memcache 源码包,Linux 安装Memcache扩展支持(示例代码)
- 简述数据字典的结构及其作用_数据结构——树基本概念及其遍历
- 如何使用JavaScript开发AR(增强现实)移动应用 (一)
- scrapy 搜索关键字_Scrapy 新浪微博搜索爬虫
- 32岁武汉硕士毕业4年后重新高考,考上本硕需再读8年:“不是一时冲动”
- typedef和#define的作用域问题
- php怎么创建进程,在php中为长时间运行的进程创建后台进程
- Jmeter系列之参数化
- GAN(Generative Adversarial Networks) 初步
- C语言的图形函数库贴吧,自己写的一个图形库,有点问题.来请教大家了
- 证券secuerity英语
- Cannot pull, git cannot resolve reference ORIG_HEAD
- oracle between and 边界查询用法
- loopback接口介绍
- 谷歌浏览器Google如何设置站点弹出窗口
- Arcgis开发系列2 - 修改arcgis infowindow 放大和缩小的模板
- 5、C++结构体的使用
- CARLA 学习笔记1:CARLA简介
- LaTex论文排版 | latex插入图片