
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