根文件系统的制作
嵌入式系统包含多个文件系统但是第一个(根文件系统)是必须的。
一、创建目录
# mkdir rootfs
# cd rootfs
# mkdir bin dev etc lib proc sbin sys usr mnt tmp var
# mkdir usr/bin usr/lib usr/sbin lib/modules
二、创建设备文件
# cd rootfs/dev
# mknod -m 666 console c 5 1
# mknod -m 666 null c 1 3
其中:
console是设备的名字
c指的是字符设备
5指的是该设备在major.c中定义的标记
1指的是第一个设备
三、加入配制文件
这里是国嵌提供的配置文件,复制到linux下面解压,并且将全部内容复制到新建的rootfs文件系统目录下面
# tar xvzf etc.tar.gz
# mv xvzf etc/* …/rootfs/etc/ -rf
四、添加内核模块
4.1进入内核文件目录
#cd .../linux
4.2编译内核模块
#make modules ARCH=arm CROSS_COMPILE=arm-linux-
4.3将内核模块安装到新建的文件系统下面
执行:
#make modules_install ARCH=arm INSTALL_MOD_PATH=/home/rootfs
安装成功如下:
五、编译安装busybox
BusyBox 是一个集成了一百多个最常用linux命令和工具的软件。BusyBox 包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具,例grep、find、mount以及telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 Android 系统的自带的shell。
5.1配置busybox
这里的busybox是由国嵌视频中提供的
#make menuconfig ARCH=arm
进入Busybox Setting -->
1.进入Bulid Options-->
选中Build busybox as a static binary 静态链接
Cross Compiler prefix(arm-linux-)
2.进入Installation Options-->
选中Don,t use /usr 选中该项可以避免busybox白安庄到宿主系统的/usr目录下,破坏宿主系统
Busybox Installation Prefix (/xxx/rootfs)该选项表明编译后的busybox的安装位置
5.2编译安装busybox
执行:make
执行:make install 进行安装