私は組み込みLinuxビルドにYoctoを使用しています。私の目標は、システムが起動するたびにファイルを強制的にスキャンすることです。ファイルを変更/etc/default/rcS
しENABLE_ROOTFS_FSCK=yes
、FSCKFIX=yes
。fsck
rootfsを確認しようとしましたが、次のエラーが発生しました。
e2fsck 1.46.2 (28-Feb-2021)
fsck.ext2: No such file or directory while trying to open /dev/root
Possibly non-existent device?
fsck failed. Please repair manually and reboot. Please note that the root filesystem is currently mounted read-only. To remount it read-write:
# mount -n -o remount,rw /
CONTROL-D will exit from this shell and REBOOT the system.
これには2つの問題があります。まず、e2fsck
ファイルシステムを確認できないのはなぜですか?第二に、スキャンext4ファイルシステムがなぜe2fsck
呼び出されますか?通常ブート後に使用してみるとfsck.ext2
非常fsck -n <partition>
にうまく機能します。次のログを取得します。
e2fsck 1.46.2 (28-Feb-2021)
Warning! <partition> is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
<partition> clean
助けてくれてありがとう。
編集する:私はYocto、カーネル3.18、およびsystemVinitで構築されたLinuxを使用しています。起動中にfsckを強制する方法もありますが、systemdを持つシステムでは機能しているようです。私の考えでは、e2fsckがどのパーティションをチェックするべきかわからないと思います。私の物理パーティション/dev/mmcblk0p2の代わりに/dev/rootをチェックしようとしています。