Armadilloフォーラム

SDカードとrootfs(overlay)をoverlayによりマージして、1つのフォルダに見せたい

kn_kobayashi

2023年3月19日 1時03分

お世話になっております。

すみません。恐らくArmadilloは関係なく、AlpineLinuxの話だと思うのですが、質問させてください。

SDカードを装着し、「mount /dev/mmcblk1p1 /mnt/sd」により、「/mnt/sd」にマウントしているとします。
このSDカード内のフォルダ(例:/mnt/sd/log)と、rootfs上のフォルダ(例:/home/atmark/log)のフォルダを
lowdirとして、overlayによりマージして、一つのフォルダに見せたいと考えております。
(全て読込専用にするつもりです)

マージ先を「/home/atmark/merged」にしたとして、以下のコマンドを実行しております。
mount -t overlay overlay -o lowerdir=/mnt/sd/log:/home/atmark/log /home/atmark/merged

すると、以下のエラーとなり、うまくいきません。
mount: /usr/local/datac/merged/log: wrong fs type, bad option, bad superblock on overlay, missing codepage or helper program, or other error.
dmesg(1) may have more information after failed mount system call.

kern.logには以下のエラーが出力されます。
1970-01-01T09:55:31.252059+09:00 armadillo kernel: [ 3331.247146] overlayfs: filesystem on '/mnt/sd/log' not supported

何がまずいのか分からず困っております。。申し訳ございませんがどこが間違えているのか、
そもそも出来ないことをやろうとしているのか、ご教授いただけないでしょうか。

コメント

すみません、一点誤字がありましたので修正します。

mount時のエラーログは、
mount: /home/atmark/merged: wrong fs type, bad option, bad superblock on overlay, missing codepage or helper program, or other error.
です。

at_dominique.m…

2023年3月20日 9時36分

kn_kobayashiさん、

マルティネです。

overlayfs の upper ディレクトリを別の overlayfs (/home/atmark/log)を使えないと思っていましたが、手元の armadillo で試してみたら教えていただいたコマンドでできました。
なんでしょうね。

エラーメッセージの通り、dmesg に何か追加の情報があるかもしれないので、dmesg の関係ありそうな行を提供していただけますか?
また、現在実行中のカーネルバージョン「uname -r」と、マウントを実行する前の「findmnt」の出力も提供していただければ助かります。

よろしくお願いします。

マルティネ様

ご回答、ありがとうございます。
自己解決いたしました。

「findmnt」でファイルシステムを眺めていると、気づきました。
SDカードをvfatでフォーマットしていたのですが、ext4でフォーマットしなおしたら出来ました。

ありがとうございました。