Can I use Solaris/x86 to setup a "headless" server?

Can I use Solaris/x86 to setup a "headless" server?

The answer is yes, it can be done, but it's BIOS dependent, since many
BIOS chips won't boot up the system without the keyboard and video card.
The console can be configured to go to serial ports as described below.
Removal of video card is also BIOS dependent.
Setup steps:


1. Set the serial line's Carrier Detect (CD) to HIGH and (for 2.6 only)
set the serial line's Data Set Ready (DSR) to HIGH. If you don't--it
won't boot. This can be done with a NULL modem or with the following
25-pin or 9-pin pinouts:


DTE A DTE B
25 (9) 25 (9)
------ ------
FG 1 (-) ------ 1 (-) FG
TD* 2 (3) ------ 3 (2) RD
RD 3 (2) ------ 2 (3) TD*
CTS 5 (8) -+---- 20 (4) DTR*
DSR 6 (6) -| +- 5 (8) CTS
CD 8 (1) -+ |- 6 (6) DSR
DTR* 20 (4) ----+- 8 (1) CD
SG 7 (5) ------ 7 (5) SG
RTS* 4 (7) (nc) 4 (7) RTS*
RI 22 (9) (nc) 22 (9) RI
* DTE (terminal/computer) driven
(nc) = no connection



If the NULL modem is "incomplete", the boot process hangs shortly after
starting the asy driver (after the message "asy0 is /isa/asy@1,3f8"
or similar asy1/2f8 message).
For details, see

http://www.freebsd.org/handbook/hw-io.html



2. Set your the terminal to (9600 bps,8 bits, No parity, 1 stop bit).


3. For 2.6+, use the eeprom command to specify the console (ttya, ttyb):
eeprom input-device=ttya output-device=ttya
(just like SPARC? ;-)


Update: Andrew Schwabecher reports that using "ttya" doesn't work.
Instead, he adds these entries to
/boot/solaris/bootenv.rc:

setprop output-device com1

setprop input-device com1


For 2.5.1, add "set console = 1" to /etc/system.


Steve Rikli adds the following simpler 3-pin alternative, in lieu of the above:


I've found that, while the full NULL modem pinouts work just fine, a
simple 3-pin (TD/RD/SG) pinout scheme will also work in Solaris 8 by
issuing eeprom commands thusly:


eeprom output-device=ttya
eeprom input-device=ttya
eeprom ttya-ignore-cd=true



The kicker is the "-ignore-cd" variable,
which doesn't seem to be present by default on a Solaris x86 install,
unlike Solaris for SPARC hardware.
But setting it does work and it does persist across reboot/power-cycle.
In the absence of "ttya-ignore-cd=true"
one does indeed need a full NULL modem pinout.



PC Weasel 2000, at http://www.realweasel.com/intro.html

is a PCI board that emulates VGA cards over a serial line.
This provides a serial console interface for PC-class computers
transparent to the operating system.
This is useful for BIOS configuration and
the Solaris Device Configuration Assistant (DCA) remotely.
Of course, you can't run CDE with it, but once Solaris is up,
you can use a regular serial port.
Herb Peyerl, one of the company founders, adds:
"I've tested this card under 2.8 and it works fine. There isn't a
Solaris Watchdog driver for the Weasel yet and sometimes the text
attributes are a little funky, but it's certainly usable."


[Thanks to John Weekley, Scott Wedel, Kenneth Wagner, Andy Spitzer,
Kai O'Yang, Michael Wang, David Page, Andrew Schwabecher, Steve Rikli,
Richard Shuford, and Herb Peyerl]





Home
FAQ