嵌入式Linux - 跳过文件系统检查.mount单元是否被跳过

嵌入式Linux - 跳过文件系统检查.mount单元是否被跳过

我正在开发一个基于 stm32 的定制板,运行使用 buildroot 构建的 Linux 发行版。系统可以从 SD 卡或 eMMC 闪存启动。

SystemD 已安装。 rootfs 以只读模式挂载,因此应用程序可以将数据保存到 eMMC 上的读写分区。

仅当从 eMMC 闪存启动时才会挂载此数据分区。为了实现这一目标,我创建了一个名为的 systemd 文件data.mount,以便我可以添加一个条件来在需要时使用ConditionKernelCommandLine.

[Unit]
Description=Mount persistent data partition in operating mode
Before=local-fs.target
DefaultDependencies=no
ConditionKernelCommandLine=device=emmc

[Mount]
What=/dev/disk/by-label/data
Where=/data
Type=ext4
Options=defaults,noatime

如果主板从 SD 卡启动,则不会安装数据分区,但仍由 systemd-fsck 检查。systemd-fsck@dev-disk-by\x2dlabel-data.service执行隐式服务。

问题是当 eMMC 中不存在该分区时,systemd-fsck 会等待该分区出现。它等待90年代。

由于我期望的条件,甚至 fsck 依赖项也没有执行。

使用内核命令,我可以禁用 systemd-fsck,但我只想在数据分区不存在时禁用它。

任何想法 ?

相关内容