'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. 9. 18. 11:24
저번에 yaffs2 넣는다고 컴파일 했다가 시스템 날려먹고
겨우겨우 grub 메뉴로 들어가 복구는 했는데.. 이유를 오늘에서야 찾아보게 되었다.
(아.. 직딩의 한이란 ㅠ.ㅠ)

Shift 누르고 GRUB2 메뉴로 들어가서 기존의 커널로 부팅!
아마 update-grub시 1번 메뉴(=기본 선택 부팅)은 시간을 비교해서 최신의 것으로 바뀌는 것으로 추측된다.

안전모드로 부팅해서 죽을때의 메시지.
0.618952 초에 나온 이후의 메시지가 관건이다. sda1 응? "root=" boot option?

그래서 다른 부팅메시지와 비교를 해봤더니
커널 설정 부분의 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 걸로 끌어다 썻더니 부팅은 시도하지만
커널과 관련된 파일들이 없어서 부팅이 진행되지는 않는다.

그래서 검색을 해보니, 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


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

머 생성해도 달라지는건 별로 없군 ㄱ- busybox 에서 못 넘어 간다 (안해!!!! ㅆㅂ)


다른것들 보다는.. 도대체 왜
 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]


Posted by 구차니
Linux/Ubuntu2010. 9. 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
grub menu.lst 넌 어디야?!  (0) 2010.09.15
yaffs2 하려는데 왜케 빡시누  (0) 2010.09.14
ubuntu 에서 X window 종료시키기  (0) 2010.08.23
Posted by 구차니
Linux/Ubuntu2010. 9. 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. 2. 1. 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 구차니