开发板 : JZ2440
Linux内核 : Linux-2.6.22.6
Busybox1.29.3
最小根文件系统所需的部分:
1./dev/console /dev/null :创建根文件系统所必备的,指出了所需要的标准输入,标准输出,标准错误设备终端。
2.init 程序: 当busybox安装好时,init程序文件已有。
3./etc/inittab:
4.配置文件指定的应用程序;
5.c库
一、编译安装busybox:生成init
make menuconfig :创建一个.config的文件
make CROSS_COMPILE := arm-linux-
make CONFIG_PREFIX=/path install :将busybox安装到指定的文件中;
(不要直接make,避免对其他文件造成损坏,新建目录/work/nfs_root/first_fs,安装于此)
安装完成后有 bin linuxrc->bin/busybox sbin usr 目录
二、创建/dev/console /dev/null
查看设备文件中两个文件的相关信息,并以此创建
crw
c表示字符设备文件,b表示块设备文件,l表示符号链接文件,r表示可读权限,w表示可写权限。
5, 1 与1, 3表示主从设备
sudo mknod console c 5 1
sudo mknod null c 1 3
三、init程序已在busybox中建成
四、创建/etc/inittab
若不创建,则使用默认配置项
/etc/inittab文件中的每一个条目用来定义一个子进程,并确定启动方法
此处只添加console::askfirst:-bin/sh
五、配置文件指定的应用程序;
.现只做最小根文件系统,所以没有指定的用户程序
六、C库
glibc库所在的位置:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib
进入目录看到主要的分类
此处只需要用到动态库文件.so
创建lib目录,并复制库文件
cp *.so* /work/nfs_root/first_fs/lib/ -d
(-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;)
最小根文件系统
如何将根文件系统烧写到储存设备上去?
制作yaffs文件系统映像文件,见下节