CF 카드에서 부팅해야 하는 젠투 라이브 시스템을 만들었습니다. 전체 파일 시스템은 squashfs에 있습니다. 먼저 CF 카드를 마운트한 다음 압축된 파일 시스템을 /
.
쓰기 가능하게 하고 싶어서 /etc
바인딩이 추가된 CF 카드에 복사했습니다. 그러나 이것은 작동하지 않는 것 같습니다. 시스템이 시작되지만 /etc가 마운트되지 않습니다.
내 접근 방식이 올바른지, 이를 해결하기 위해 무엇을 할 수 있는지, 그렇지 않은 경우 이를 달성하는 올바른 방법이 무엇인지 알고 싶습니다.
이 init-script
내 꺼야 initrd
:
#!/bin/busybox sh
mount -t proc none /proc
mount -t sysfs none /sys
mount /dev/sda1 /mnt/flash
mount -o loop /mnt/flash/filesystem.squashfs /mnt/root
mount -B /mnt/flash/etc /mnt/root/etc
mount -o remount,rw /mnt/root/etc
umount /proc
umount /sys
exec switch_root /mnt/root /sbin/init
이것은 다음의 단축된 출력입니다 cat /proc/mounts
.
rootfs / rootfs rw 0 0
/dev/sda1 /mnt/flash ext2 rw,relatime,errors=continue,user_xattr,acl 0 0
/dev/loop0 / squashfs ro,relatime 0 0
...
답변1
BusyBox의 내장 mount
명령은 인식되지 않습니다 -B
.-o bind
mount -o bind /mnt/flash/etc /mnt/root/etc
/mnt/flash
그리고 이미 쓰기가 가능하다면 다시 설치할 필요도 없다고 생각합니다. 하지만 먼저 바인드 마운트를 수리해 보세요.