Damit man auf einem Laptop mit einem WideScreen bei dem booten nicht von einer übergroßen Schrift erschlagen wird sollte man sich GRUB2 annehmen.
Als erstes sollte man herausfinden, welche Auflösung der Monitor unterstützt ( sollte eigentlich bekannt sein und welche Auflösung die Grafikkarte (Framebuffer) bietet:
root@takeshi:/home/seraphyn# hwinfo --framebuffer 02: None 00.0: 11001 VESA Framebuffer [Created at bios.464] Unique ID: rdCR.VSBbdW2x3qC Hardware Class: framebuffer Model: "NVIDIA G86 Board - NV_NB8M " Vendor: "NVIDIA Corporation" Device: "G86 Board - NV_NB8M " SubVendor: "NVIDIA" SubDevice: Revision: "Chip Rev" Memory Size: 14 MB Memory Range: 0xd5000000-0xd5dfffff (rw) --------------- gekürzt ---------------- Mode 0x0348: 1400x1050 (+2800), 16 bits Mode 0x0349: 1400x1050 (+5600), 24 bits Mode 0x034a: 1600x1200 (+6400), 24 bits Mode 0x0352: 2048x1536 (+8192), 24 bits Mode 0x0360: 1280x800 (+1280), 8 bits Mode 0x0361: 1280x800 (+5120), 24 bits Mode 0x0362: 768x480 (+768), 8 bits Mode 0x0364: 1440x900 (+1440), 8 bits Mode 0x0365: 1440x900 (+5760), 24 bits Mode 0x0368: 1680x1050 (+1680), 8 bits Mode 0x0369: 1680x1050 (+6720), 24 bits Mode 0x037c: 1920x1200 (+1920), 8 bits Mode 0x037d: 1920x1200 (+7680), 24 bits Config Status: cfg=new, avail=yes, need=no, active=unknown
Ich kann mich nun Entscheiden, ob ich den Dezimalen Wert (1280×800) oder den Hexadezimalen Wert später eintragen möchte, die Wäre 0x0360 und ist in Zeile 19 zu finden.
Nun bearbeitet man die Datei /etc/default/grub und setzt GRUB_GFXMODE= auf seinen Wert:
# If you change this file, run 'update-grub' afterwards to update # /boot/grub/grub.cfg. GRUB_DEFAULT=0 GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="quiet" GRUB_CMDLINE_LINUX="" # Uncomment to enable BadRAM filtering, modify to suit your needs # This works with Linux (no patch required) and with any kernel that obtains # the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...) #GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef" # Uncomment to disable graphical terminal (grub-pc only) #GRUB_TERMINAL=console # The resolution used on graphical terminal # note that you can use only modes which your graphic card supports via VBE # you can see them in real GRUB with the command `vbeinfo' GRUB_GFXMODE=1280x800 # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux #GRUB_DISABLE_LINUX_UUID=true # Uncomment to disable generation of recovery mode menu entries #GRUB_DISABLE_LINUX_RECOVERY="true" # Uncomment to get a beep at grub start #GRUB_INIT_TUNE="480 440 1"
Jetzt kommt das knifflige an der Sache, damit die Auflösung auch erhalten bleibt muss man eine Datei von Debian Squeeze umschreiben /etc/grub.d/00_header, keinen Fehler machen, sonst wird es mit der Generierung der /boot/grub/grub.cfg sehr schwer und ein booten kann unmöglich gemacht werden:
if loadfont `make_system_path_relative_to_its_root "${GRUB_FONT_PATH}"` ; then set gfxmode=${GRUB_GFXMODE} load_video insmod gfxterm fi
Ändert man in :
if loadfont `make_system_path_relative_to_its_root "${GRUB_FONT_PATH}"` ; then set gfxmode=${GRUB_GFXMODE} set gfxpayload=keep load_video insmod gfxterm fi
Und kann danach mit einem update-grub2 die /boot/grub/grub.cfg neu schreiben lassen.
Wer noch Lust hat kann ja in der Datei /etc/default/grub sein bootloader Mario spielen lassen :
GRUB_INIT_TUNE=“1000 334 1 334 1 0 1 334 1 0 1 261 1 334 1 0 1 392 2 0 4 196 2″
Bist du bei deinen Recherchen zufällig mal darüber gestolpert, wie man auf *einfache* Weise wieder einen richtigen Textmodus bekommt? Ein paar Minuten googeln haben bei mir nur relativ aufwendige Methoden zu Tage gefördert (schon wieder ein paar Wochen her). Einige sind sogar lieber zu syslinux bzw. lilo zurück, weil das einfacher war …
Mit einfachem Textmodus meine ich einen, wo die Grafikkarte die Darstellung der Schrift übernimmt und man der nur sagt, nimm bitte 80×50 Zeichen. Also quasi so ein Modus, wie sich das Bios nach dem Einschalten meldet (ja, ich weiß, es gibt auch schon grafisch aufgehübschte Bios-Versionen).
Ich habe bei meinem Server eine uralte ATI Rage128 drin, und aus mir unerfindlichen Gründen ist die vom Debian-Grub2 verwendete Auflösung (weiß nicht genau, welche das ist, würde auf 800×600 raten) bei der Textausgabe extrem langsam, man kann beim Scrollen zuschauen. Im Textmodus, den ich vor dem Update auf Lenny mit Grub1 verwendet habe, war das definitiv besser, und ich wollte mit wenig Aufwand diesen Zustand wieder haben.
Die Konfigurationsdatei von grub1 fand ich fast selbsterklärend, die von grub2 – naja. Ich glaube, ich habe die Lösung gerade gefunden: GRUB_GFXPAYLOAD_LINUX auf „text“ setzen soll helfen. Muss ich mal probieren.
Hi Usul,
was meinst Du mit einfachem Textmodus?
Wenn es dir darum geht ohne Splash zu booten, kannst Du ihn auch direkt wieder ausschalten.
Und mit GRUB2 sehe ich keine Herausforderungen, man sollte sich halt mal die Anleitungen zu GRUB2 durchlesen, da GRUB2 ziemlich simpel gehalten wurde und mir durch die einzelnen Konfigurationsdateien das Leben wirklich sehr einfach macht. Ich war auch mal ein LiLo-Fan, aber bin es lange schon nicht mehr.