We use Conserver, the "console server daemon", to manage serial consoles for most of our systems. Several systems can be powered on using the serial console, and the others are useful for the accessing the system when the network is misconfigured or down.
To get a list of consoles, type "console -x":
% console -x Enter hobo@caffeine's password: ascorbic-acid on /dev/ttyS0 at 9600n potassium-citrate on /dev/ttyS1 at 115200n citric-acid on /dev/ttyS1 at 9600n [...]
To connect to a console, type "console <name>", replacing name by the name of the console.
% console caffeine Enter hobo@caffeine's password: [Enter `^Ec?' for help] Debian GNU/Linux 4.0 caffeine ttyS0 caffeine login:
To disconnect, type '^Ec.' That's Control+E followed by 'c' followed by '.'.
caffeine login: [disconnect]
For help on available escape sequences, type '^E?'.
Our Netra T1, ascorbic-acid, has a lights-out management (LOM) system on the first serial port. To access LOM, type '#.' while connected to the console.
Debian GNU/Linux 4.0 ascorbic-acid ttyS0 ascorbic-acid login: (press #.) lom>
For a list of commands, type "help".
lom>help alarmon alarmoff check console environment faulton faultoff
To get back to the system console, type "console".
lom>console ascorbic-acid login:
To pause the system, type "break". This will give you the mystical "ok" prompt.
lom>break Type 'go' to resume ok
This prompt has a debugger among other things. To resume normal execution, type "go".
ok go ascorbic-acid login:
The first serial port on citric-acid is used to access the linux console, the SRM console, and remote console monitor (RCM). SRM is only available when the system is off, and is primarily used to boot the system. RCM can be used while the system is running, and can be used to check the system's status or halt the system.
To access RCM from the console, type "^]^]rcm".
citric-acid login: (press ^]^]rcm)
As usual, type "help" for a list of commands.
RCM>help halt haltin haltout poweroff poweron quit reset status
Type "quit" to get back to the linux console:
RCM>quit Focus returned to COM port citric-acid login:
The "halt" command will halt the system immediately and activate the SRM console. Do not use this while the system is running unless absolutely necessary, as it will not shutdown cleanly. Doing a clean "halt" from Linux will also activate the SRM console.
To access SRM, you must halt the system. When you do, you will be presented with the P00 prompt.
To list the hardware (such as disks) attached to the system, type "show dev".
P00>>>show dev polling ncr0 (NCR 53C810) slot 1, bus 0 PCI, hose 1 � SCSI Bus ID 7 dka400.4.0.1.1 DKA400 RRD43 1084 mka600.6.0.1.1 MKA600 TLZ10 04a8 polling isp0 (QLogic ISP10X0) slot 2, bus 0 PCI, hose 1 SCSI Bus ID 7 dkb0.0.0.2.1 DKB0 RZ2EA-LA N1H1 polling isp1 (QLogic ISP10X0) slot 3, bus 0 PCI, hose 1 SCSI Bus ID 7 dkc0.0.0.3.1 DKC0 RZ1EF-CB 0372 dkc184.108.40.206.1 DKC100 RZ2EA-LA N1H1 polling floppy0 (FLOPPY) PCEB - XBUS hose 0 dva0.0.0.1000.0 DVA0 RX23
To show variables, type "show".
P00>>>show auto_action BOOT boot_dev dkb0.0.0.2.1 boot_file vmunix boot_osflags 0 boot_reset OFF bootdef_dev dkb0.0.0.2.1 booted_dev dkb0.0.0.2.1 booted_file vmunix booted_osflags ? [...]
The most important command is "boot". This starts aboot, the boot loader. Typing boot with no arguments uses the defaults in "boot_dev", "boot_file", and "boot_osflags" options. You can also boot with specific options:
P00>>>boot dkb0 -fi /vmlinuz -fl "ro initrd=/initrd.img root=/dev/mapper/vg0-root console=ttyS0,9600"
Alternatively, you can boot a specific aboot preset. Currently the only presets are 0 (default) and 1 (single user).
P00>>>boot dkb0 -fl N
Finally, you can confuse aboot by giving it an invalid preset number. This will give you the aboot prompt.
P00>>>boot dkb0 -fl ?
Qemu and KVM
We have several Qemu and KVM VMs. For these, the system console doubles as the "Qemu Monitor" The qemu monitor can be used to change removable devices in the VM, among other things. To swap between the linux console and it, type '^Ac'.
FreeBSD/amd64 (freebsd.csclub.uwaterloo.ca) (ttyd0) login: (press ^A c) (qemu)
To show removable drives, type "info block".
(qemu) info block ide0-hd0: type=hd removable=0 file=/vm/freebsd/hda.img ro=0 drv=vmdk ide1-cd0: type=cdrom removable=1 locked=0 [not inserted] floppy0: type=floppy removable=1 locked=0 [not inserted] sd0: type=floppy removable=1 locked=0 [not inserted]
To change media, type "change <device> <filename>".
(qemu) change floppy0 /vm/freebsd/kern1.flp
To terminate the VM, type "quit".