1.根文件系统的制作
1.下载busybox,BusyBox 是一个集成了大量常用 Linux 命令和工具的软件,它被设计为体积小巧,适合在嵌入式系统和资源受限的环境中使用。
2. 构建目录
3.解压busybox,进入其目录,配置编译,在 busybox 目录下cd 进入 _install 目录,里面有 bin sbin usr linuxrc 四个文件将这三个目录或文件拷到第一步所建的 rootfs 文件夹下。
4.补全lib库,找到工具链中的lib目录拷贝到你的根文件目录中,我用的是arm-linux-gcc的lib
5. 生成etc配置文件,进入到 busybox-1.21.1下查找etc,并复制到你的根文件目录下
6.修改 etc/init.d/rcS 文件,init 进程通过 inittab 启动的第一个进程为此脚本,我们需要做以下修改#!/bin/sh
7. 修改 etc/fstab 文件,填充以下内容
8. 修改 profile
9. 用户名、密码文件创建
解释和步骤
-
编译 BusyBox:首先需要下载并编译 BusyBox。这包括修改 Makefile 以设置交叉编译工具链,使用
make menuconfig
进行配置,然后执行make
和make install
命令来编译和安装 BusyBox 。 -
配置 BusyBox:在编译之前,需要对 BusyBox 进行配置。这可以通过 BusyBox 的配置界面完成,其中包括设置静态链接、安装前缀、选择 Shell 等选项 。
-
创建根文件系统目录结构:在系统中创建必要的目录结构,如
bin
、sbin
、etc
、dev
、lib
、tmp
、usr
、var
等,以及任何其他需要的目录 -
添加必要的文件和脚本:在
etc
目录下创建配置文件,例如inittab
和fstab
,以及任何其他需要的配置文件。同时,创建init.d
目录并添加初始化脚本,如rcS
。 -
创建设备文件:在
dev
目录下创建必要的设备文件,例如console
、null
等,可以使用mknod
命令来创建这些设备文件 。 -
复制动态库:如果 BusyBox 配置为使用动态链接库,则需要将所需的库文件复制到
lib
目录下 。 -
生成文件系统映像:一旦根文件系统目录结构和内容准备完毕,可以使用文件系统制作工具(如
mkfs
系列命令)来生成文件系统映像,例如jffs2
、ext3
或cramfs
等 。 -
部署和测试:将生成的文件系统映像部署到目标设备上,并进行测试以确保一切正常工作