chroot 디렉토리로 부팅하면 루트 파티션이 읽기 전용으로 유지됩니다.

chroot 디렉토리로 부팅하면 루트 파티션이 읽기 전용으로 유지됩니다.

Slackware Linux 설치가 포함된 chroot 디렉토리/slack로 grub 부팅을 시도하고 있습니다. 이 디렉터리는 다음 명령을 실행하여 생성되었습니다.

  installpkg --root /slack a/*.t?z

여기서 a/ 디렉토리에는 슬랙웨어의 기본 a/ 설치 패키지가 포함되어 있습니다. mkinitcpio 명령을 실행하여 성공적으로 /slack으로 루트를 변경하고 initrd 이미지를 생성했습니다.

마지막으로 /boot/grub/menu.lst에 다음 항목을 생성했습니다.

title  Slackware Linux
root   (hd0,2)
kernel /slack/boot/vmlinuz root=/dev/sda3 rw init=/slack/boot/chrootinit 
initrd /slack/boot/initrd.gz
boot

여기서 /slack/boot/chrootinit는 /slack으로 루트를 이동하는 스크립트입니다.

exec /usr/sbin/chroot /slack /sbin/init

시스템이 성공적으로 부팅되지만 "rw" 옵션을 사용해도 루트 파티션이 읽기 전용으로 마운트됩니다. 이 문제에 대한 몇 가지 경고 메시지가 표시되고 시스템이 마침내 정지됩니다. 어떤 해결책이 있습니까?

(참조:http://forum.soft32.com/linux2/Booting-chrooted-directory-ftopict51395.html)

답변1

를 지정했기 때문에 파일 시스템이 읽기 전용으로 마운트되는 이유를 잘 모르겠습니다 rw. 아마도 커널은 실제로 initrd 이미지를 읽기/쓰기 대신 마운트하고 있으며 해당 initrd 이미지는 루트 fs를 읽기 전용으로 마운트할 것입니다.

어떤 경우든 일반적으로 커널은 루트 fs를 읽기 전용으로 마운트한 다음 어느 시점에 init이를 읽기-쓰기로 다시 마운트할 것으로 예상됩니다.

chrootinit해당 단계를 먼저 수행하도록 스크립트를 수정할 수도 있습니다 .

/bin/mount -o remount,rw /
exec /usr/sbin/chroot /slack /sbin/init

관련 정보