基于android的NFS根文件系统的制作
http://shenhao0129.blog.163.com/blog/static/67192441201142505924606/
由于我们之前使用的是网络上已经制作好了的armv4版本的根文件系统,虽然能看到android的图形界面,但是功能还是不完善,并且都以及功能是固定好了的东西,触摸屏校正程序也不能加入进去,所以只能移植过来玩玩而已,最终的目的,肯定还是自己完全定制属于自己的根文件系统。
交叉编译器的版本:CodeSourcery Sourcery G++ Lite 2007q1-21
目标平台:GEC2410
busybox:1.15.0(原来使用的是1.18.4的,由于后面有问题,换回到了1.15.0,其实几乎是一样的设置)
1.下载并解压缩busybox的源代码(http://www.busybox.net/downloads/)
2.为制作根文件系统的的根目录,这里我就直接利用之前制作的android的那个文件系统的目录,这样省去了重新设置NFS服务器的部分,我的就是/home/shenhao/nfs,由于之前里面有了许多的android的根文件系统的文件,首先需要清空这个目录,切换到nfs目录,执行sudo rm -rf * 注意这里一定要切换到相应的目录,否则系统很可能直接挂掉了。也可以采取自己喜欢的办法,总之是建议一个可以使用的空目录,并且在你的NFS的服务器的配置上挂载此目录就可以了。
3.清空了这个目录之后,就可以开始手动创建必要的文件夹和子文件夹了。以下步骤都是在NFS文件夹中操作的,具体的步骤如下:(好多人似乎都是用脚本的,但是我不想切换到root账户,所以就手动来处理了)
(1)mkdir bin dev etc lib proc sbin sys usr
(2)mkdir usr/bin usr/lib usr/sbin lib/modules
(3)sudo mknod -m 600 dev/console c 5 1
(4)sudo mknod -m 666 dev/null c 1 3
(5)mkdir mnt tmp var
(6)mkdir mnt/etc mnt/data mnt/temp
(7)mkdir var/lib var/lock var/log var/run var/tmp
(8)chmod 1777 tmp
(9)chmod 1777 var/tmp
(10)mkdir home root boot
4.经过漫长的建立目录的过程后,切换到busybox解压后的目录,对busybox进行相关的配置,首先还是修改Makefile,配置交叉编译器,具体我的修改如下:
CROSS_COMPILE ?= arm-none-linux-gnueabi-
ARCH ?= arm
5.执行make menuconfig 配置相关的选项,这里我只是修改很小的一部分,具体的修改如下:
Busybox Settings->Installation Options ->确保选中Don't use /usr
Installation Opthions->BusyBox installation prefix 修改为/home/shenhao/nfs
也就是你的根文件系统所在的目录,一定要写正确,否则一不小心安装到了系统目录的话,可能就不好搞了(我原来有次手动构建交叉编译器gcc的时候,一不小心把系统的库替换了,导致只能重装系统,幸好当时是虚拟机)
Busybox Setttings->Busybox Libray Tuning->
(2)MD5:Trade Bytes for Speed
[*]Faster /proc scanning code (+100 bytes)
[*]Support for /etc/networks
[*]Use termios to manipulate the screen
[*]Command line editing
http://shenhao0129.blog.163.com/blog/static/67192441201142505924606/
由于我们之前使用的是网络上已经制作好了的armv4版本的根文件系统,虽然能看到android的图形界面,但是功能还是不完善,并且都以及功能是固定好了的东西,触摸屏校正程序也不能加入进去,所以只能移植过来玩玩而已,最终的目的,肯定还是自己完全定制属于自己的根文件系统。
交叉编译器的版本:CodeSourcery Sourcery G++ Lite 2007q1-21
目标平台:GEC2410
busybox:1.15.0(原来使用的是1.18.4的,由于后面有问题,换回到了1.15.0,其实几乎是一样的设置)
1.下载并解压缩busybox的源代码(http://www.busybox.net/downloads/)
2.为制作根文件系统的的根目录,这里我就直接利用之前制作的android的那个文件系统的目录,这样省去了重新设置NFS服务器的部分,我的就是/home/shenhao/nfs,由于之前里面有了许多的android的根文件系统的文件,首先需要清空这个目录,切换到nfs目录,执行sudo rm -rf * 注意这里一定要切换到相应的目录,否则系统很可能直接挂掉了。也可以采取自己喜欢的办法,总之是建议一个可以使用的空目录,并且在你的NFS的服务器的配置上挂载此目录就可以了。
3.清空了这个目录之后,就可以开始手动创建必要的文件夹和子文件夹了。以下步骤都是在NFS文件夹中操作的,具体的步骤如下:(好多人似乎都是用脚本的,但是我不想切换到root账户,所以就手动来处理了)
(1)mkdir bin dev etc lib proc sbin sys usr
(2)mkdir usr/bin usr/lib usr/sbin lib/modules
(3)sudo mknod -m 600 dev/console c 5 1
(4)sudo mknod -m 666 dev/null c 1 3
(5)mkdir mnt tmp var
(6)mkdir mnt/etc mnt/data mnt/temp
(7)mkdir var/lib var/lock var/log var/run var/tmp
(8)chmod 1777 tmp
(9)chmod 1777 var/tmp
(10)mkdir home root boot
4.经过漫长的建立目录的过程后,切换到busybox解压后的目录,对busybox进行相关的配置,首先还是修改Makefile,配置交叉编译器,具体我的修改如下:
CROSS_COMPILE ?= arm-none-linux-gnueabi-
ARCH ?= arm
5.执行make menuconfig 配置相关的选项,这里我只是修改很小的一部分,具体的修改如下:
Busybox Settings->Installation Options ->确保选中Don't use /usr
Installation Opthions->BusyBox installation prefix 修改为/home/shenhao/nfs
也就是你的根文件系统所在的目录,一定要写正确,否则一不小心安装到了系统目录的话,可能就不好搞了(我原来有次手动构建交叉编译器gcc的时候,一不小心把系统的库替换了,导致只能重装系统,幸好当时是虚拟机)
Busybox Setttings->Busybox Libray Tuning->
(2)MD5:Trade Bytes for Speed
[*]Faster /proc scanning code (+100 bytes)
[*]Support for /etc/networks
[*]Use termios to manipulate the screen
[*]Command line editing