rdev 해 보신분 계신가요?

blueski의 이미지

우선 아래 부팅디스크 관련 질문에 답 주신 분들 모두 감사합니다.

혹시 rdev 써 보신 분들 계신가요?

우선 제 하드가 다음과 같습니다. (fdisk 로 본 결과)

hda1 : win95 fat32
hda2 : 리눅스 스왑
hda3 : 리눅스
hda4 : win95 fat32 (LBA)

여기에서 리눅스 즉, hda3 으로 부팅하였습니다.

그리고
rdev /boot/vmliuz 라고 해 보았더니
Root device /dev/hda2 라고 나오더군요.
설치는 예전 와우 리눅스 7.1 로 깐 것입니다.
왜 /dev/hda2 라고 되어 있을까요?

마운트 결과나 /etc/fstab 화일을 보면 루트가 당연히 /dev/hda3 이라고 되어 있습니다.
그리고 위 리눅스 상에서 설치 디스켓을 만들어(syslinux 이용)
rdev /dev/fd0 라고 해 보았더니
Root device 0x3a82 라고 나오고

/dev/fd0 를 /mnt/floppy 에 마운트 한 후에
rdev /mnt/floppy/vmlinuz 라고 하면
역시 Root device /dev/hda2 라고 나옵니다.
(물론 이 디스켓으로 부팅 하면 당연히 /dev/hda3 이 루트로서 마운트 됩니다.)

혹시 이런 기이한 현상에 대해서 혹시 아시는 분 안계신가요?

그러니까 질문은
1. rdev /boot/vmliuz 하였을때 왜 /dev/hda3 이 아니라 /dev/hda2 가 나오는가?
2. rdev /dev/fd0 하였을때 나오는 결과 값 0x3a82 는 무슨 의미인가?

요렇게 두가지입니다. 그럼.....

wkpark의 이미지

blueski wrote:
우선 아래 부팅디스크 관련 질문에 답 주신 분들 모두 감사합니다.

혹시 rdev 써 보신 분들 계신가요?

우선 제 하드가 다음과 같습니다. (fdisk 로 본 결과)

hda1 : win95 fat32
hda2 : 리눅스 스왑
hda3 : 리눅스
hda4 : win95 fat32 (LBA)

여기에서 리눅스 즉, hda3 으로 부팅하였습니다.

그리고
rdev /boot/vmliuz 라고 해 보았더니
Root device /dev/hda2 라고 나오더군요.
설치는 예전 와우 리눅스 7.1 로 깐 것입니다.
왜 /dev/hda2 라고 되어 있을까요?
마운트 결과나 /etc/fstab 화일을 보면 루트가 당연히 /dev/hda3 이라고 되어 있습니다.


rdev값에 무관한, GRUB나 LILO등의 부트로더를 사용했기 때문입니다.
부트로더는 rdev의 root device세팅과 무관하게 root=/dev/hda3와 같은 인자를 커널에 전달하죠.
blueski wrote:

그리고 위 리눅스 상에서 설치 디스켓을 만들어(syslinux 이용)
rdev /dev/fd0 라고 해 보았더니
Root device 0x3a82 라고 나오고

/dev/fd0 를 /mnt/floppy 에 마운트 한 후에
rdev /mnt/floppy/vmlinuz 라고 하면
역시 Root device /dev/hda2 라고 나옵니다.
(물론 이 디스켓으로 부팅 하면 당연히 /dev/hda3 이 루트로서 마운트 됩니다.)

혹시 이런 기이한 현상에 대해서 혹시 아시는 분 안계신가요?

그러니까 질문은
1. rdev /boot/vmliuz 하였을때 왜 /dev/hda3 이 아니라 /dev/hda2 가 나오는가?
2. rdev /dev/fd0 하였을때 나오는 결과 값 0x3a82 는 무슨 의미인가?

요렇게 두가지입니다. 그럼.....


syslinux가 설치되었을 경우는 /dev/fd0 그 자체는 파일시스템이고 커널이 아니기 때문입니다.
만약에 dd if=vmlinuz of=/dev/fd0라고 해서 파일시스템과 무관하게 /dev/fd0는 커널만 포함하는 (혹은 커널+램디스크) 부트디스크를 만들었다면 rdev /dev/fd0라고 명령을 치면 제대로 된 값을 보여줄 것입니다.

그러나, syslinux가 설치되어 있을 경우는 /dev/fd0가 커널이 아니므로, rdev가 보여주는 값 0x3a82는 쓰레기값 (syslinux 부트섹터의 특정 주소에 들어있는 값)이겠죠.

/dev/fd0 그 자체가 dd로 얻은 커널 그 자체일 경우는 /dev/fd0를 rdev로 조정하여 부트디바이스를 설정하게 됩니다 (rdev /dev/fd0 /dev/hda3와 같은 식으로)

make bzImage에서 얻어지는 실제 커널은, 부트섹터를 포함하고 있고, 커널의 부트섹터에 있는 ROOT_DEV값을 rdev가 제어하는 것입니다.
arch/i386/boot/bootsect.S 파일을 참조해 보세요.

온갖 참된 삶은 만남이다 --Martin Buber

blueski의 이미지

박원규님 감사합니다..꾸벅.

그러니까 결론은 lilo 등 부트로더를 사용하기 때문에 rdev 값(루트위치값)이 덮어 진다는 것이군요...
음... 이와 관련된 여러가지 의문점들이 있었는데 해결되는 듯 보이는군요..
감사합니다..

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.