커널컴파일후 grub설정중..
글쓴이: Lodi / 작성시간: 금, 2004/10/22 - 8:35오전
/dev/hda
- hda2
-- hda5 fat32
-- hda6 fda32
-- hda7 102mb ext3
-- hda8 14998mb ext3 (root)
-- hda9 510mb linux-swap
hda1 ntfs
파티션이 이렇게 나뉘어져 있습니다.
방금 2.6.9를 커널 컴파일했습니다. 처음하는건데요. 설명서보고 잘따라했습니다.
grub을 쓰는데 /boot/grub/ment.lst 설정이 잘 안되네요.
# grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,6) # kernel /vmlinuz-version ro root=/dev/hda8 # initrd /initrd-version.img #boot=/dev/hda default=1 timeout=10 splashimage=(hd0,6)/grub/splash.xpm.gz title Red Hat Linux (2.4.20-8) root (hd0,6) kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ hdc=ide-scsi initrd /initrd-2.4.20-8.img title DOS rootnoverify (hd0,0) chainloader +1 title Red Hat Linux (2.6.9) ! root (hd0,6) kernel /vmlinuz-2.6.9 ro root=LABEL=/
Red Hat Linux (2.6.9) ! 가 새로 제가 추가한건데요..
root (hd0,6)이면 hda7인데 왜 hda8을 가르키지 않나요?? root를 가르키라고 봤는데..
그리고 밑에 kernel vmlinuz-2.6.9 파일도 자꾸 못찾는다고 나오네요.
[root@localhost root]# ls /boot boot.b initrd-2.4.20-8.img module-info System.map-2.6.9 bzImage-2.6.9 kernel.h module-info-2.4.20-8 vmlinux-2.4.20-8 chain.b lost+found os2_d.b vmlinuz config-2.4.20-8 message System.map vmlinuz-2.4.20-8 grub message.ja System.map-2.4.20-8 vmlinuz-2.6.9
있는데말이죠.. :cry:
아 마지막으로 컴파일 다 하고나면 위에 initrd /initrd-2.4.20-8.img 처럼.
2.6.9용도 새로나와야 되는거 아닌가요? 그파일은 어디에있나요? 그리고 뭐에 쓰이는 것인지.. 궁금합니다.
커널컴파일할때 체크를 해줘야 만들어진다고 들었는데 그 파일도 안보일뿐더러 find해도 없네요.
답변부탁드립니다. 꾸벅.
:oops: [/code]
Forums:
일단 grub 에서.. 확인하는 방법은..#grub이렇
일단 grub 에서.. 확인하는 방법은..
#grub
이렇게 해서 grub 쉘을 띄웁니다.
그리고
grub> root (hd0,6)
이렇게 하시면 밑에 파티션 타입하고 그런게 나오는데요..
거기서 맞나 대충 확인하시고 파일 확인은
grub> kernel /<이상태에서 tab을 눌러보시면..>
파일목록이 표시가 됩니다.
grub> root 에서 파티션이 잘못 잡혔다면 파일이 없겠지요.
제대로 잡으셨다면 파일 목록이 나타날 것입니다.
잘못잡혔다면 숫자를 바꿔가면서 한번 해보세요;
grub 에서 fat 도 다 지원합니다 ^^
그리고 initrd 에 대한건
mkinitrd 란 프로그램이 있는데 이게 initrd 파일을 만들어 주는 프로그램입니다.
# mkinitrd initrd.img 2.6.9
이런식으로 하시면 2.6.9 커널용 initrd 가 만들어집니다. ^^
-----------------------------------
속좀 썩이지 마라~~ 잉???
한마디 덧붙이면..제 경우에는 kernel /vmlinuz
한마디 덧붙이면..
제 경우에는
kernel /vmlinuz root=[]
[] 부분에 실제 루트로 마운트될 루트파티션을 적어줬는데..
위에처럼 적어줘도 상관없는건지..
kernel 뒤에 붙은 root 가 무슨 역할을 하는거죠? -_-;
-----------------------------------
속좀 썩이지 마라~~ 잉???
[quote="zilitwo"]한마디 덧붙이면..제 경우에는
커널에게 system root가 어느 파티션인지 알려주는 역할을 하는 것으로 알고 있습니다. LABEL=/ 처럼 사용하면 fstab에서 해당 파티션 값을 돌려주는 것이니, 실제 루트로 적어주는 것과 마찬가지일 것입니다.
Re: 커널컴파일후 grub설정중..
grub 명령어중 root 명령어는 grub root를 가리키는 것으로 알고 있습니다.
grub과 관련된 파일들이 들어있는 파티션이죠.
메뉴얼에서는 grub root와 system root의 혼동을 피하기 위해서 /boot를 다른 파티션에 설치하는 것을 지양하라고 권했던 것으로 기억합니다.
grub 명령어들이 파일을 찾을 때 특별한 지정이 없으면 이 grub root를 기준으로 해서 그 파티션에서 찾아갑니다.
님의 경우 /boot/grub 디렉터리 및 이하 파일, 그리고 커널 및 부팅관련 파일들이 (hd0,6)에 설치되어 있음을 보시면 이해하시기 쉬우리라 생각합니다.
정확한 에러메세지가 무언인지...
제 어두운 눈으로는 initrd가 없는 것을 제외하고는 별 이상이 없는 듯한데요.
커널이 initrd를 사용하도록 컴파일 되었는데, initrd를 생성하지 않으신 것은 아닌지 추측해봅니다. 한 번 만들어보세요.
아직도 안되서....질문좀 더 하겠습니다.
답변 감사합니다. 아직도 안되서 질문이 몇개 더 있는데요.
먼저 grub에서 grub의 쉘로 들어갔습니다.
root(0,5) root(0,6) root(0,7) 다 눌러줘봤는데.
앞에 한두개는 fat.. 아마 윈도 그쪽이겠지요.
그리고 6부터인가.. vfs뭐라고 나왔던거같네요.. 파일시스템이 안맞아서 부팅이 안될때도 있었는데.. 정확한 오류는 잘 생각이 안나네요.
그리고 mkinitrd initrd.img 2.6.9 하면
/boot 에 initrd.img 라는 2.6.9의 initrd가 생기는건가요? 생기는건 같은데.. 2.6.9라고만 하면 어디서 그렇게 읽어와서 바로 생기는지.. 궁금해서요..
아직 부팅이 안되기때문에 잘된건지도 잘모르겠군요.
대충대충 다 고치고서 부팅을 시도햇습니다. 이번엔 오류메시지를 적어왔습니다.
라고 뜹니다.
root=/LABEL/라고 써있을텐데요. 그부분을
root=hda5, root=hda6, root=hda7로 바꿔줘도
같은 메시지가 뜹니다. "LABEL=/"가 저것들로 바뀔뿐이죠...
음.. 답변부탁드려요....
Re: 아직도 안되서....질문좀 더 하겠습니다.
처음 말씀하신 대로 파티션구성이 되어있다면,
이 되지 않을까요?
[code:1]root (hd0,6) kernel
라고 되있는데 안됩니다 ㅠㅠ
밑에 initrd도
initrd /initrd.img 붙여줘도 같습니다.. ㅠㅠ
[quote="Lodi"]라고 되있는데 안됩니다 ㅠㅠ밑에 init
무슨 에러로 안되는지는 말씀을 안하시는군요.
같은 에러로 안되는 것인지 확인하기 위해서 실험을 해 보았습니다.
/dev/hda1에는 DOS를 설치하였고, 이 곳에 /boot/grub를 만들어 grub을 약간 수정 및 설치하였습니다.
/dev/hda6에는 Debian Woody를 설치하였습니다. 따로 /boot 파티션은 만들지 않았습니다.
이것은 menu.lst 파일의 내용 중 일부입니다. 물론 정상적으로 부팅되는 설정입니다.
커널은 (hd0,5)/boot/에 설치되어 있으며 (hd0,5)/vmlinuz라는 이름으로 링크되어 있습니다.
커널이 initrd를 사용하지 않는 배포판 그대로여서 initrd 설정은 필요없었습니다.
여기서 kernel관련 설정 한 줄을 다음과 같이 변화시키니 상기의 님과 같은 에러가 출력되는군요.
root=/dev/hda7과 같이 다른 파티션을 가리키게 수정하면
에러의 내용은 같고 뒤의 00:00 부분만 다른 숫자로 출력되더군요.
제 경우 root=LABEL=/ 설정시 에러가 난 것은 배포판에 따른 특성으로 알고 있습니다.
이 설정은 Redhat 계열에서는 /etc/fstab에서 이 alias를 지정하며 이와 연동해서 사용되는 것으로 알고 있는데,
제 경우엔 Debian이라 그런 설정이 없기 때문이겠죠.
이상의 실험으로 menu.lst 파일 내에서
kernel에게 root 변수를 돌려주는 부분이 잘못 되어있을 경우에
상기와 같은 VFS 에러가 나타난다고 추측할 수 있었습니다.
역으로, VFS 에러가 나타나지 않으면 root 변수 부분은 제대로 된 것이라고 할 수 있겠죠.
root 변수를 제대로 넣었어도 같은 에러가 발생했다면,
간단한 철자나 문법 문제일 수도 있겠고, 제가 모르는 다른 문제일 수도 있을 것입니다.
이 경우엔 제가 더 이상 답변을 드릴 능력이 없는 것이겠죠.
어떤 경우이든 같은 에러가 나오느냐, 아니냐는 중요한 관건이 될 것입니다.
다시 한 번 에러 메세지를 잘 살펴보세요.
같은 류의 메세지라면 root 변수가 잘못된 것이니 이를 수정하면 되겠지만,
다른 메세지라면 앞서의 문제는 해결한 것이니
그 메세지를 기준으로 다시 노력해야겠죠.
그럼 성공하시길 기원합니다.
같은 에러라면 이 내용도 참고하시길...
http://marc.free.net.ph/message/20040428.024535.b600e7e7.html
위의 내용을 보면 상기 에러 메세지에서의 대부분의 답변이
root=/dev/hd?? 부분을 수정하라는 식인데,
페도라에서 initrd를 사용할 경우
기본값으로 되어있는 RAM disk 용량 4096 이 너무 작아서 발생하는 경우도 있다고 하는군요.
커널 컴파일시 8192로 하는 것이 적절하다고 말하는 내용입니다.
이 외에도 커널 컴파일시 CONFIG_PARTITION_ADVANCED 지원 여부, INCLUDE IDE/ATA disk Support 지원 여부 등에 따라서도 비슷한 증상이 있는 듯하군요.
저도 처음 질문하신 분과 동일한 에러가 생겼습니다.root=LAB
저도 처음 질문하신 분과 동일한 에러가 생겼습니다.
root=LABEL/ 로 해서 부팅이 안 됐었습니다.
그리고 initrd가 없어서 답변처럼 만들었구요...
저의 경우 hda8로 고쳐서 부팅이 되는데요
부팅이 되고 나면 xwindow로 안 넘어가고 텍스트 창에서 그대로 있습니다.
이때 나오는 에러 메시지는 INIT: ID "x" respawning too fast : disabled for 5 minutes 라고 나옵니다.
루트로 로긴하면 에러메시지가 다음처럼 뜹니다.
-bash: id: command not found
-bash: [: =: unary operator expected
-bash: id: command not found
-bash: dircolors: command not found
...
...
...
이런 식으로 뜨는데 무엇이 문제인지 모르겠네요..
^^*
위의 문제를 해결했습니다. ^^*저는 레드햇 9를 쓰는데요 여기서에
위의 문제를 해결했습니다. ^^*
저는 레드햇 9를 쓰는데요 여기서에 root=LABEL/은 잘 안 먹는다고 하더라구요... 이건 나중 문제고.. ^^
1. root를 가르키는 하드가 제대로 설정이 안 되어 있나봐요...
요건 제대로만 가르키면 에러가 안 생길 것 같지만 일단 저는
root=/dev/hda9로 수정했습니다.
요건 위의 NOTICE에서 참고했고 /(/root) 하드를 찾을려면 간단하게 mount를 하시면 / 하드를 찾을 수 있을 껍니다.
2. source를 압축해서 푼 다음에 make menuconfig 나 xconfig를 하잖아요... 요기가 문제였습니다.
안에 디렉토리에서 File system으로 들어간 후 Ext3 journalling file system support를 선택을 해야합니다. 요게 체크가 안 되어 있기 때문에 EXT3 인식을 제대로 못해서 부팅이 안 된 거였습니다. 맨 처음 질문하신 분도 여기가 체크 되었는지 확인해 보세요... ^^*
저는 새로 커널을 깔았는데 module이 하나도 안 올라가 있네요 ㅡㅡ;; 오늘부터 요걸 잡아야 겠네요... .config를 고대로 가져오면 될라나... 흠... 암튼 고생은 했지만 소득은 있었네요.. ^^*
^^*
댓글 달기