如何制作Debian最小根文件系统
1、最小根文件系统
内容包括
1./dev/console,/dev/null 2.init程序,由busybox创建 3./etc/inittab(配置文件) 4.配置文件指定的应用程序 5.C库
2、配置,编译busybox
busybox将众多的UNIX命令集合到一个很小的可执行程序中,它为提供的 选项少,但能够满足一般应用,为各种小型的或者嵌入式系统提供了一个比 较完整的工具集。
使用busybox创建最小根文件系统时,只需要在/dev目录下创建必要的设备节点,在/etc目录下创建一些配置文件即可。
1.解压
book@book-desktop:/work/system$ tar xjf busybox-1.7.0.tar.bz2
2.编译
参考\busybox-1.7.0\INSTALL
1 make menuconfig # This creates a file called ".config"
2 make # This creates the "busybox" executable
3 make install # or make C ONFIG_PREFIX=/path/from/root install
3、第一步:
make menuconfig
编译完成后,生成.config文件,并读取.config配置信息
4、修改Makefile,设置交叉编译
设置tab completion
第二步:执行make
book@book-desktop:/work/system/busybox-1.7.0$ make
注意:第一次编译时出错,错误信息如下,原因是没有修改Makefile中的交叉编译
5、第三步:安装
注意:千万不要直接make install,该命令会安装到PC机中,将破坏系统
①创建一个目录
book@book-desktop:/work/system/busybox-1.7.0$ mkdir -p /work/nfs_root/first_fs
②把busybox安装到该文件夹下
book@book-desktop:/work/system/busybox-1.7.0$ make CONFIG_PREFIX=/work/nfs_root/first_fs install
③进入文件夹查看
book@book-desktop:/work/nfs_root/first_fs$ ls bin linuxrc sbin usr
6、构造最小根文件系统
busybox安装后,已经有了基本的目录。继续创建其他目录。
1.创建设备文件:/dev/console,/dev/null
仿照PC,使用mknod创建
7、2.构造/etc/inittab(配置文件)
book@book-desktop:/work/nfs_root/first_fs$ mkdir etcbook@book-desktop:/work/nfs_root/first_fs$ vi etc/inittab
在inittab中添加下面内容
console::askfirst:-/bin/sh
8、3.安装C库
将目录/work/tools/gcc-3.4.5-glibc-2.3.6/arm-Linux/lib下的库文件拷贝到lib目录下
book@book-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$ mkdir /work/nfs_root/first_fs/lib
book@book-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$ cp *.so* /work/nfs_root/first_fs/lib/ -d
此时,这就是我们的最小根文件系统。
book@book-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$ cd /work/nfs_root/first_fs
book@book-desktop:/work/nfs_root/first_fs$ ls
bin dev etc lib linuxrc sbin usr