Cannot create custom FreeBSD 7.0 install CD for serial console

Carl k0802647 at telus.net
Wed Oct 1 11:20:40 UTC 2008


I've been trying to create a modified FreeBSD 7.0 install CD that will 
allow me to do installations entirely via the serial console on a 
headless system. Lots of digging on the Internet, reading the handbook, 
and I've gotten nowhere fast. The following process was my best hope, 
but it still isn't making a serial console install possible...

In a shell on another older FreeBSD system, after downloading the Disc 1 
install ISO:

  # cd /data
  # mdconfig -a -t vnode -f /data/7.0-RELEASE-i386-disc1.iso -u 1
  # mount -t cd9660 /dev/md1 /mnt
  # mkdir headlessISO
  # tar -C /mnt -pcf - . | tar -C /data/headlessISO -pxvf -
  # umount /mnt
  # mdconfig -d -u 1

Next I verified that the following line appears in 
/data/headlessISO/boot/device.hints, ensuring that COM1 (sio0) may be 
used for console purposes:

  hint.sio.0.flags="0x10"

Then I created a boot.config file for the root of what will be the new 
CD ISO:

  # echo "-Dh -S115200" > /data/headlessISO/boot.config

I would have preferred to use "-P" in place of the above "-Dh", but I'm 
using an Intel S3210SHLC motherboard and either it or some bug in 
FreeBSD 7.0 always causes a keyboard to be detected, even when there 
isn't one (solutions/explanations for that would be appreciated too).

Next step was to build the new ISO as follows:

  # mkisofs -R -J -ldots -no-emul-boot -b boot/cdboot
      -o /data/7.0-RELEASE-i386-disc1-headless.iso /data/headlessISO

Since the old FreeBSD system has no CD writer, I transfer the new ISO to 
a Windoze box and burn a CD with Nero. End result is a bootable install 
CD that acts as if I never customized it at all. I've configured the 
motherboard BIOS to enable console redirection to COM1 and that works 
fine... until the FreeBSD boot process, whereupon everything reverts to 
internal console only. As a variation on the above procedure, I replaced 
the step in which I create boot.config with one in which I create 
/data/headlessISO/boot/loader.conf.local containing the following lines:

  boot_multicons="YES"
  boot_serial="YES"
  comconsole_speed="115200"
  console="comconsole,vidconsole"

That, unfortunately, gets the same result.

So, what am I doing wrong? Note that the creation of boot.config and 
some mods to the ttyd0 line in /etc/ttys appears to work fine for 
enabling serial console operation on this same motherboard *after* 
FreeBSD 7.0 has been installed to the hard drive using the internal 
console - it just won't work for creating an install CD. I assume I 
don't need any variation of the /etc/ttys mod for the custom install CD, 
true?

FWIW, I've also taken the resultant ISOs I've created and fed them to 
UNetbootin (http://unetbootin.sourceforge.net/) in order to create a 
bootable USB flash thumb drive installer instead of a CD. This is even 
less successful because once control appears to go from BIOS to the 
installer, the screen goes blank and I'm left with nothing but an 
eternal blinking cursor. Am I up against another Intel S3210SHLC 
motherboard problem or does UNetbootin not actually live up to it's 
claims for FreeBSD 7.0? Anyone know?

Is there anyone out there who might have experience with FreeBSD 7.0 on 
the Intel S3210SHLC motherboard? Is this a problematic motherboard with 
known problems?

Carl                                             / K0802647


More information about the freebsd-questions mailing list