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 10.0.13.1; subnet 10.0.13.0 netmask 255.255.255.0 { option broadcast-address 10.0.13.255; option routers 10.0.13.1; next-server 10.0.13.200; group openbsd-clients { next-server 10.0.13.200; 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 10.0.13.249 ; } # }# end group openbsd-clients }#end subnet 10.0.13.0 }# 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/
/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:
> show
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
DHCP.\
CLIENT IP: 10.0.13.200 MASK: 255.255.255.0 DHCP IP: 10.0.13.1
GATEWAY IP: 10.0.13.251
TFTP.
TFTP.|
probing: pc0 com0 com1 pxe![2.1] mem[639K 511M a20=on]
disk: hd0+ hd1+
net: mac 00:00:24:ca:31:88, ip 10.0.13.200, server 10.0.13.200
>> 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
deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/RAMDISK_CD
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? [http://10.0.13.200/install.conf] <enter>
Fetching http://10.0.13.200/install.conf
No response file found; non-interactive mode aborted.
aquarium#
We can now start the interactive installation:
aquarium# install
I'm not logging the entire installation procedure here. Just some details: