/etc/fstabにrootfsをリストする目的は何ですか?

/etc/fstabにrootfsをリストする目的は何ですか?

BuildRoot 2015.08.1 /etc/fstab には次の行が含まれています。

/dev/root / ext2 rw,noauto 0 1

暗号化されたUbuntuノートブックの/ etc / fstabには、次の行が含まれています。

/dev/mapper/ubuntu--vg-root / ext4 errors=remount-ro 0 1

質問:/etc/fstabにrootfsをリストする目的は何ですか?

答えではありません:

  • カーネルは root= パラメーターまたは initramfs から読み取り専用として rootfs をマウントします。したがって、/etc/fstab は読み取り専用モードで rootfs をマウントするのに役立ちません。

  • init プロセスは、読み取りと書き込みのために rootfs を再マウントします。これは、BuildRootの/etc/inittabおよびUbuntuの/etc/rcS.d/S06checkroot.shで行われます。したがって、/ etc / fstabは、読み取りと書き込みのためにrootfsを再マウントするのに役立ちません。

背景:私は素晴らしいinitramfsを使って組み込みシステムを構築しています。適切な rootfs が見つかるまで、ネットワークとローカルで異なる rootfs 候補を探します。 switch_root を呼び出す前にファイルシステムを確認し、読み取り/書き込みで再マウントすることを担当します。

ボーナス質問:/etc/fstabにrootfsをリストしないと、どのような影響がありますか?

そうでなければ良いでしょう。各rootfsごとに異なる/etc/fstabを維持したくありません。しかし、BuildRootとUbuntuがこれを維持するのはなぜですか?

スポイラー:試してみましたが効果があるようですが、隠された結果は慎重です。

答え1

fstabのオプションを使用して再マウントし、指定されたオプション(rwアクセスを含まない可能性がある)を適用する必要があります。 fstabに連絡せずにrwを使用してルートfsを再マウントするようにハードコードされたブートスクリプトが破損しています。したがって、fstabから除外する唯一の結果は、再マウントされず、他のオプションが適用されていないro状態に維持されることです。

関連情報