/root
組み込みデバイスのディレクトリに読み取り専用ファイルシステムを設定しようとしています。私のboot initコマンドファイルには次のコードがあります/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"
これは私の起動コマンドです。
console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootfstype=ext4 rootwait fsck.repair=${fsck.repair} panic=10 ${extra} fbcon=${fbcon} rw init=/sbin/init-overlay
ただし、起動時に次のエラーが発生します。
mount: mounting /root on /root.ro failed: Invalid argument
ここで何が間違っているかを指摘できる人はいますか?
ベストアンサー1
「無効な引数」失敗の最も可能性の高い説明mount --move
は、ソース自体がマウントポイントではないことです。マウントポイントでない場合は、${rootmnt}
2つのオプションがあります。マウントポイントとして正しく設定するかmount --bind "${rootmnt}" "${rootmnt}"
。