GRUB 때문에요..
root (hd0,1)
kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/sda2 ro quiet vga=792
initrd /boot/initrd.img-2.6.26-2-686
이라고 되어있습니다.
책에서 보게 되었는데. rdev 로 root 파일 시스템을 지정해주라고 합니다. 그런데 이해가 되지 않는게 있어서요..
제가 장난으로
#rdev /boot/vmlinuz-2.6.26-2-686 /dev/sda1(원래는 2인데..)
이라고 썼습니다. 그래서 /boot/vmlinuz-2.6.26-2-686에 대한 root 디렉토리가 /dev/sda1로 변경되었죠.. (여기서 희한 한건 처음에 확인 했을때엔 16진수? 로 쓰여져 있더군요.. 0xfe09 였었어요.-- 왜 그런가요??)
제가 다시
root (hd0,1)
kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/sda2 ro quiet vga=792
initrd /boot/initrd.img-2.6.26-2-686
로 부팅했는데 잘되는 것이었어요. 그래서 아 root를 처음에 명시하면 rdev에서 지정하는건 무시하는가보다 생각을 했죠.
다음에 다시 #rdev /boot/vmlinuz-2.6.26-2-68 /dev/sda2 로 정상적으로 바꾼뒤..
요번엔 root부분을 제거하고
root (hd0,1)
kernel /boot/vmlinuz-2.6.26-2-686 ro quiet vga=792
initrd /boot/initrd.img-2.6.26-2-686
부팅을 했더니 안되는 것이었어요. 저는 저 명령어가 /boot/vmlinuz-2.6.26-2-68를 적재하면서 자동으로 rdev설정값인 /dev/sda2 를 불러 들일거라고 생각했기때문이죠.
★ 왜 안되는지 알고 싶어요..
★ 만약 안되고 grub에서 항상 root 를 지정해주어야 한다면, rdev로 root를 지정하는것에는 또 다른 무슨 의미가 있나요??
★ 궁금한것이 또있는데요.. root=(여기에) -- /dev/sda2처럼 주소가 있는데 저 말은 커널이 적재가 되고 나서 하드웨어를 ??맵핑(mapping)???? 하고 나서 /dev/sda2를 인식하는 건가요?? 그렇다면 'root=' 다음에 /dev/fd0 나 /dev/cdrom0 처럼 다른 장치 주소들 따위도 쓸수 있고 그것을 root 로 삼을수도 있다는 건가요??
p.s) 방금 웹페이지를 뒤지다가 (http://linux.die.net/man/8/rdev)
... It does not work on architectures other than i386. Its use is strongly discouraged. Use a boot loader like SysLinux or LILO instead. 이런말이 있는것도 의심스럽네요.
root 찾는 방법이
root 찾는 방법이 몇가지가 있는데, initrd 사용하는 경우엔 rdev로 설정한 건 무시됩니다 (커널에겐 initrd가 root 거든요). 지금에 와선 rdev 쓸모도 없고 쓰지도 않는데 몇년도 책을 보고 계신가요?
고맙습니다.
고맙습니다. 이 책이 좀 오래되었긴 한거 같군요. 러닝리눅스 개정 4판(2003년 6월) 이라네요.
댓글 달기