嵌入式 Linux 设备的文件系统处理

嵌入式 Linux 设备的文件系统处理

我正在开发一款将运行 Linux 作为操作系统的设备。该设备是一款小型 X86 设备,带有一个作为 SATA 设备显示的闪存驱动器。因此,它与任何其他运行 Linux 的 PC 并无太大区别。

出于几个很好的理由,我正在构建自己的“分布”,而不是使用现有的分布。

让我困惑的是如何处理根文件系统的挂载/卸载。我使用命令行“root=/dev/sda1 rw”启动内核,运行正常。但每次我关机或重启时,Busybox 都会抱怨没有 /etc/fstab,所以我决定建立一个。

我应该为我的根文件系统添加一个条目吗?无论如何,这似乎被 rootfs 遮蔽了。即,如果我有 fstab 条目“/dev/sda1 / ext2 1 1”,mount 仍会报告

  rootfs 开启 / 类型 rootfs (rw)
  /dev/root on / 类型 ext2 (rw,relatime,errors=continue)

我的问题是:

  1. 我需要担心吗?关机/重启时内核会正确卸载驱动器吗?
  2. 如果我想在启动时执行文件系统检查,我可以不使用 initrd 来做到这一点吗?

答案1

在启动时,内核只需要根来读取 init 进程(例如/init)。

在此步骤期间,根目录不得以读写方式安装,否则可能会导致错误。

读写根的挂载由 执行/etc/fstab

如果您有必要挂载没有的文件系统/etc/fstab,请使用该-n选项。

相关内容