Putting OpenBSD on the Soekris

There are several ways to put an OS onto the Soekris:

USB may seem the simplest, but the Soekris doesn't recognize any of my USB sticks. (To test that: stick the stick in and see if it is listed as a harddisk in the boot screen shown above.)

For the network boot one needs a DHCP and a TFTP server. I have those running, so installing/configuring them is outside the scope of this log. However, here is a snippet of the dhcpd.conf

shared-network intranet 

  option domain-name "intranet";
  option domain-name-servers;

    subnet netmask 

        option broadcast-address;
        option routers;

        group openbsd-clients

            filename "pxeboot";
            # Note that boot.conf on the TFTP server overrides the path specified in "filename" for the initrd

 host aquarium  { hardware ethernet 00:00:24:ca:31:88 ; fixed-address ; } #

          }# end group openbsd-clients
      }#end subnet
}# end shared-network intranet

The TFTP is served by tftpd-hpa. Give it a '-v' in /etc/default/tftpd-hpa if you want to see what requests it gets. Then create the necessary files:

tree /srv/tftp/
├── bsd.rd
├── etc
│   ├── boot.conf
│   └── random.seed
└── pxeboot


Both bsd.rd and pxeboot were copied from the OpenBSD server. The random.seed is generated using dd if=/dev/random of=/srv/tftp/etc/random.seed bs=512 count=1 status=none, and boot.conf contains:

set tty com0
stty com0 115200
boot bsd.rd

See here for details.

With DHCP and TFTP servers in place, we boot the Soekris again, press CTRL-P to get into its 'BIOS':

comBIOS Monitor.   Press ? for help.


I want to use only the second disk, and boot from it too, so I set the boot order accordingly:


ConSpeed = 115200
ConLock = Enabled
ConMute = Disabled
BIOSentry = Enabled
PCIROMS = Enabled
PXEBoot = Enabled
FLASH = Primary
BootDelay = 5
FastBoot = Enabled
BootPartition = Disabled
BootDrive = 80 81 F0 FF 
ShowPCI = Enabled
Reset = Hard
CpuSpeed = Default

set BootDrive=81 80 F0

show BootDrive

 = 81 80 F0 FF 


Then we explicitly boot from the NIC to use PXE:

boot F0

Intel UNDI, PXE-2.0 (build 082)
Copyright (C) 1997,1998,1999  Intel Corporation
VIA Rhine III Management Adapter v2.43 (2005/12/15)

CLIENT MAC ADDR: 00 00 24 CA 31 88  
probing: pc0 com0 com1 pxe![2.1] mem[639K 511M a20=on] 
disk: hd0+ hd1+
net: mac 00:00:24:ca:31:88, ip, server

>> OpenBSD/i386 PXEBOOT 3.44
switching console to com0
com0: 115200 baud
booting tftp:bsd.rd: 3275287+1442816+4358152+0+421888 [88+160+28]=0x911300
entry point at 0x201000

Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2023 OpenBSD. All rights reserved.  https://www.OpenBSD.org

OpenBSD 7.3 (RAMDISK_CD) #651: Sat Mar 25 11:42:33 MDT 2023
real mem  = 536408064 (511MB)

Welcome to the OpenBSD/i386 7.3 installation program.

Starting non-interactive mode in 5 seconds...

(I)nstall, (U)pgrade, (A)utoinstall or (S)hell? 

Could not determine auto mode.

Response file location? [] <enter>
No response file found; non-interactive mode aborted.



We can now start the interactive installation:

aquarium# install


I'm not logging the entire installation procedure here. Just some details: