Sunday, December 05, 2004

OpenBSD 3.6 on Soekris Net4801

In June I described a way to install OpenBSD 3.5 on a Soekris Net4801 small form factor system. I followed a similar method today with OpenBSD 3.6, installing from floppy to 2.5 inch HDD on one laptop and then moving the HDD to the Soekris.

I had two problems. The first involved not being able to use dd to write the OpenBSD floppy image to the floppy drive. I used this syntax:

orr:/root# dd if=floppyC36.fs of=/dev/fd0

At one point I got errors from dd. Later I saw these error messages from the kernel:

fdc0: ready for input in output
...repeats...
fdc0: ready for input in output
fdc0: too many errors, not logging any more

I was able to use the same syntax on a FreeBSD 4.10 box to create the boot floppy. I booted with the OpenBSD boot floppy and installed OpenBSD 3.6 on the laptop. When I moved the laptop HDD to the Soekris, I got this error via serial console as OpenBSD tried to boot:

booting hd0a:?1;2c: open hd0a:?1;2c: No such file or directory
failed(2). will try /obsd
boot>

I tried a generic 'boot' command next:

boot> boot
booting hd0a:/obsd: open hd0a:/obsd: No such file or directory
failed(2). will try /bsd.old

No joy. Then I remembered OpenBSD usually sees HDDs as device wd, so I tried this:

boot> boot wd0a:/bsd
booting wd0a:/bsd: 4918204+859636 [52+230528+209187]=0x5ee0fc
entry point at 0x100120

[ using 440140 bytes of bsd ELF symbol table ]
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
Copyright (c) 1995-2004 OpenBSD. All rights reserved. http://www.OpenBSD.org

OpenBSD 3.6 (GENERIC) #59: Fri Sep 17 12:32:57 MDT 2004
deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Geode(TM) Integrated Processor by National Semi ("Geode by NSC" 586-class)
267 MHz
...edited...
wd0 at pciide0 channel 0 drive 0:
wd0: 16-sector PIO, LBA, 3102MB, 6354432 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2
geodesc0 at pci0 dev 18 function 5 "NS SC1100 X-Bus" rev 0x00: iid 6 revision 3
wdstatus 0
...edited...
dkcsum: wd0 matched BIOS disk 80
root on wd0a
rootdev=0x0 rrootdev=0x300 rawdev=0x302
Automatic boot in progress: starting file system checks.
/dev/rwd0a: file system is clean; not checking
/dev/rwd0e: file system is clean; not checking
/dev/rwd0d: file system is clean; not checking
/dev/rwd0f: file system is clean; not checking
...truncated...

Booting from drive wd0a worked. I pondered having to repeat this process the next time I booted the system. However, after a reboot, I did not have to pass any parameters to the boot loader:

boot>
booting hd0a:/bsd: 4918204+859636 [52+230528+209187]=0x5ee0fc
entry point at 0x100120

[ using 440140 bytes of bsd ELF symbol table ]
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
Copyright (c) 1995-2004 OpenBSD. All rights reserved. http://www.OpenBSD.org

OpenBSD 3.6 (GENERIC) #59: Fri Sep 17 12:32:57 MDT 2004
deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
...truncated...

This second boot shows OpenBSD apparently booting from hd0a, which failed the first time. I don't know why this worked. I didn't have this issue with 3.5. I intend to turn this Soekris system into a firewall. For full dmesg output, see my new entry at NYCBUG.org.

4 comments:

Anonymous said...

Richard,

How much throughput do you think you will get with the Soekris? I am about to turn my Ultra 5 into an OpenBSD firewall, but I am going to wait to see your results with the Soekris.

Are you going to try installing OpenVPN on the Soekris?

Richard Bejtlich said...

Hello,

I have not done any stress-testing on the Soekris. Anecdotal evidence says the OpenBSD sis driver doesn't handle loads as well as FreeBSD's sis driver. This could be completely bogus, however. This is a popular topic at news.gmane.org/gmane.comp.hardware.soekris.technical.

Richard Bejtlich said...

On 6 Dec Bhaskaran Raman posted his Soekris Throughput Performance Measurements. Check them out!

Anonymous said...
This comment has been removed by a blog administrator.