[Soekris] Debian pxe netinstall and GRUB over serial information

Thomas Fjellstrom thomas at fjellstrom.ca
Thu Aug 16 19:57:43 UTC 2012


I just did a fresh install of Debian on my soekris over PXE. It was rather
painless once I modified the debian-installer to output /only/ over serial and
to set the right baud rate.

Basically once you extract the debian installer image (netboot.tar.gz), you
extract to the tftp file directory, and make a few modifications:

First off, you want to modify the:

debian-installer/i386/boot-screens/syslinux.cfg 

file to look like:

# D-I config version 2.0
SERIAL 0 19200
CONSOLE 0

include debian-installer/i386/boot-screens/menu.cfg
#default debian-installer/i386/boot-screens/vesamenu.c32
prompt 0
timeout 0

That should set up syslinux/pxelinux to only output via serial.

I also added 'serial 0 19200 0' to the top of boot-screens/menu.cfg and the
'serial' section from the debian bug tracker (http://lists.debian.org/debian
boot/2008/11/msg00205.html) with a few modifications:

menu begin serial
   menu title Serial console
   label mainmenu
      menu label ^Back..
      menu exit
   include debian-installer/i386/boot-screens/stdmenu.cfg
   include debian-installer/i386/boot-screens/sadtext.cfg
   include debian-installer/i386/boot-screens/adamdtext.cfg
menu end

Then you want to add the sattext.cfg file, also from the debian bug tracker
(with a few modifications):

default sinstall
label sinstall
        menu label ^Install
        menu default
        kernel debian-installer/i386/linux
        append vga=normal initrd=debian-installer/i386/initrd.gz -- console=ttyS0,19200n8 quiet
label expert
   menu label ^Expert install
   kernel debian-installer/i386/linux
   append priority=low vga=normal initrd=debian-installer/i386/initrd.gz -- console=ttyS0,19200n8
label rescue
   menu label ^Rescue mode
   kernel debian-installer/i386/linux
   append debian-installer/serial-console vga=normal initrd=debian-installer/i386/initrd.gz rescue/enable=true -- console=ttyS0,19200n8 quiet
label auto
   menu label ^Automated install
   kernel debian-installer/i386/linux
   append auto=true priority=critical vga=normal initrd=debian-installer/i386/initrd.gz -- console=ttyS0,19200n8 quiet

After that, everything was working, the installer managed to work fine
(if a bit ugly due to no extended ascii characters for drawing), and the
installer set up grub and the kernel to output via serial with the same
settings that were passed to the installer. Even grub's text menu works fine
over serial.

But just in case you just want to modify grub to output over serial, here's the
important bits of the /etc/default/grub config:

GRUB_CMDLINE_LINUX="console=ttyS0,19200n8"
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=19200 --word=8 --parity=no --stop=1"

This way, grub skips the grapgical and text output, and only outputs via
the first serial port, and sets up the linux kernels to output via ttyS0.

I hope that helps someone.

-- 
Thomas Fjellstrom
thomas at fjellstrom.ca


More information about the Soekris-tech mailing list