boot logo/menu corruption

Charles Shannon Hendrix shannon at
Fri Aug 10 09:39:22 PDT 2007

I am creating boot menus for an embedded project, and appliance machine
that runs FreeBSD and some custom software.

The machine has a serial-video BIOS so we can run the machine headless.

Serial console support works great, but for one problem:

When the second stage boot loader starts, the text output to the serial
console is corrupted.

Characters are doubled, control characters frequently don't work or get
turned into null, etc.

For example, here is the basic FreeBSD menu and how it looks when I boot
using the serial console:

 ||�                                       ||�
 ||�                                       ||�
 ||�                                       ||�
 ||�        Welcome to FreeBSD!oo  FFrreeee|BSSDD!!
 ||�                                       ||�
 ||�                                       ||�
 ||�1. Boot FreeBSD [default]BSSDD  [[ddeef|aauulltt]]
 ||�2. Boot FreeBSD with ACPI disablediitth|  AACCPPII  ddiissaabblleedd
 ||�3. Boot FreeBSD in Safe ModeDD  iinn  S|aaffee  MMooddee
 ||�4. Boot FreeBSD in single user moden  s|iinnggllee  uusseerr  mmooddee
 ||�5. Boot FreeBSD with verbose loggingtth|  vveerrbboossee  llooggggiinngg
 ||�6. Escape to loader promptllooaaddeerr |pprroommpptt
 ||�7. Rebootebboooott                     ||�
 ||�                                       ||�
 ||�                                       ||�
 ||�                                       ||�
 ||�                                       ||�
 ||�Select option, [Enter] for defaultEnntt|err]]  ffoorr  ddeeffaauulltt
 ||�or [Space] to pause timer  H00    ussee| ttiimmeerr        

Some strings come out normaly, others are doubled, and some just don't
come out at all or come out as nulls or something else.

When the boot loader starts the spinner is doubled.  Especially before
the menu goes up, I get doubled strings, kind of line this:

	FFrreeBBSSDD    66..22

...just as an example.

>From this menu I picked the option I want, and then everything is fine.
It seems that once the kernel gets control of the console, everything
works as I expect.

Does anyone have any idea why the second/third stage has trouble?

Is it possible this is because the loader is writing to the console and
the video BIOS is doing it also?


shannon / Asus A8N5X - Opteron 170 at 2.5GHz | But you know, a little Sun Ultra 1
-------'  2GB RAM - nVidia 7900GS         | is doing all the hard work...

More information about the freebsd-stable mailing list