27 Apr 2009

Grub2 mit Gentoo

Gestern abend habe ich noch etwas herum experimentiert. Ich wollte mir Grub2 anschauen.

Meine erste Entdeckung war: das ebuild ist defekt. Offensichtlich wird ein Befehl nicht automatisch ausgeführt, welcher notwendige Dateien erstellen sollte.

Nun, ich bin hartnäckig geblieben. Das SVN-Repo ausgechecked und los gings:

<br /> ./autogen.sh<br /> ./configure --prefix=/usr/local/<br /> make && make install<br />

ACHTUNG: spätestens hier solltet ihr euer /boot/grub sichern, sofern ihr bereits „grub-legacy“ installiert habt, da grub-install einige der Daten überschreibt.

Nun findet ihr unterhalb von /usr/local/ die Dateien eures grub2. ls /usr/local/sbin zB das altbekannte grub-install. Daneben ein grub-mkconfig – welches bei mir keine sinnvolle Konfiguration zustand brachte. Daher musste ich meine grub.cfg selber erstellen:

insmod video<br /> insmod vbe<br /> insmod font<br /> loadfont /boot/grub/unifont.pf2<br /> insmod gfxterm<br /> set gfxmode="1280x1024x32;1024x768x32;800x600x32;640x480x32;1280x1024;1024x768;800x600;640x480"<br /> terminal_output gfxterm<br /> # Timeout for menu<br /> set timeout=5<br /> # Set default boot entry as Entry 0<br /> set default=0<br /> # Entry 0 - Load Linux kernel<br /> menuentry "Gentoo 2.6.29-r1-b2" {<br /> set root=(hd0,1)<br /> linux /boot/kernel-genkernel-x86_64-2.6.29-gentoo-r1-b2 root=/dev/sda1 video=uvesafb:1280x1024-32@75,mtrr:3,ywrap,noedid splash=silent,theme:black-gentoo CONSOLE=/dev/tty1 quiet resume=/dev/sda3 resume2=/dev/sda3 init=/sbin/bootchartd<br /> }<br /> # Entry 1 - Load Linux kernel<br /> menuentry "Gentoo 2.6.29-r1-b2 - Fallback" {<br /> set root=(hd0,1)<br /> linux /boot/kernel-genkernel-x86_64-2.6.29-gentoo-r1-b2 root=/dev/sda1<br /> }<br />

(grub.cfg ist übrigens kein Tippfehler – der Name wurde geändert)

DRINGEND zu beachten beim Erstellen der Config ist vor allem, dass sich die Zählweise der Partitionen geändert hat:

Festplatten werden gezählt wie üblich:

hd0 => erste Festplatte

hd1 => zweite Festplatte

Partitionen allerdings zählen von 1 ab:

hd0,1 => erste Partition auf der ersten Festplatte

hd3,7 => siebte Partition auf der vierten Festplatte

anschliessend noch ein kleines und schmerzloses

/usr/local/sbin/grub-install --recheck --no-floppy --root-directory=/ /dev/sda und grub2 landet im MBR meiner Festplatte.

Reboot => alles super – leider noch kein grafisches Bootmenü. Aber dafür ist es durch die korrekte Auflösung auch in schwarzweiss schöner als grub-0.97.