Linux系统移植19:根文件系统的构建
Linux系统移植19:根文件系统的构建
根文件系统的简介
根文件系统是操作系统启动时挂载的第一个文件系统,路径为/
,是所有其他文件系统的挂载点。
根文件系统就是一个“文件夹”,此“文件夹”有很多个文件,这些文件是linux运行所必须的,但是无法放到内核里面去的。比如命令、库、配置文件等等。所有这些软件需要我们自己构建。
/
就是Linux根文件系统。
BusyBox构建根文件系统
BusyBox 是一个集成了大量的 Linux 命令和工具的软件,像 ls、 mv、 ifconfig 等命令 BusyBox 都会提供。
修改Makefile添加环境变量
修改busybox支持中文字符
注释掉对于中文字符的限制
配置busybox
使用make menuconfig进行配置
启用vi-style line editing commands
取消Simplified modutils
启用Check $LC_ALL, $LC_CTYPE and $LANG environment variables
配置完成后保存退出
编译busybox
输入make命令进行编译
输入make install命令进行安装,指定安装位置
查看安装后的成果物
进入bin、/usr/bin、/usr/sbin文件中查看编译后支持的所有命令合集
bin
/usr/bin
/usr/sbin
拷贝库文件
busybox由于是动态编译的,因此需要拷贝其依赖的交叉编译器的库文件
拷贝库文件到/lib目录
拷贝后查看文件夹
拷贝库文件到/usr/lib目录
查看拷贝后的成果物
创建其他文件夹并完善文件内容
完善后的目录如下
修改设备uboot环境变量bootargs改为从nfs目录加载根文件系统
执行boot命令启动内核并从nfs目录加载根文件系统
启动成功并成功进入根文件系统