- personal
- snipets
- openbsd
- linux
- solaris
- configuration
This page describes how to setup a serial console on a omnios/openindiana server.
This happens in multiple steps.
Lets enable serial access on GRUB first.
If you are lucky, your BMC/IPMI may do redirection! This is prefered over having GRUB configure a serial port. This way both the console and serial port will display the same menu at the same time.
Look for the following line in /rpool/boot/grub/menu.lst
splashimage /boot/grub/splash.xpm.gz
and simply comment it out:
#splashimage /boot/grub/splash.xpm.gz
To make this take effect we need to update the boot archive. Simple run:
bootadm update-archive
note:
this seems to work for most SuperMicro Boards, someone mentioned it works for Dell also.
If BIOS redirection did not work, we can have GRUB configure the serial port for us. This has the down side of GRUB waiting for 31) seconds, first terminal with a key press will have the menu displayed. This does look prettier than the one you get with BIOS redirection.
Edit /rpool/boot/grub/menu.lst
and uncomment the following lines:
#splashimage /boot/grub/splash.xpm.gz serial --unit=0 --speed=115200 ---word=8 --parity=no --stop=1 terminal --timeout=3 console serial
To make this take effect we need to update the boot archive. Simple run:
bootadm update-archive
Newer Illumos distro come with grub composite mode, any recent SmartOS or OmniOS r151012 or newer.
Edit /rpool/boot/grub/menu.lst
and uncomment the following lines:
#splashimage /boot/grub/splash.xpm.gz serial --unit=0 --speed=115200 ---word=8 --parity=no --stop=1 terminal composite
To make this take effect we need to update the boot archive. Simple run:
bootadm update-archive
This is pretty simple! Run the following commands to set it up. Personally I do not enable this.
eeprom console=ttya eeprom ttya-mode="115200,8,n,1,-" bootadm update-archive
Configure ttydef for serial port 1 and 2
sttydefs -a com0 -i '115200 hupcl opost onlcr ofill' -f '115200' sttydefs -a com1 -i '115200 hupcl opost onlcr ofill' -f '115200'
Allow root to login from all consoles:
/usr/gnu/bin/sed -i 's/^CONSOLE=/#CONSOLE=/' /etc/default/login
Patching console-login smf
svccfg export console-login > console-login.xml patch < console-login.patch svccfg import console-login.xml && rm console-login.xml console-login.patch console-login.xml.orig svcadm enable svc:/system/vtdaemon:default svcadm enable svc:/system/console-login:com1
--- console-login.xml 2014-08-31 17:51:26.074514551 +0200 +++ console-login.xml 2014-08-31 17:55:06.599390359 +0200 @@ -225,6 +225,42 @@ <propval name='value_authorization' type='astring' value='solaris.smf.value.vt'/> </property_group> </instance> + <instance name='com0' enabled='false'> + <dependency name='system-console' grouping='require_all' restart_on='none' type='service'> + <service_fmri value='svc:/system/console-login:default'/> + </dependency> + <dependency name='vtdaemon' grouping='require_all' restart_on='none' type='service'> + <service_fmri value='svc:/system/vtdaemon:default'/> + </dependency> + <property_group name='ttymon' type='application'> + <propval name='device' type='astring' value='/dev/ttya' /> + <propval name='label' type='astring' value='com0'/> + <propval name='modules' type='astring' value='ldterm,ttcompat'/> + <propval name='nohangup' type='boolean' value='true'/> + <propval name='prompt' type='astring' value='`uname -n` com0 login:'/> + <propval name='terminal_type' type='astring' value='vt100'/> + <propval name='timeout' type='count' value='0'/> + <propval name='value_authorization' type='astring' value='solaris.smf.value.vt'/> + </property_group> + </instance> + <instance name='com1' enabled='false'> + <dependency name='system-console' grouping='require_all' restart_on='none' type='service'> + <service_fmri value='svc:/system/console-login:default'/> + </dependency> + <dependency name='vtdaemon' grouping='require_all' restart_on='none' type='service'> + <service_fmri value='svc:/system/vtdaemon:default'/> + </dependency> + <property_group name='ttymon' type='application'> + <propval name='device' type='astring' value='/dev/ttyb' /> + <propval name='label' type='astring' value='com1'/> + <propval name='modules' type='astring' value='ldterm,ttcompat'/> + <propval name='nohangup' type='boolean' value='true'/> + <propval name='prompt' type='astring' value='`uname -n` com1 login:'/> + <propval name='terminal_type' type='astring' value='vt100'/> + <propval name='timeout' type='count' value='0'/> + <propval name='value_authorization' type='astring' value='solaris.smf.value.vt'/> + </property_group> + </instance> <stability value='Evolving'/> <template> <common_name>
terminal –timeout