创建根文件系统

一. 编译安装busybox

在busybox代码安装文档里有说明:

[cpp]  view plain copy
  1. make menuconfig     # This creates a file called ".config"  
  2. make                # This creates the "busybox" executable  
  3. make install        # or make CONFIG_PREFIX=/path/from/root install  

1. 编译busybox要注意,先要配置交叉编译环境。

如果在make menuconfig里没有地方设置的话,可以修改Makefile原文件, 加上arm-linux-前缀。

[cpp]  view plain copy
  1. CROSS_COMPILE   ?= arm-linux-  
2. 最后一步安装时,注意要加上你要安装的路径,如果不加就会被安装到系统里去。

[cpp]  view plain copy
  1. make CONFIG_PREFIX=/workspace/nfs_root install  
安装完后会生成以下一些东西:

/bin
/sbin
/usr

linuxrc

二. 安装glibc库

因为在交叉编译器里已经包含glibc库了,我们直接把它全部拷贝进来。
[cpp]  view plain copy
  1. cd ../gcc-3.4.5-glibc-2.3.6/arm-linux/lib$  
  2. cp *.so /home/s3c/workspace/nfs_root/lib -d  

三. 构建根文件系统

1. 先创建终端

[cpp]  view plain copy
  1. mkdir dev  
  2. cd dev/  
  3.   
  4. mknod console c 5 1 //创建终端设备,c 为字符设备,主设备号为5,次设备号为1  
  5. mknod null c 1 3  

这样就创建了dev/console 和 dev/null。

2. 构建 etc目录

2.1 创建 etc/inittab 文件

inittab格式如下:

[cpp]  view plain copy
  1. #         ::sysinit:/etc/init.d/rcS  
  2. #         ::askfirst:/bin/sh  
  3. #         ::ctrlaltdel:/sbin/reboot  
  4. #         ::shutdown:/sbin/swapoff -a  
  5. #         ::shutdown:/bin/umount -a -r  
  6. #         ::restart:/sbin/init  

22 创建 etc/init.d/rcS 文件

在rcS里可以加上自己想要启动的脚本。

2.3 创建 etc/fstab 文件

fstab格式如下:

[cpp]  view plain copy
  1. proc        /proc   proc    defaults    0   0  

一般 mount -a 会读取fstab文件。

3. 构建dev目录

3.1 使用 mdev 创建设备文件

mdev 是 udev 的简化版,在 busybox 里有说明和使用:

[cpp]  view plain copy
  1. # Here's a typical code snippet from the init script:  
  2. #[1] mount -t sysfs sysfs /sys  
  3. #[2] echo /bin/mdev > /proc/sys/kernel/hotplug  
  4. #[3] mdev -s  
  5.   
  6. # Of course, a more "full" setup would entail executing this before the previous  
  7. # code snippet:  
  8. #[4] mount -t tmpfs mdev /dev  
  9. #[5] mkdir /dev/pts  
  10. #[6] mount -t devpts devpts /dev/pts  
3.2 静态创建调备文件

也就是手动创建。当然也可以从其它系统中拷贝过来,因为linux下都差不多。

4. 构建其它目录

[cpp]  view plain copy
  1. mkdir proc mnt tmp sys root  
手动创建这些目录。这样一个小的根文件系统就创建完成了。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值