1.5.7 提取Android 根文件系统

上一节我们成功地在Android 模拟器下运行了Android 程序,但如果要把结果写进开发板,则需要得到Android的根文件系统,步骤如下:

连接虚拟机,如图1.11所示。

图1.11 连接虚拟机

      #./adb shell

将busybox 放入模拟器目标机文件系统中,如图1.12所示。

图1.12 将busybox放入模拟器

下一步把/system、/data、/sbin 目录及根目录下的init、init.rc 等都放入sdcard 的image中,如图1.13所示。

图1.13 使用busybox

结果如图1.14所示。

图1.14 结果

在主机上以loop 方式mount sdcard 的image,并将其中的文件放到EZ6410 的根文件系统下,代码如下:

      root@ffarsight:/mnt/sdc/android-sdk-linux_x86-1.6_r1/tools# modprobe loop
      root@ffarsight:/mnt/sdc/android-sdk-linux_x86-1.6_r1/tools#  mount  -o  loop  sdcard.img
  /mnt/sd
      root@ffarsight:/mnt/sdc/android-sdk-linux_x86-1.6_r1/tools# cd /mnt/sd
      root@ffarsight:/mnt/sd# ls
      android.tar  lost.dir

在原有的Linux的NFS文件系统目录下创建一个新的目录rootfs_test,并把android.tar解压到rootfs_test目录下。

      # tar xvf android.tar -C /source/rootfs_android/rootfs_test/

在NFS服务目录/source/rootfs_android下添加一个文件android.sh,如图1.15所示。

图1.15 添加android.sh