web-dev-qa-db-ja.com

ライブCDブート:SQUASHFSエラー:xattr IDインデックステーブルを読み取れません

Ubuntuのcustm squashfsを作成しています。

現在、私はこのエラーに直面しています:

[ ... ] squashfs: SQUASHFS error: unable to read xattr id index table

Initramfsで実行することで再現できます

mount /cdrom/casper/filesystem.squashfs /filesystem.squashfs -t squashfs -o loop

-o loopがなければ、同じです。

しかし、実行中のUbuntuでコマンドを実行すると、すべて問題ありません。

Sudo mount /media/USER/UUI/casper/filesystem.squashfs fs-uui -t squashfs -o loop

ノート:

  • エラーを生成する画像は here で見つけることができます。
  • 起動時にエラーメッセージを表示するために、bootコマンドのsplashおよびquietオプションを削除しました。
  • md5sumsは大丈夫です。

これをデバッグする方法や、efiで起動するカスタムisoイメージを作成する方法について提案がある場合は、メモを残してください。


編集1:現在、回避策は、-no-xattrsオプションを使用してルートファイルシステムからxattrsを削除することです:

mksquashfs / "$filesystem_location/filesystem.squashfs" -ef ./exclude.txt -wildcards -no-xattrs

編集2:エラーは引き続き発生します。

2
User

完全にブートされたシステムからsquashfsをマウントできますが、ブート時にマウントすることはできません。これは、initramdriveにカーネルモジュールがないことを示唆しています。

起動中は、initrdイメージのモジュールのみが使用可能です。

実行中のシステムでは、lsmodを発行して、ロードされたモジュールのリストを表示できます。スカッシュイメージをマウントするとき、カーネルはいくつかの追加ドライバーモジュールを強制的にロードする必要があります。マウントの前後にlsmodを発行すると、マウント中にロードされたモジュールを確認できます。

これらのモジュールを/etc/initramfs-tools/modulesに入力し、update-initramfs -uを使用してinitrdを再構築します。

1
Paul Hänsch