根文件系统的制作

制作根文件系统的过程,实际上就是构造一些目录及系统启动所必需文件的过程

1、首先,我们要从网上下载所有常用命令的源码
采用交叉编译器,重新编译好命令下载到开发板/bin /sbin等目录下。
下载构建目录的工具 busybox 网址:http://www.busybox.net
下载好工具后拿到ubuntu中解压,得到源码

在这里插入图片描述
2、进行目录构建
第一步:创建目录结构
创建根文件系统目录,主要包括以下目录在这里插入图片描述
执行:mkdir $HOME/rootfs
cd $HOME/rootfs
mkdir dev etc lib usr var proc tmp home root mnt bin sbin opt sys media
第二步:使用busybox构建/bin /sbin linuxrc:
在这里插入图片描述
1、解压busybox
2、进入busybox目录。
3、执行 make defconfig
4、执行make menuconfig,执行此命令前注意将虚拟机窗口最大化,以免不显示或显示不完全,接下里就是进入到图形配置界面。
选中Busybox Setting回车
再选中Build Options 回车
选中Bulid Busybox as static binary (no shared libs)按空格
,使其前面有个星号(此步是将Busybox进行静态编译,炸药那个编译出来的busybox可以不依赖动态库)
选中Cross Compiler prefix 回车
指定交叉编译工具(否则默认为x86架构):输入arm-none-linux-gunebai-
选中ok回车
结果如下:
在这里插入图片描述
选中Exit回车
在这里插入图片描述
进行如下操作:将以下三个选项选中

在这里插入图片描述
结果如下:
在这里插入图片描述
在这里插入图片描述
第三步:创建lib目录(此步中拷贝的库文件为交叉编译工具目录下的库,具体的目录路径以自己的为准)
在这里插入图片描述
为找到库的情况下,或者文件目录过多不易查找,可以使用查找命令:find -name “xxx.so”(以xxx.so为例)

进入交叉编译工具目录下 找到动态库 然后拷贝到rootfs/lib目录下

在这里插入图片描述
第四步:构建etc目录
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

sudo vi init.d/rcS
在这里插入图片描述
上图代码如下:

#/etc/init.d/rcS
#! /bin/sh
/bin/mount -a
/bin/mkdir -P /dev/pts 
/bin/mkdir -P /dev/shm 

/bin/mount -t devpts devpts /dev/pts 
/bin/mount -t tmpfs tmpfs   /dev/shm

/bin/mkdir /var/tmp 
/bin/mkdir /var/modules 
/bin/mkdir /var/run 
/bin/mkdir /var/log 
if ! [ -d /lib/modules ] ; then 
    mkdir /lib/modules 
fi
if ! [ -d /lib/modules/`uname -r` ] ; then
    mkdir /lib/modules/`uname -r`                                                                                         
fi
/sbin/mdev -s

保存退出
在这里插入图片描述
在这里插入图片描述
结果如下:
在这里插入图片描述
上图代码如下:

#/etc/fstab
proc        /proc   proc    defaults    0   0                                                                             
ramfs       /var    ramfs   defaults    0   0
ramfs       /tmp    ramfs   defaults    0   0
none        /sys    sysfs   defaults    0   0
none        /dev    ramfs   defaults    0   0

在这里插入图片描述
上图代码如下:

#/etc/profile
# /etc/profile: system-wide .profile file for the Bourne shells

export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin 
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:/usr/lib 

/bin/hostname QF_EDU
USER="`id -un`"
LOGNAME=$USER
HOSTNAME='/lib/hostname'
PS1='[\u@\h\w]#'     

在这里插入图片描述
在这里插入图片描述
以上三个文件操作如下:

#/etc/passwd   用户信息配置文件
#/etc/group    组信息配置文件
#/etc/shadow   用户密码配置文件

#以上三个配置文件直接从ubuntu操作系统的/etc下拷贝过来,然后只留下root用户,root组
#相关信息
#/etc/passwd
root:x:0:0:root:/root:/bin/sh
#/etc/group
root:x:0:
#/etc/shadow
root:$1$IVocMXlM$0qoJ3cXCzT8bi2n3guylX0:18093:0:99999:7:::
#密码是1 , 1加密后的密文:$1$IVocMXlM$0qoJ3cXCzT8bi2n3guylX0  

在这里插入图片描述
修改挂载目录
sudo vi /etc/exports
将最后一行中挂载目录修改为自己的rootfs所在目录

在这里插入图片描述
使用nfs挂载,虚重启
sudo /etc/init.d/nfs-kernel-server restart
在这里插入图片描述

第五步:其他目录

在这里插入图片描述
以上是制作根文件系统,接下来将根文件系统挂载到开发板上:
https://blog.csdn.net/lornman_q/article/details/104955081

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值