嵌入式linux内核与根文件系统制作

制作嵌入式平台使用的linux内核,方法和制作pc平台的linux内核基本一致,下面使用对比的方法介绍如何制作用于mini2440开发板的内核。


1--清除原有配置和中间文件

x86-make distclean

arm-make distclean


2--配置内核

x86-make menuconfig

arm-make menuconfig ARCH=arm

nfs与ramdisk启动区别,选择不同的配置选项

nfs---nfs client support

---root file system on nfs

3--编译内核

x86-make bzImage

arm-make uImage ARCH=arm CROSS_COMPILE=arm-linux-


根文件系统----是linux启动时使用的第一个文件系统。没有根文件系统,linux将无法正常启动。根文件系统由一系列目录组成,目录中包含了应用程序,c库,以及相关的配置文件。

制作----

1--创建根文件系统目录

2--创建设备文件

cd dev/

mknod -m 666 console c 5 1

mknod -m 666 null c 1 3

3--安装/etc

tar etc.tar.gz -C /xxx/rootfs

4--编译内核模块

进入linux内核目录

make modules ARCH=arm CROSS_COMPILE=arm-linux-

编译好的内核模块在内核源代码相应目录,下面的安装是将其拷贝到根文件系统/xxx/rootfs

5--安装内核模块

make modules_install ARCH=arm INSTALL_MOD_PATH=/xxx/rootfs

6--配置busybox---进入busybox目录执行make menuconfig

--busybox setting---build options---build busybox as a static binary静态链接

---cross compiler prefix(arm-linux-)

--installation options--

选中do not use/usr. 选中该项,可以避免busybox被安装到宿主系统的/usr目录下,破坏宿主系统。

----busybox installation prefix(/xxx/rootfs)

该选项表明编译后的busybox的安装位置。


7--编译,安装busybox

make ARCH=arm CROSS_COMPILE=arm-linux-

编译后,在当前目录下有个busybox 可执行文件

make install

安装后,根文件系统下bin目录下有很多命令,都是链接文件,都链接到busybox。

根文件系统下sbin下也有很多,但坚持有Init否。内核启动最后,会从内核转到用户空间,会找init这个文件。





  


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值