initrdにオーバーレイfをマウントできません。

initrdにオーバーレイfをマウントできません。

カスタムinitrdで読み取り専用Overlayfs(workdirおよびupperdirなし)を使用しようとしています。

完全に起動したOSでは正常に動作します。

mkdir /tmp/ovl1 /tmp/ovl2 /tmp/merged
mount -t overlay none -o lowerdir=/tmp/ovl1:/tmp/ovl2 /tmp/merged

busybox shこれは、組み込みのmountコマンドを持つシェルを使用している場合にも機能します。

内部initrdシェルディレクトリが正常に作成され、mountコマンドで次のエラーが発生します。

mount: mounting none on /tmp/merged failed: No such device

以下はinitrd内のmountコマンドの出力です。

rootfs on / type rootfs (...
sysfs on /sys type sysfs (...
proc on /proc type proc (...
udev on /dev type devtmpfs (...
devpts on /dev/pts type devpts (...
tmpfs on /run type tmpfs (...

これをデバッグする方法がわかりません:(

PSこれでAUFSを使用しているのはうまくいきますが、メインラインカーネルで拒否されるため、overlayfsに切り替えることをお勧めします。

ベストアンサー1

モジュールがカーネルで静的にコンパイルされたと確信していましたが、私は間違っていました。CONFIG_OVERLAY_FS=mモジュールをinitrdに追加した後、overlayすべてがうまくいきました。

おすすめ記事