在BeagleBoard XM 开发板上运行Android


虽然购买BeagleBoard的最终目的是想在上面运行QNX系统,不过既然BeagleBoard板支持Androind而且ChipSee在附带的关盘里提供了Android系统,就先运行测试一下吧。

在BeagleBoard上运行Android就不像运行WinCE那么简单了,因为附带的测试SD卡里没有部署好的Android系统,需要自己做一张有Android系统的SD卡。

和大家分享一下我自己制作Andoird系统卡的过程,从中大家也可以了解一些可能遇到的困难。

首先,在ChipSee提供的附带光盘了,有一个目录名叫“SoftWare\Android”。我打开看了下,有源代码目录(source),Android应用目录(Apk)和 PrebuiltImage目录等,其中的PrebuiltImage目录里就是已经编译好的Android系统。目前没有计划深入研究Android系统,就不准备自己编译Android系统了,直接使用这里提供的Android系统。

剩下的问题是如何将这个Android系统做进SD卡里,在PrebuiltImage目录有一个readme文件,www.bkjia.com里面有一个简要说明,说的比较明确了,部分原文如下:

------------------------------------------------------------------------

Please copy the file "BeagleBoard_ChipSee.tar.gz" to your PC under Linux

Run:
tar zxvf BeagleBoard_ChipSee.tar.gz
then go to the folder "BeagleBoard_ChipSee"
And push in your uSD card, run
./mkmmc-android.sh /dev/sdb

-------------------------------------------------------------------------

意思就是将BeagleBoard_ChipSee.tar.gz文件拷贝到一个Linux环境下,对文件进行解压,然后插入SD卡,运行BeagleBoard_ChipSee目录下的mkmmc-android.sh命令,以/dev/sdb为参数。

虽然readme文件说的比较详细了,但是我实施起来还是费了一些周折。

我没有运行Linux操作系统的PC,所以我需要准备一个VMWare安装一个Linux系统,我手上没有现成的Linux虚拟机,几年前编译的Fedora虚拟机不知道放哪里了。

那么就现安装一个Linux 虚拟机吧,安装什么Linux好呢,在网上查了一下,好多人用Ubuntu。于是就去网上下了一个Ubuntu 11.04,文件名是:ubuntu-11.04-desktop-i386.iso,是个影像文件。

配置一个虚拟机,以ubuntu-11.04-desktop-i386.iso作为安装镜像,很快安装好了Ubuntu,顺便说一下,Ubuntu使用起来还挺顺的。

然后找了一张4G的SD卡,因为网上很多人都建议使用4G的卡,后来发现不需要这么大的SD卡。

在找一个读卡器,现在SD卡的读卡器比较常见了,你要是没有去电脑城买一个。

将SD卡放入读卡器,再将读卡器插入电脑,“可恶”的Win7操作系统直接认出来U盘,在VMWare上运行着的Ubuntu就无法检测到读卡器了。

在新版的VMware上,有菜单项“VM-> Removable Device”,可以选择在虚拟机上使用USB口设备,选择后Ubuntu就认到读卡器了,还直接mount出来,mount到了/media目录下。

这时想起来还需要拷贝BeagleBoard_ChipSee.tar.gz文件到Ubuntu上,看到Ubuntu可以认到读卡器里的SD卡,就直接通过这个SD卡来拷贝BeagleBoard_ChipSee.tar.gz文件了,不用FTP什么的那么麻烦。

重新将读卡器连接回Windows,拷贝文件BeagleBoard_ChipSee.tar.gz到SD卡上,再选择在VMWare上使用该SD卡。

将BeagleBoard_ChipSee.tar.gz拷贝到Ubuntu上,使用tar命令解压该文件。

在Ubuntu界面左上角有应用菜单,里面有Terminal应用,通过这个应用打开Ubuntu的命令行界面,执行以下命令:

tar zxvf BeagleBoard_ChipSee.tar.gz

然后进入BeagleBoard_ChipSee目录运行:

./mkmmc-android.sh /dev/sdb

第一次运行失败,说只有root有权限执行对应操作。

第二次加了sudo, 命令格式如下:

sudo ./mkmmc-android.sh /dev/sdb

输入Ubuntu用户密码后运行成功。

最好将做好的SD卡插入BeagleBoard, 运行结果如下图,注意,如果你家有wifi路由器,不能将它设置成WEP认证方式,会影响BeagleBoard上的Android启动,readme.txt文件里有说明。

相关内容