'grub2'에 해당되는 글 4건

  1. 2010.09.18 grub.cfg 설정 + VFS 패닉 (4)
  2. 2010.09.16 grub2 메뉴 들어가기
  3. 2010.09.15 grub menu.lst 넌 어디야?!
  4. 2010.02.01 ubuntu 9.10 에서 /dev/fb 만들기 (4)
Linux/Ubuntu2010.09.18 11:24
저번에 yaffs2 넣는다고 컴파일 했다가 시스템 날려먹고
겨우겨우 grub 메뉴로 들어가 복구는 했는데.. 이유를 오늘에서야 찾아보게 되었다.
(아.. 직딩의 한이란 ㅠ.ㅠ)

Shift 누르고 GRUB2 메뉴로 들어가서 기존의 커널로 부팅!
아마 update-grub시 1번 메뉴(=기본 선택 부팅)은 시간을 비교해서 최신의 것으로 바뀌는 것으로 추측된다.
Motorola | A853 | Normal program | Center-weighted average | 1/10sec | F/2.8 | 0.00 EV | ISO-107 | Off Compulsory | 2010:09:16 21:32:21

안전모드로 부팅해서 죽을때의 메시지.
0.618952 초에 나온 이후의 메시지가 관건이다. sda1 응? "root=" boot option?
Motorola | A853 | Normal program | Center-weighted average | 1/10sec | F/2.8 | 0.00 EV | ISO-200 | Off Compulsory | 2010:09:18 10:54:13

그래서 다른 부팅메시지와 비교를 해봤더니
커널 설정 부분의 root= 뒤에 UUID가 들어가냐, 아니면 device 이름이 들어가냐의 차이로 부팅이 안된게 아닐까 추측이 된다.
그리고, initrd가 빠져있었는데 음.. 귀찮은데 다른 버전의 것을 그냥 써줘도 되려나?
menuentry 'Ubuntu, 그리고 Linux 2.6.32.15+drm33.5' --class ubuntu --class gnu-linux --class gnu --class os {
        recordfail
        insmod ext2
        set root='(hd0,1)'
        search --no-floppy --fs-uuid --set 1e3d003c-6547-40c8-8f7f-32c0156b7ac8
        linux   /boot/vmlinuz-2.6.32.15+drm33.5 root=/dev/sda1 ro   quiet splash
}
}
menuentry 'Ubuntu, 그리고 Linux 2.6.32-24-generic' --class ubuntu --class gnu-linux --class gnu --class os {
        recordfail
        insmod ext2
        set root='(hd0,1)'
        search --no-floppy --fs-uuid --set 1e3d003c-6547-40c8-8f7f-32c0156b7ac8
        linux   /boot/vmlinuz-2.6.32-24-generic root=UUID=1e3d003c-6547-40c8-8f7f-32c0156b7ac8 ro   quiet splash
        initrd  /boot/initrd.img-2.6.32-24-generic


UUID는 전세계적으로 유일한 확인자 라는 의미라고 한다.
 Universally unique identifier
[링크 : http://en.wikipedia.org/wiki/Universally_unique_identifier]

귀찮아서 initrd 를 2.6.32.24 걸로 끌어다 썻더니 부팅은 시도하지만
커널과 관련된 파일들이 없어서 부팅이 진행되지는 않는다.
Motorola | A853 | Normal program | Center-weighted average | 1/10sec | F/2.8 | 0.00 EV | ISO-200 | Off Compulsory | 2010:09:18 11:37:40

그래서 검색을 해보니, make modules_install 을 해주거나 depmod 를 해주면 되는 것으로 추측된다.
cd linux-2.6.30/drivers/gpu/drm/i915/
patch i915_drv.c /tmp/patch # make any modification you need here
make -C /usr/src/linux-headers-`uname -r` M=`pwd` modules
sudo make -C /usr/src/linux-headers-`uname -r` M=`pwd` modules_install
sudo depmod -a

[링크 : https://wiki.ubuntu.com/KernelCustomBuild]
[링크 : http://linux.die.net/man/8/depmod]

$ make modules_install
  ...
  INSTALL /lib/firmware/yam/9600.bin
  DEPMOD  2.6.32.15+drm33.5

/lib/modules/ 내용비교


여전히 initramfs 에서 못넘어 간다. 이래저래 initrd.img를 생성해야 할듯 하다.

mkinitramfs


머 생성해도 달라지는건 별로 없군 ㄱ- busybox 에서 못 넘어 간다 (안해!!!! ㅆㅂ)
Motorola | A853 | Normal program | Center-weighted average | 1/10sec | F/2.8 | 0.00 EV | ISO-200 | Off Compulsory | 2010:09:18 13:59:30

Motorola | A853 | Normal program | Center-weighted average | 1/10sec | F/2.8 | 0.00 EV | ISO-200 | Off Compulsory | 2010:09:18 13:16:40

다른것들 보다는.. 도대체 왜
 FATAL: Could not load /lib/modules/... : No such file or directory
라는 에러가 발생을 하는지 모르겠다.


---
/dev/sda1 대신 /dev/hda1을 바꾸면 될까 했는데.. 역시나 안되고 -_-
(sda1은 SATA 하드 hda1은 IDE용 하드의 식별자이다)

혹시나 해서 initrd의 내용을 열어보니
conf/conf.d/resume 파일의 내용중 UUID의 값이 /boot/grub/grub.cfg 의 내용과 다르게 들어있었다.
그리고 이 내용은
/etc/initramfs-tools/conf.d/resume에 들어있던 내용이고
mkinitramfs 에 의해 이 내용이 들어간 것으로 보인다.

Extracting initrd image
Initrd image is just cpio-gzip archive. So to extract it:

$ mkdir initrd
$ cd initrd
$ gzip -dc /boot/initrd-2.6.16-026test014.4-smp.cpio | cpio

[링크 : http://wiki.openvz.org/Modifying_initrd_image]

바꾸어서 해보니 안되는건 차이가 없다.
그래서 위의 방법대로 되는 버전의 initrd 와 내가 만든 initrd를 비교해보니
initrd 내부의 /lib/modules/ 에 modules.dep 파일이 빠져있었다 ㄱ-
미네랄!



2010.09.19
문서를 찾아봐도 mkinitramfs 라는 녀석이 끝판왕인데
나의 경우에는 우분투에서 받은 소스의 설치 경로가 달라서인지 제대로 된 initrd.img가 생성되지 않았다.

아무튼 이러한 경로를 참조해서 생성하도록 [version] 값을 넣어주어야 한다.
(-o 옵션 뒤의 값은 생성할 파일의 이름이고, 그 뒤의 이름은 /lib/modules에 존재하는 디렉토리의 이름이다)
 $ ls -al /lib/modules/[version]
 $ mkinitramfs -o initrd.img-[version] [version]


신고

'Linux > Ubuntu' 카테고리의 다른 글

ubuntu VINO server 설정 - 암호없이 접속하기  (0) 2010.10.28
Ubuntu Kernel Compile 버전 정보  (0) 2010.09.21
grub.cfg 설정 + VFS 패닉  (4) 2010.09.18
ubuntu 업데이트 시스템의 불편함  (0) 2010.09.18
grub2 메뉴 들어가기  (0) 2010.09.16
grub menu.lst 넌 어디야?!  (0) 2010.09.15
Posted by 구차니

댓글을 달아 주세요

  1. 이제 한가위네요...
    구차니님, 즐겁고 행복하게 보내세요.. ^^

    2010.09.18 15:35 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 마래바님은 이번 추석에 쉬시나요?
      일에 바쁘시더라도 마음만은 풍성한 한가위가 되시길 바래요 ^^

      2010.09.18 23:17 신고 [ ADDR : EDIT/ DEL ]
  2. 처음 뵙겠습니다!
    유분투에서 커널 컴파일하며 여러 웹사이트 다니다가 들어왔어요.
    좋은 정보 감사합니다!

    2011.02.06 19:31 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 해결은 되셨는지 모르겠네요 ^^;
      저도 어떻게든 겨우겨우 부팅은 했지만 오히려 더 나빠진 느낌이 들어서 거의 포기중이거든요 ㅎ


      그리고 Ubuntu는 우분투로 발음을 한답니다.
      http://imc84.egloos.com/4129848 아래글을 참고하세요 ^^

      2011.02.06 20:10 신고 [ ADDR : EDIT/ DEL ]

Linux/Ubuntu2010.09.16 08:51
커널 바꾸고 VFS 패닉나는 관계로.. 복구를 해야 하는데
당췌 우분투 10.04 에서 지원하는 부트로더의 메뉴로 들어가는 법을 찾지 못하고 있었는데..

grub 의 경우 esc
grub2의 경우 shift를 누르고 부팅을 하면 메뉴로 들어간다고 한다.
(USB 로 부팅해서 복구하기 귀찮아서 이러는건 절대 아닐지도 -_-)

부팅되는 동안 시스템이 쉬프트 키(SHIFT key)의 상태를 점검하는데, 만약 결정하지 못했다면, 이에스시 키(ESC key)를 누름으로써 메뉴를 보이게 할 수도 있습니다

[링크 : http://www.xpressengine.com/18965688]

[링크 : http://www.gnu.org/software/grub/]
[링크 : http://www.dedoimedo.com/computers/grub-2.html]
[링크 : http://ubuntuforums.org/showthread.php?t=1195275]


집에와서 해보니, BIOS 에서 부터 Shift를 누르는것은 들어가지지 않고,
BIOS 에서 Bootloader로 넘어가는 시점에서 부터 Shift 키를 누르고 있어야 GRUB loader menu로 진입하였다.
눌렀다 뗐다 하는것도 안되고, 계속 메뉴가 뜰때까지 누르고 있어야 하는데 음.. 이건 촘 아니라는 느낌..
신고

'Linux > Ubuntu' 카테고리의 다른 글

grub.cfg 설정 + VFS 패닉  (4) 2010.09.18
ubuntu 업데이트 시스템의 불편함  (0) 2010.09.18
grub2 메뉴 들어가기  (0) 2010.09.16
grub menu.lst 넌 어디야?!  (0) 2010.09.15
yaffs2 하려는데 왜케 빡시누  (0) 2010.09.14
ubuntu 에서 X window 종료시키기  (0) 2010.08.23
Posted by 구차니

댓글을 달아 주세요

Linux/Ubuntu2010.09.15 14:01
/boot/grub/menu.lst 에서 (grub)
/boot/grub/grub.conf 로 (grub2) 변경되었다고 한다.
[링크 : http://www.ubuntu.or.kr/viewtopic.php?p=53681]

어쩐지 커널 컴파일 하고 변화가 없더라 -_-
update-grub (grub)
update-grub2 (grub2) 라는걸 사용하라는데
음.. 개인이 직접 컴파일 한 녀석은 어떻게 갱신해야 하려나...
[링크 : http://ubuntu.or.kr/viewtopic.php?p=52374]


더보기


신고
Posted by 구차니

댓글을 달아 주세요

Linux/Ubuntu2010.02.01 16:31
우분투에서는 init 3 명령어로 Xwindow를 종료할수 없다.
정 안되면 magic key를 이용해서 다른 콘솔로 이동한다. ctrl-alt-f1
[링크 : http://simplism.kr/wordpress/?p=258]

grub2는 /boot/grub 와 /etc/default/grub 그리고 /etc/grub.d 로 나뉘는데,
수정은 /etc/default/grub를 한뒤, sudo update-grub로 설정을 변경해준다.
[링크 : http://www.simdoly.com/3935]

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 라는 문구가 기본인데,
vga=791 를 추가해준다. 791의 의미는 1024x768에 16bit color의 framebuffer를 생성하라는 의미이다.
fbset 패키지를 설치해도 /dev/fb가 생성되지는 않는다.
[링크 : http://harrison3001.blogspot.com/2009/09/grub-2-graphical-boot-tips-to-set.html]
[링크 : https://wiki.ubuntu.com/FrameBuffer]


2010.02.22 추가
위의 내용은 ubuntu 9.10 Desktop Edition 에서 테스트 후 올려진 글입니다.
신고
Posted by 구차니

댓글을 달아 주세요

  1. 마추

    ubuntu 9.10 server 버전을 받아 따라 하고 있는데, vga=791로 해도 /dev/fb가 생성되지 않네요.
    혹시나 싶어 grub2 제거하고 이전버전 grub으로 되돌려도 해보고 해도 /dev/fb가 나타날 생각을 안하네요..
    그래서, console상에 image viewer program인 zgv를 다운받아 실행해 봤는데, 정상적으로 잘동작하여 framebuffer는 되는 것 같은데, 혹시 /dev/fb 가 아니더라도 framebuffer를 사용할 수 있을까요?

    embeded 개발 보드 구입전 미리 pc상에서 framebuffer 출력 프로그램을 테스트해 볼려고 하는데, 처음부터 막혀구차니님께 질문 드립니다.
    새버전부터는 /dev/ 대신 /sys/dev/ 를 사용한다는 말이 있어 그쪽 파일을 살펴봐도 framebuffer처럼 생긴 것이 안보이네요..

    2010.02.22 09:45 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 제가 사용했던 것은 9.10 "Desktop" Edition이었습니다. 아마 서버 에디션에서는 커널에서 FB 지원이 꺼져있는게 아닐까 생각이 됩니다. 커널 소스 받으신뒤 frame buffer를 활성화 하시고 커널변경후 리부팅 해보시면 되지 않을까 추측을 해봅니다.

      많은 도움 드리지 못해 죄송합니다 ㅠ.ㅠ

      결론 : 서버버전의 framebuffer 활성화를 확인해봐야할듯 합니다.

      2010.02.22 09:59 신고 [ ADDR : EDIT/ DEL ]
  2. 마추

    역시 구차님님 지적대로 커널에서 FB 지원이 꺼져있었네요.
    /etc/initramfs-tools/modules에 FB올리라는 명령이 없다보니, 아무리 grub에서 해봤자, 안되었던 거였군요..
    구차니님 힌트로 fbcon과 vesafb를 modules에 올리고 나서 커널 update하니 /dev/fb0가 나타나네요..
    감사합니다.

    2010.02.22 16:14 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • /etc/initramfs-tools 쪽은 처음 들어보네요 ㅎ 한번 공부해봐야겠어요. 좋은정보 감사합니다 ^^

      그래도 해결되었다니 다행이네요.

      2010.02.22 16:24 신고 [ ADDR : EDIT/ DEL ]