系统构建:根文件系统制作

制作根文件系统

 

一、创建根文件系统目录

mkdir rootfs

cd rootfs

mkdir bin dev etc lib proc sbin sys usr mnt tmp var

mkdir usr/sbin usr/bin usr/lib usr/modules

 

二、创建文件设备

cd dev

mknod –m 666 console c 5 1

mknod –m 666 null c 1 3

 

三、安装/etc

 

tar etc.tar.gz –C /XXX/rootfs

 

四、编译内核模块

 

进入Linux内核目录

       Make modules ARCH=arm CROSS_COMPILE=arm-linux-

 

五、安装内核模块

 

make modules_install ARCH=arm INSTALL_MOD_PATH=/xxx/rootfs

 

六、配置busybox

 

进入busybox目录后,执行 make menuconfig

a)         进入Busybox Settings ->

                      i.              Build Options->

1.         选中“Build busybox as a static binary”,静态链接

2.         Cross Compiler prefix (arm-linux-)

                      ii.              Installation Options->

                 1.选中”Don’t use /usr/”,选中该项可以避免busybox被安装宿主系统的/usr目录下,破坏主系统

                 2.Busybox Installation Prefix (/xxx/rootfs)  该选项表明编译后的busybox的安装位置

 

七、编译、安装Busybox

 

make ARCH=arm CROSS_COMPILE=arm-linux-

make install

 

八、基于已经制作好的根文件系统,可进一步制作基于不同文件系统格式的二进制文件

a)         制作ramdisk

genext2fs –b 8192 –d /xxx/rootfs ramdisk  //genext2fs为产生ramdisk的工具

gzip -9 –f ramdisk

b)        制作cramfs

mkcramfs /xxx/rootfs rootfs.cramfs  //mkcramfs 为创建cramfs的工具

c)         制作YAFFS

mkyaffsimage /xxx/rootfs rootfs.yaffs

posted @ 2012-04-14 12:59  ITMelody  阅读(285)  评论(0编辑  收藏  举报