Mailinglist Archive: opensuse (2459 mails)

< Previous Next >
Re: [opensuse] Serial terminal installation

From: James Knott <james.knott@xxxxxxxxxx>
Date: Fri, 18 Jan 2008 07:39:49 -0500
Message-id: <47909E15.8050102@xxxxxxxxxx>
vasilis christaras wrote:

It's a new system. No OS. I'm trying to install it from the opensuse DVD
using a serial console.I can't even get past the boot loader screen of the

Is that even possible? I've certainly never heard of it.

I install all my boxes via serial console.
What I do may not help you much though because I do other stuff that you may
not want to do or be able to arrange. Mainly I install from a neighboring http
source not a dvd in the tray, and only use serial for navigating the bios and
bootloader, I use ssh after that.

What I do is take the kernel (linux) and initrd from the mini.iso,
and a customized syslinux.cfg that started out as just a copy of isolinux.cfg
from the mini.iso
Put them on a usb thumb drive and make it bootable with syslinux (windows or
linux version, doesn't matter, I actually just include a copy of windows
syslinux.exe right on the usb stick, so the stick contains everything necessary
to make more sticks. It's way more convenient than burning cd's, once a stick
is bootable you never need to run syslinux on it again, from then on you can
just edit the config and text files at will, load different kernels and
initrd's etc.. pop it in any desktop, edit the config a little, boot from it,
so nice...

syslinux.cfg looks like this
note serial must actually be the top line
order doesn't matter for the rest until the label sections
note the append lines will probably wrap in email
every label section is exactly 3 lines: label, kernel, append

serial 0 115200 0x013
console 0
default ssh
timeout 300
prompt 1
display main.txt
f1 main.txt
f2 notes.txt
f3 syslinux.cfg

label ssh
kernel linux
append showopts initrd=initrd install="";
ssh=1 sshpassword=opensuse console=ttyS0,115200n8

label vnc
kernel linux
append showopts initrd=initrd install="";
vnc=1 vncpassword=opensuse

label install
kernel linux
append showopts initrd=initrd install="";

Actually I have other labels that define preconfigured
and some more that load preconfigured autoyast files and I'm usually using one
of those. Like so:

label auto_wan_or2
kernel linux
append showopts initrd=initrd install="";
autoyast=""; netdevice=eth0
hostip=111.222.333.4/24 gateway=111.222.333.1 nameserver=111.222.333.2 ssh=1
sshpassword=opensuse console=ttyS0,115200n8

...and usually I'm using one of those via a combination of serial console &
ssh. That is, serial console to boot and navigate the syslinux boot loader,
then ssh for the rest.
Otherwise I just use the ssh label above, which will attempt to do dhcp on all
nics. Either way dhcp or preconfigured, after booting and loading the install
environment it then displays the ip address it's using on the console (the
serial console) as the last thing before starting sshd, so you'll know what ip
to ssh to even if it wasn't a preconfigured one. I do the serial parts remotely
via serial console server, or by telling the on site person to boot the stick
and choose ssh.

The ssh option is just great for this for several reasons.

A) terminal emulation is far easier, it's just "linux" and a linux terminal
emulator (putty works fine with a few options set correctly). At the serial
consol, your terminal must be configured to satisfy at least 4 different things
and it's hard to find any single set of emulation options that satisfies all of:
a1) your motherboards bios (which may only understand something it calls
"vt100" or "ansi" but doesn't do either accurately, neither of which is even a
very meaningful term anyways because there ar many variants that all call
themselves "ansi".
Then after dealing with the bios, the same terminal must also satisfy the boot
a2) Syslinux, used during install/repair, doesn't even say what kind of
terminal it expects
a3) Grub, used after install, at least says "vt100"
a4) The OS linux (same for both installer and post install)
So, generally, an emulator in linux or xterm mode, which would be best for the
installer and of course post-install, won't work very well in the motherboard
bios or at the boot loader, so you need something vt100-like for that, and
whatever combination of options it takes to make a terminal that works well
with your motherboard bios, the installer environment will likely not contain
any termcap/terminfo entries that exactly match that particulr terminal. So,
use serial to boot, but use ssh for the rest.

B) ssh allows you to log in multiple times and start as many shells as you
like. It's REAL handy to be able to get started then get in on another session
to do smething like fiddle with a raid array or edit /etc/hosts to temporarily
force the install downloads to use the local gigabit lan ip of the install
server, because you can't exit yast once you start it. Exiting yast immediately
reboots the box. ssh also is the only option that allows you to access the
system and do things to it before starting yast, like manually configuring a
raid setup that the interactive installer can't create but could use if it
already existed (raid10). (I say "interactive" because, the raid10 module is
included in the installer initrd, and, if you manually edit an autoinst.xml
file and just change raid0/1/5 to raid10, it actually will format completely
blank drives into partitions and raid10 sweet as you please.)

C) ssh gives a far faster and more perfect terminal than serial. Even at 115200
with hardware flow control and short perfect cables, a serial connection is
still slow and somewhat glitchy. It's easy to cause your terminal emulator or
the app on the server to lock up or do something else undesired due to missed
characters or interrupted escape sequences etc..

I beleive if you simply omit the install= from the labels above, and put the
dvd in the drive, and boot from the usb stick (usually requires manual
intervention in the bios to prefer usb over dvd in the boot order), then I
think it will search for a dvd by default even though you didn't boot from the
dvd or tell it explicitly where the dvd was. If you want to do the whole
install via serial instead of ssh, just use the "install" label.

Brian K. White brian@xxxxxxxxx
filePro BBx Linux SCO FreeBSD #callahans Satriani Filk!

To unsubscribe, e-mail: opensuse+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse+help@xxxxxxxxxxxx

< Previous Next >
This Thread
  • No further messages