Eu tinha certeza, esse módulo é estaticamente compilado no kernel, mas eu estava errado: CONFIG_OVERLAY_FS=m
.
Depois de adicionar o módulo overlay
ao initrd, tudo funciona bem.
Estou tentando usar overlayfs somente leitura (no workdir e upperdir) dentro do initrd personalizado.
Isso funciona bem no SO completamente inicializado:
mkdir /tmp/ovl1 /tmp/ovl2 /tmp/merged
mount -t overlay none -o lowerdir=/tmp/ovl1:/tmp/ovl2 /tmp/merged
Isso também funciona se eu usar busybox sh
como shell, que possui o comando mount embutido.
Dentro de diretórios shell initrd são criados com sucesso, e o comando mount dá esse erro:
mount: mounting none on /tmp/merged failed: No such device
Aqui está a saída do comando mount dentro do 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 (...
Não tenho ideia de como depurar este: (
P.S. Agora eu uso o AUFS e ele funciona bem, mas ele foi rejeitado pelo kernel principal e é recomendado mudar para o overlayfs.