mini2440 linux2.6 内核制作-根文件系统制作

上篇我写了一个关于内核制作的文章,但是只有内核是不能运行linux,还需要根文件系统。下面我们就来介绍根文件系统。

要用到工具,busybox,和一个打包文件(在光盘linux目录下可以找到)--etc.tar.gz.

现在已经报两个文件拷贝到了 ~/working文件夹下。

解压 busybox-1.13.3-mini2440

tar xvzf busybox-1.13.3-mini2440.tar.gz


因为后期要将根文件使用nfs来共享,所以我们这里要在nfs文件夹下建立根文件系统 rootfs文件夹

mkdir -p ./nfs/rootfs

cd nfs/rootfs


创建根文件系统的子目录:

mkdir bin dev etc lib proc sbin sys usr mnt tmp var

cd usr

mkdir bin lib sbin
cd  ..

cd lib

mkdir modules

这样把根文件系统所需要的基本子目录创建成功了。


现在创建设备文件:

cd dev

mknod -m 666 console c 5 1(可能会用到root账户)sudo

mknod -m 666 null c 1 3


把etc文件拷贝过来

tar xvzf ~/working/etc.tar.gz -C ../(解压到rootfs 目录下)

输出:

etc/
etc/inittab
etc/profile
etc/fstab
etc/init.d/
etc/init.d/rcS


接下来,编译内核模块:

到我们解压的 linux-2.6.29下。

make modules ARCH=arm CROSS_COMPILE=arm-linux-


安装内核模块:

make modules_install ARCH=arm INSTALL_MOD_PATH=~/working/nfs/rootfs


输出:

INSTALL drivers/char/mini2440_hello_module.ko
INSTALL drivers/scsi/scsi_wait_scan.ko
DEPMOD  2.6.29.4-FriendlyARM
在 /nfs/rootfs/lib/modules/可以看到 2.6.29.4-FriendlyARM文件夹,这样内核模块安装成功。

这一步主要是将 .ko文件放到 rootfs的lib的modules下


配置busybox

到busybox 目录下

然后

make menuconfig

Busybox Settings  --->  Build Options  --->  Build BusyBox as a static binary (no shared libs) 这里就是使用静态库


再往下: (arm-linux-) Cross Compiler prefix

前面文章我搭建交叉编译环境是 编译器为 arm-linux-,所以这里是 这样。


设置完成后,进入Installation Options
选中 Don't use /usr   防止把这些命令安装到了宿主机中

再把下面的目录修改到 rootfs 路径下。

~/working/nfs/rootfs 

然后可以退出,至于其他,可以看看,比如在Editor下面 ,有vi,这样如果选中,就可以为2440上面安装vi编辑器。


退出保存


现在要进行编译了

make ARCH=arm CROSS_COMPILE=arm-linux-


完成后安装

make install


完成后,就可以看到 rootfs目录下的bin sbin 中就有命令程序了。

现在根文件系统就完成了。


下一篇,就开始使用nfs启动根文件系统了




 







  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值