init boot mount: montagem / root em /root.ro falhou: argumento inválido, aufs

2

Estou tentando configurar um sistema de arquivos somente leitura no diretório /root em meu dispositivo incorporado. Eu tenho o seguinte em código no meu arquivo de comando init boot /sbin/init-overlay :

rootmnt=/root

ro_mount_point="${rootmnt%/}.ro"
rw_mount_point="${rootmnt%/}.rw"

# For local system rearranged from init
/bin/mkdir -p "${ro_mount_point}" "${rw_mount_point}"

# Move the already-mounted root filesystem to the ro mount point:
/bin/mount --move ${rootmnt} ${ro_mount_point}

# Mount the read/write filesystem:
/bin/mount -t tmpfs root.rw "${rw_mount_point}"

# Mount the union:
/bin/mount -t aufs -o dirs=${rw_mount_point}=rw:${ro_mount_point}=ro aufs ${rootmnt}

# Correct the permissions of /:
/bin/chmod 755 "${rootmnt}"

# Make sure the individual ro and rw mounts are accessible from within the root
# once the union is assumed as /.  This makes it possible to access the
# component filesystems individually.
/bin/mkdir "${rootmnt}/ro" "${rootmnt}/rw"
/bin/mount --bind "${ro_mount_point}" "${rootmnt}/ro"
/bin/mount --bind "${rw_mount_point}" "${rootmnt}/rw"

Este é o meu comando de inicialização:

console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootfstype=ext4 rootwait fsck.repair=${fsck.repair} panic=10 ${extra} fbcon=${fbcon} rw init=/sbin/init-overlay

Mas, durante a inicialização, estou recebendo o seguinte erro:

mount: mounting /root on /root.ro failed: Invalid argument

Alguém pode apontar o que há de errado aqui?

    
por Gopal Kildoliya 13.09.2018 / 08:18

1 resposta

0

A explicação mais provável para um mount --move que falha com "Argumento inválido" é que a origem não é um ponto de montagem em si. Se ${rootmnt} não for um ponto de montagem, você tem duas opções: ou torná-lo um corretamente ou falso com mount --bind "${rootmnt}" "${rootmnt}" .

    
por 14.09.2018 / 23:12