Grub VGA Mode

You would like to know what Grub VGA Mode you can use ? Default is something like that

Color depth      | 640x480  800x600  1024x768 1280x1024
-----------------+-------------------------------------
256        (8bit)|  769      771       773      775
32000     (15bit)|  784      787       790      793
65000     (16bit)|  785      788       791      794
16.7 Mill.(24bit)|  786      789       792      795

but with hwinfo --framebuffer you get an output like this

stina:/home/rmichel# hwinfo --framebuffer
02: None 00.0: 11001 VESA Framebuffer
  [Created at bios.450]
  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: 0xd1000000-0xd1dfffff (rw)
  Mode 0x0300: 640x400 (+640), 8 bits
  Mode 0x0301: 640x480 (+640), 8 bits
  Mode 0x0303: 800x600 (+800), 8 bits
  Mode 0x0305: 1024x768 (+1024), 8 bits
  Mode 0x0307: 1280x1024 (+1280), 8 bits
  Mode 0x030e: 320x200 (+640), 16 bits
  Mode 0x030f: 320x200 (+1280), 24 bits
  Mode 0x0311: 640x480 (+1280), 16 bits
  Mode 0x0312: 640x480 (+2560), 24 bits
  Mode 0x0314: 800x600 (+1600), 16 bits
  Mode 0x0315: 800x600 (+3200), 24 bits
  Mode 0x0317: 1024x768 (+2048), 16 bits
  Mode 0x0318: 1024x768 (+4096), 24 bits
  Mode 0x031a: 1280x1024 (+2560), 16 bits
  Mode 0x031b: 1280x1024 (+5120), 24 bits
  Mode 0x0330: 320x200 (+320), 8 bits
  Mode 0x0331: 320x400 (+320), 8 bits
  Mode 0x0332: 320x400 (+640), 16 bits
  Mode 0x0333: 320x400 (+1280), 24 bits
  Mode 0x0334: 320x240 (+320), 8 bits
  Mode 0x0335: 320x240 (+640), 16 bits
  Mode 0x0336: 320x240 (+1280), 24 bits
  Mode 0x033d: 640x400 (+1280), 16 bits
  Mode 0x033e: 640x400 (+2560), 24 bits
  Mode 0x0345: 1600x1200 (+1600), 8 bits
  Mode 0x0346: 1600x1200 (+3200), 16 bits
  Mode 0x0347: 1400x1050 (+1400), 8 bits
  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

My notebook has native 1680×1050 so i can use vga=0x369 to boot up with 1680×1050 ­čÖé

Serielle Konsole f├╝r Server (Grub)

Einf├╝hrung

Wenn wir zwei Server irgendwo (z.B. Rechenzentrum) stehen haben und es die M├Âglichkeit besteht, dass man beide via Nullmodem-Kabel verbinden, kann man sie auch ohne SSH-Zugang warten (z.B. nach einem fehlgeschlagenen Kernelupdate). Leider nur immer in eine Richtung. F├╝r beide Richtungen br├Ąuchte man 2 Nullmodem-Kabel.

Konfiguration

Damit wir die M├Âglichkeit haben den Kernel auszuw├Ąhlen, sollten wir Grub sagen, dass es seine Ausgabe an den seriellen Port weiterleitet.

Dazu f├╝gen wir folgende Zeien in die /boot/grub/menu.lst hinzu.

serial --unit=0 --speed=57600
terminal --timeout=2 serial console

Erkl├Ąrung:

--unit=0

hei├čt einfach das der Com1 bzw. ttyS0 genutzt wird. Der Parameter

--speed=57600

steht f├╝r die ├ťbertragungsgeschwindingkeit. Standard ist 9600.

--timeout=2 serial console

bedeutet das man 2 Sekunden Zeit hat und das die prim├Ąre Ausgabe auf dem seriellen Port und die sekund├Ąre auf der Console ist.

Jetzt wird die Ausgabe vom Grub an den seriellen Port umgeleitet. Damit wir aber auch einen Login an der seriellen Konsole bekommen, m├╝ssen wir die /etc/inittab noch bearbeiten.

Wir suchen diesen Teil

# Example how to put a getty on a serial line (for a terminal)
#
#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100

und entfernen das # vor der Zeile mit T0 und ├Ąndern die Zahl 9600 wieder auf 57600.

Die Zeile

T0:23:respawn:/sbin/getty -L ttyS0 57600 vt100

hei├čt dann nichts anderes als das nach dem Starten ein Login auf ttyS0 in/mit der Geschwindigkeit von 57600 Kbit/s auf uns wartet.

Damit der Kernel seine Meldungen auf der seriellen Konsole aus gibt, geben wir dem Kernel noch zwei Parameter mit:

console=tty0 console=ttyS0,57600n8

Das sollte dann so in etwa aussehen:

title           Debian GNU/Linux, kernel 2.6.18-6-686 (single-user mode)
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.18-6-686 root=/dev/hda1 ro vga=791 console=tty0 console=ttyS0,57600n8
initrd          /boot/initrd.img-2.6.18-6-686
savedefault

Das hei├čt, dass die Kernelmeldung auf der console und der seriellen Konsole ausgegeben werden. Wenn alles fertig ist, neustarten. Mann kann jetzt zB via minicom auf dem anderen Server die Ausgabe von dem gerade eingerichteten Server sehen.