Не работает overlayfs внутри initrd
Внутри полностью загруженной системы такое работает нормально:
mkdir /tmp/ovl1 /tmp/ovl2 /tmp/merged
mount -t overlay none -o lowerdir=/tmp/ovl1:/tmp/ovl2 /tmp/merged
Это read-only вариант, без upperdir и workdir.
Причём в busybox sh
это работает тоже - там внутренняя реализация mount.
Отдельных модулей для overlayfs не существует, оно вкомпилено в ядро.
Внутри initrd работать не хочет: каталоги успешно создались, mount выдаёт ошибку:
mount: mounting none on /tmp/merged failed: No such device
-o ro
и -t overlayfs
не помогают, та же ошибка.
Ядро то же самое, разумеется.
Вот список уже смонтированных ФС в initrd:
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 (...)
Не пойму, куда дальше копать :(
P.S. Сейчас я использую AUFS, но его не приняли в mainline kernel, и советуют переходить на overlayfs.