imx6ull:rootfs总结

本文详细介绍了如何制作和优化根文件系统,特别是针对imx6ull平台。内容包括根文件系统的作用,常用命令的位置,如/bin下的ls和mv,以及根目录下如/dev、/etc、/lib等重要目录的功能。文章重点讲解了使用BusyBox构建根文件系统的步骤,包括配置Makefile、选择编译选项、添加动态库等,并强调了动态库和 Busybox 对于DNS解析的重要性。最后,讨论了如何创建并完善根文件系统所需的库文件、创建/dev、proc等目录,以及设置/etc/inittab和/etc/fstab文件以实现系统启动时的服务和文件系统挂载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

根文件系统首先是内核启动时所 mount(挂载)的第一个文件系统,内核代码映像文件保存在根文件系统中(以ubuntu为例,这里指的应该就是内核根目录下的vmlinuz,它是一个符号链接指向/boot/vmlinuz-x.xx.x-xx-generic),而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。

嵌入式 Linux 并没有将内核代码镜像保存在根文件系统中,而是保存到了其他地方。比如 NAND Flash 的指定存储地址、EMMC 专用分区中。

我们常用的 ls、mv、ifconfig 等命令其实就是一个个小软件。这些小软件就保存在根文件系统中

根目录下的文件夹

  • /bin:此目录下存放着系统需要的可执行文件,一般都是一些命令,比如 ls、mv 等命令。此目录下的命令所有的客户都可以使用。
  • /dev:dev 是 device 的缩写,所以此目录下的文件都是和设备有关的,此目录下的文件都是设备文件。在 Linux 下一切皆文件,即使是硬件设备,也是以文件的形式存在的,比如
    /dev/ttymxc0(I.MX6ULL 根目录会有此文件)就表示 I.MX6ULL 的串口 0,我们要想通过串口 0发送或者接收数据就要操作文件/dev/ttymxc0,通过对文件/dev/ttymxc0 的读写操作来实现串口0 的数据收发。
  • /etc:此目录下存放着各种配置文件
  • /lib:lib 是 library 的简称,也就是库的意思,因此此目录下存放着 Linux 所必须的库文件。这些库文件是共享库,命令和用户编写的应用程序要使用这些库文件。
  • /mnt:临时挂载目录,一般是空目录,可以在此目录下创建空的子目录,比如/mnt/sd、/mnt/usb,这样就可以将 SD 卡或者 U 盘挂载到/mnt/sd 或者/mnt/usb 目录中
  • proc:此目录一般是空的,当 Linux 系统启动以后会将此目录作为 proc 文件系统的挂载点,proc是个虚拟文件系统,没有实际的存储设备。proc 里面的文件都是临时存在的,一般用来存储系统运行信息文件。
  • /usr:usr 不是 user 的缩写,而是 Unix Software Resource 的缩写,也就是 Unix 操作系统软件资源目录。因此/usr 目录下也存放着很多软件,一般系统安装完成以后此目录占用的空间最多。
  • /var:此目录存放一些可以改变的数据。
  • /sbin:此目录为用户存放的一些可执行文件,但是此目录下的文件或者说命令只有管理员才能使用,主要用于系统管理。
  • /sys:系统启动以后此目录作为 sysfs 文件系统的挂载点,sysfs 是一个类似于 proc 文件系统的特殊文件系统,sysfs 也是基于 ram 的文件系统,也就是说它也没有实际的存储设备。此目录是系统设备管理的重要目录,此目录通过一定的组织结构向用户提供详细的内核数据结构信息。
  • /opt:可选的文件、软件存放区,由用户选择将哪些文件或软件放到此目录中。

制作根文件系统 

BusyBox构建根文件系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值