第三期 根文件系统构建

第14讲 根文件系统构建

一、根文件系统简介

根文件系统也叫做rootfs。大家学习STM32的W25Q256、SD卡的时候接触过FATFS文件系统。Rootfs?=FATFS。不等于!

FATFS这类的文件系统属于Linux内核的一部分,属于软件代码。

那么ROOTFS是什么,根文件系统=“根”、“文件”、“系统”。根文件系统就是一堆的文件、比如软件、配置文件等,这些文件是Linux运行所必须的,将他们组合在一起就构成了跟文件系统。

根文件系统就是一个“文件夹”,此“文件夹”有很多个文件,这些文件是linux运行所必须的,但是无法放到内核里面去的。比如命令、库、配置文件等等。所有这些软件需要我们自己构建。

/就是Linux根文件系统。

二、BusyBox构建根文件系统

构建根文件系统,busybox。还有很多成熟化的根文件系统构建方式,buildroot,yocto。构建的根文件系统调试我们通过nfs网络挂载,也就是跟文件系统存放到ubuntu下,开发板启动以后通过nfs服务使用ubuntu下的跟文件系统。

1、修改makefile,添加交叉编译器

修改ARCH和CROSS_COMPILE。

2、busybox支持中文字符

3、配置busybox

make defconfig。

make menuconfig打开图形化配置界面

4、编译busybox

5、拷贝库文件。

库文件就是交叉编译器的库文件。

先是rootfs/lib目录,然后是rootfs/usr/lib目录。

6、创建其他文件夹

三、根文件系统初步测试

为了方便测试,我们采用挂在网络根文件系统,nfs。要求:

1、linux内核网络驱动要工作正常。

2、设置uboot的bootargs,也就是linux内核的命令行参数。

从ubuntu的tftpboot里面加载我们前面移植的uboot、zImage和dtb,设置bootcmd。

测试的时候发现:

也就是提示 文件系统为只读,这是因为booargs参数没设置全。

四、完善根文件系统

五、根文件系统其他功能测试

1、测试应用程序的运行

编写helloc.c,测试软件试运行在ARM开发板上,因此编译的时候要使用交叉编译器。编译完成以后使用file命令查看可执行文件信息。

应用程序后台运行 xxx &。关闭某个软件后台运行,输入ps命令查看当前所有软件的PID。查到hello的PID是77。通过kill -9 77(PID).

2、中文字符测试

3、开机自启动

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值