Não é possível montar overlayfs dentro do initrd

0

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.

    
por Selivanov Pavel 02.01.2018 / 15:15

1 resposta

1

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.

    
por 02.01.2018 / 16:03