linux学习--嵌入式linux根文件制作

2019-07-13 02:45发布

1· 创建根文件系统的目录
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

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. 编译内核模块  //
make modules ARCH=arm CROSSCOMPILE=arm-linux-
5. 安装内核模块到根文件系统中
make  modules_install ARCH=arm install_MOD_PATH=/XXX/rootfs
6. 配置busybox
进入busybox目录执行 make menuconfig 进入Busybox Settings->build Options 选中 Buid busybox as a static binary Cross Compile prefix 设置为 arm-linux- 选中 Dont  use /usr  //避免busybox被安装到宿主系统的/usr 目录下
7. 编译安装busybox
make ARCH = arm COROSCOMPILE=arm-linux- make install
8.在内核中使用initramfs
内核配置中进入 General setup->Initial RAM filesystem and ARM disk (initramfs/initrd) support 指明你自己建立的根文件系统的路径 /xxx/rootfs 保存退出。
9. 进入制作好的根文件系统中 执行
ln -s ./bin/busybox init    // 制作一个软连接 init 连接到busybox
10. 重新编译内核