web-dev-qa-db-ja.com

組み込みシステムのルートファイルシステムを変更する

私はBuildrootを使用して、カーネルv。2.6.39で組み込みLinuxを生成しています。これにより、最終的にbusyboxが起動します。 Initramfsを「rootfs」としてビルドすると、すべてが正常に機能します。しかし、Initramfsは私のニーズに最適ではないので、SquashFSのような他のfsに切り替えるか、まったく圧縮しない方がよいでしょう。

とにかく、たとえばSquashFSファイルを起動するようにカーネルに指示する方法がわかりません。私が知っていることは、これはいくつかのカーネルコマンドラインパラメータによって行われるということです。残念ながら、私はこれについて別の検索エンジンやここでこれ以上見つけることができません。そして、それは機能しません。予想通り、カーネルパニックで常に終了します。

そして、圧縮していないので、FlashからRAMにコピーする必要がある場合はどうすればよいですか?

1
user3085931

モジュールとしてではなく、カーネルに直接必要なファイルシステムを構築するようにしてください。

SquashFSは読み取り専用であるため、単独で使用することはできません。 initramfsから起動してから、イメージからrootをロードする方がよい場合もありますが、それがあなたの呼びかけです。

2
coteyr