Grub VGA Mode

Posted on the November 28th, 2008 under Linux by rmichel

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=0×369 to boot up with 1680×1050 :)

Serielle Konsole für Server (Grub)

Posted on the April 8th, 2008 under HowTo, Linux by rmichel

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.