Android 下 根文件系统的制作
主要过程
1.安装Linux环境
2.安装编译工具
3.安装 Android SDK
4.编译 busybox
5.获得 本文件系统
1.Linux 环境 Red Hat Enterprise Linux 4
2.编译环境
我上面有三个编译工具链:
arm-linux- arm-elf- arm-none-linux-gnueabi-
我用的是 arm-none-linux-gnueabi-
3.安装 Android SDK
4.编译 busybox
make menuconfig
Busybox Settings ->
Build Options ->
[*] Build BusyBox as a static binary (no shared libs) 这个要选上,因上这样子编
译出来的busyBox才是可以独立运行的。
()Cross Compiler prefex 打开写上编译工具链的路径跟前缀
我的是这样的: /opt/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-
Installation Options->
[*] Don’t use /usr 这样子编译出来的busybox才不会安装到你主机的/usr目录下
。一定要选上。
$ make
我在此过程中没有出现任何错误
网上一些帖子说编译的时候找不到头文件,解决的方法是 指定编译工具链的头文件所在
的路径
因为要把常用的命令安装到 Android 中
$ make install 这样就会把所有命令提取出来
其余任务在下一步完成
5.获得 本文件系统
$ cd <目录>/android-sdk_m5-rc15_linux-x86/tools
$ ./emulator &
<待续,跟目前所说无关>
$ ./adb shell
# cd data/
# mkdir busybox //在data目录下创建busybox文件夹
# cd busybox
# mkdir bin //方便接下来导入命令
# cd ../../..
# ./adb /_install/bin /data/busybox/bin
# export PATH=$PATH:/data/busybox/bin
# tar -czf system.tar.gz /system
# tar -czf data.tar.gz /data
# tar -czf etc.tar.gz /etc
# tar -czf sbin.tar.gz /sbin
# exit // 期间可能出现关于‘ / ’的提示,不过不影响结果
$ ./adb pull /system.tar.gz ./
$ ./adb pull /data.tar.gz ./
$ ./adb pull /etc.tar.gz ./
$ ./adb pull /sbin.tar.gz ./
$ ./adb pull /init ./
// 此时会在 Android 文件夹中出现以上几个 打包文件
制作initial_ram_disk
$ mkdir initial_ram_disk
$ cd initial_ram_disk
$ mkdir cache d dev proc root sdcard sys tmp var
把之前的几个打包文件解压缩到此,并把 init文件拷贝过来
此时 Android根文件系统 initial_ram_disk 就做好了
当然,这只是内核移植的一部分。等我把Android 内核移植成功后,我会把后续的过程贴
出来。
阅读(2757) | 评论(0) | 转发(0) |