Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Nov 2012 22:26:25 +0100
From:      Jukka Salmi <j+fbsd@salmi.ch>
To:        freebsd-questions@freebsd.org
Subject:   serial console issues with FreeBSD 9.0 (i386)
Message-ID:  <20121125212625.GB10174@moray.salmi.ch>

next in thread | raw e-mail | index | archive | help
Hello

While installing FreeBSD 9.0 i386 on a Soekris net6501 I ran into some
problems regarding the serial console.  Those problems and their
workarounds are described below -- for the archives, in case someone
runs into them as well.

After having read section 27.6 "Setting Up the Serial Console" from the
"FreeBSD Handbook" and the man pages related to boot(8) and loader(8) I
decided to go for the option to configure the serial console using
boot.config(5).  I wrote the FreeBSD 9.0 i386 memstick image to a memory
stick, mounted the root file system and created boot.config therein,
containing '-h -S57600' on a single line (yes, without the quotes ;-)).
But booting from this stick failed with

	> boot 82               <- Soekris comBIOS prompt
	/bInvalid format

followed by a system reboot.  However, this was not always reproducible;
every now and then booting succeeded.

Coincidentally I noticed that with the two boot(8) arguments swapped
(i.e. with '-S57600 -h'), booting seems to always succeed:

	> boot 82
	/boot.config: -S57600 -h
	Consoles: serial port
	[...]

A similar (same?) problem seems to exist when booting the installed
system from hard disk: if /boot.config contains '-h -S57600', booting
fails with

	> boot                  <- Soekris comBIOS prompt
	/b

being output, after which the system seems to freeze -- at least no
reboot and no disk access seem to happen.  When swapping the order of
boot(8) arguments (i.e. '-S57600 -h'), the system boots fine:

	> boot
	/boot.config: -S57600 -h                                                        
	Consoles: serial port                                                           
	[...]

At least according to its man page, boot(8) seems to require the console
speed option to be passed as a last option -- or am I missing something?

BTW, I just noticed that these boot failures only seem to happen with
particular speed settings: while with 57600 and 38400 the problem takes
place as described above, with 19200 and 9600 it does _not_, i.e. the
system boots fine.  Hmm, any hints?


Cheers, Jukka

-- 
This email fills a much-needed gap in the archives.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20121125212625.GB10174>