組み込みLinux - .mountユニットをスキップした場合のファイルシステムチェックのスキップ

組み込みLinux - .mountユニットをスキップした場合のファイルシステムチェックのスキップ

私はbuildrootで構築されたLinuxディストリビューションを実行するカスタムstm32ベースのボードを開発しています。システムはSDカードまたはeMMCフラッシュメモリから起動できます。

SystemDがインストールされました。 rootfsは読み取り専用モードでマウントされ、アプリケーションはeMMCの読み取り/書き込みパーティションにデータを保存できます。

このデータパーティションは、eMMCフラッシュから起動したときにのみマウントされます。これを達成するためにdata.mount必要な場合に使用する条件を追加できるように、.soという名前のシステムファイルを作成しました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を無効にできますが、データパーティションが存在しない場合にのみ無効にしたいと思います。

どんなアイデアがありますか?

関連情報