arm linux 根文件系统制作

时间:2021-09-08 00:40:01

准备:创建rootfs目录,用于保存文件系统

#mkdir rootfs


1、在rootfs中创建一些必要的目录

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


2、创建设备文件

#cd rootfs/dev
#mknod -m 666 console c 5 1
#mknod -m 666 null c 1 3


3、加入配置文件(配置文件与体系结构无关)

#cp etc/* rootfs/etc -rf


4、进入自己的linux内核目录添加内核模块

#cd .../linux
#make modules ARCH=arm CROSS_COMPILE=arm-linux-
#make modules_install ARCH=arm INSTALL_MOD_PATH=.../rootfs


5、编译、安装busybox

5.1、配置busybox

#cd .../busybox
#make menuconfig

Busybox Settings->build Options->

选中“Build BusyBox as a static binary”

Cross Compiler prefix选项中填入arm-linux-


Busybox Settings->Installation Options->

选中“Don't use /usr”避免busybox被安装到宿主机的/usr目录下

BusyBox installation prefix中填入/xxx/rootfs(自己rootfs的绝对地址),表明编译后busybox的安装位置

退出并保存

5.2、编译busybox

#make
#make install


进入自己的根文件系统目录.../rootfs

#cd .../rootfs
#ls
#bin dev etc lib linuxrc mnt proc sbin sys tmp usr var

1、在rootfs/中创建一个到rootfs/bin的软连接(千万别连到宿主机的/bin)
#cd .../rootfs
#ln -s ./bin/busybox init
#ls
#bin dev etc init lib linuxrc mnt proc sbin sys tmp usr var

到此根文件系统制作完毕.../rootfs便是根文件系统的目录