Enable Serial Console on Boot
How to Enable the Serial Console on Boot (1.10.x)
When using syslinux to boot, you'll need to modify the syslinux.cfg file in the root directory of the boot device. If using a disk-based Alpine, modify the /boot/extlinux.cfg file.
Add the following:
- serial 0 9600
- add console=ttyS0,9600 to the append parameter
- optionally, remove quiet from the append parameter
Example syslinux.cfg
serial 0 9600 timeout 20 prompt 1 default grsec label grsec kernel /boot/grsec append initrd=/boot/grsec.gz alpine_dev=sda1:vfat modules=sd-mod,usb-storage console=ttyS0,9600
update-extlinux.conf (2.5+)
The /etc/update-extlinux.conf is read by the update-extlinux utility.
Apparently you can't use it to set the SERIAL parameters in the /boot/extlinux.conf file. But it can at least set the kernel console line.
To do so, change the default entry:
default_kernel_opts="quiet"
to read like this:
default_kernel_opts="console=ttys0,9600"
Notice, if you want to use this for a Xen VM, you need to configure the speed at 115200 bps and enable the
serial="pty"
setting in the VM config file.
Example /boot/extlinux.conf
This is a complete file, written by update-extlinux.conf and then later edited to include the serial "bits".
DEFAULT menu.c32 PROMPT 0 MENU TITLE Alpine/Linux Boot Menu MENU AUTOBOOT Alpine will be booted automatically in # seconds. SERIAL 0 115200 TIMEOUT 100 LABEL grsec MENU DEFAULT MENU LABEL Linux 3.10.33-0-grsec LINUX vmlinuz-3.10.33-0-grsec INITRD initramfs-3.10.33-0-grsec APPEND root=UUID=re-mov-ed-uu-id modules=sd-mod,usb-storage,ext4 console=ttyS0,115200 MENU SEPARATOR
Please: adjust the tty speed to 9600 if needed. The timeout is given in centiseconds, so this would be a 10 second timeout.
Enabling a login console
This is done in /etc/inittab. There is commented entry for ttyS0. Just enable it.
# Put a getty on the serial port ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100
I don't know how to restart init on Alpine, so I reboot. Probably there is a a rebootless way for this?