制作文件系统
1 创建文件系统目录
-
echo "------Create rootfs directions------"
-
mkdir rootfs
-
cd rootfs
-
echo "------Create bin dev.........."
-
mkdir bin dev etc lib proc sbin sys usr mnt tmp var
-
mkdir usr/sbin usr/bin usr/lib usr/modules
2 创建文件设备
-
mknod –m 666 console c 5 1
-
mknod –m 666 null c 1 3
-
-
cd ..
3 安装/etc
-
tar etc.tar.gz –C /XXX/rootfs /*该包从网上下载*/
4 编译内核模块
进入Linux内核目录
-
Make modules ARCH=arm CROSS_COMPILE=arm-linux-
5 安装内核模块
-
make modules_install ARCH=arm INSTALL_MOD_PATH=/xxx/rootfs
6 配置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的安装位置
7 编译、安装Busybox
-
make ARCH=arm CROSS_COMPILE=arm-linux-
-
-
make install
8 基于已经制作好的根文件系统,可进一步制作基于不同文件系统格式的二进制文件
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
阅读(901) | 评论(0) | 转发(0) |