Lession 7 文件系统移植实践一:基于busybox制作可用根文件系统
一个开发中实用的根文件系统,还需要完善哪些内容,怎样来部署一个根文件系统?
一、完善根文件系统
-
check程序运行库:/lib/
从交叉编译工具目录拷贝
libpthread.so libthread_db.so
libresolv.so
librt.so -
check配置文件: /etc目录
/etc/inittab
/etc/fstab: 文件内容与格式介绍, man fstab
设备名称(分区) 挂载点 文件系统类型 挂载选项 备份检查[0|1] fsck优先级[0|1|2]
defaults 使用默认设置,等于rw,suid,dev,exec,auto,nouser,async
内核文件系统挂载:proc
/etc/profile:环境变量的设置与导出
#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin
LD_LIBRARY_PATH=/lib:/usr/lib:$LD_LIBRARY_PATH
export PATH LD_LIBRARY_PATH
/etc/resolv.conf
DNS配置: nameserver 192.168.10.1 -
check启动脚本:/etc目录
/etc/init.d/rcS
for script in /etc/init.d/S[0-9][0-9]*
do
if [ -x $script ];then
/bin/sh -c $script
fi
done
/etc/init.d/S80network:网络配置
ifconfig eth0 hw ether 00:aa:11:cc:01:10
静态配置:
ifconfig eth0 192.168.10.111 broadcast 255.255.255.0
route add default gw 192.168.10.1
动态配置:
udhcpc -i eth0 -t 20 -naq
二、 制作文件系统镜像
二进制镜像是根文件系统的目录结构以某种数据组织格式打包成的二进制文件
组织格式:文件系统格式
cramfs jffs2 yaffs2 …
产品的生产部署阶段使用:批量烧录到产品
镜像可以方便地进行存储、分发与部署
总结:
实践取决于应用需求,原理是相通的,但是不同的需求决定需要包含哪些内容。