Android成功刷到beagle board ^_^

2019-07-12 23:44发布

捣鼓了3天, 终于成功把android刷到beagle board上面了.
beagle board是个很小型的计算机主板, 一般可以运行各种嵌入式linux, 比如Ångström.
详细specs看这里:
[img]http://lordhong.iteye.com/upload/picture/pic/34847/cc389ed3-e601-3f56-b6dd-81bebdc7496c.png[/img]

具体刷机guide看这里: [url]http://labs.embinux.org/index.php/Main_Page[/url]

个人经验概述一下, 首先是要编译boot用的kernel. 这个没什么难度, 按照guide就可以了.
一般用ubuntu就可以了, 一些lib安装下就行了.

然后要编译android. 这个Mac或者ubuntu都可以, 但切记你的电脑一定要有大于1G的内存... 编译过程中java占用的内存那个可怕... 我起先用我的PIII 500MHz + 192MB内存跑了2天还没搞定 :cry: ... 然后一台Pentium M + 512MB 内存跑了大半天也没搞定... :cry: 血泪的教训啊~~~

git clone + repo sync android的源代码后, apply几个patch, 就可以开始make编译了.

编译完了的是android的file system.

按照这里的步骤:[url]http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat[/url]
来制作带vfat和ext3系统的启动SD卡. vfat放uImage, ext3放android.

链接好beagle board, SD卡先不用放进去.
[img]http://lordhong.iteye.com/upload/picture/pic/34833/08c27fe3-eaeb-3489-8746-401b34bf5951.jpg[/img]
启动后出现命令行, 再插入SD卡, 然后输入:
mmcinit // 启动mmc
fatload mmc 0 0x80300000 uImage // 把uImage load到mmc的内存地址0x80300000
然后输入boot arguments:
setenv bootargs console=ttyS2,115200n8 root=/dev/nfs rw nfsroot=192.168.1.5:/data/target ip=192.168.1.1::255.255.255.0 nolock,rsize=1024,wsize=1024 rootdelay=2
video=omapfb:mode:1280x720@50 init=/init
bootm 0x80300000 // 然后启动在0x80300000的uImage

一切顺利+人品好的话, android系统就出来了 ^_^
[img]http://lordhong.iteye.com/upload/picture/pic/34841/384c2ef4-47ab-3a19-9e51-0bd5193b0aa7.jpg[/img]
[img]http://lordhong.iteye.com/upload/picture/pic/34837/88ed54b8-b427-391c-8ee4-2dcec104ae7c.jpg[/img]
[img]http://lordhong.iteye.com/upload/picture/pic/34839/07a64fa6-f1ce-3e22-970d-9a146b5daa62.jpg[/img]
[img]http://lordhong.iteye.com/upload/picture/pic/34835/a4ae5f61-6a9d-3fe6-bcf5-4c5e23c7ea99.jpg[/img]
[img]http://lordhong.iteye.com/upload/picture/pic/34843/388db1b5-8718-38ff-937d-68a15d35cf1b.jpg[/img]
[img]http://lordhong.iteye.com/upload/picture/pic/34845/29caa1f0-0cec-3e8d-86f1-b63c6632cea1.jpg[/img]