制作根文件系统
一、创建根文件系统目录
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