OpenBSD på CompactFlash

From: Hack Kampbjørn (none@bsd-dk--hack.kampbjorn.com.lh.bsd-dk.dk)
Date: Tue 07 Mar 2006 - 01:04:14 CET


Date: Tue, 07 Mar 2006 01:04:14 +0100
From: Hack Kampbjørn <none@bsd-dk--hack.kampbjorn.com.lh.bsd-dk.dk>
To: bsd-dk@bsd-dk.dk
Subject: OpenBSD på CompactFlash

Tak for sidste, det var rigtig sjovt at møde jer alle sammen til Linuxforum.

En af de tinge vi fik talt om var at installere OpenBSD på en Soekris
box. Der findes hovedsaglig tre varianter: flashdist, flashboot og alm.
installation.

flashdist
http://www.nmedia.net/~chris/soekris/
Er et script der laver diskimages (filer eller direkte CF diske) på lidt
under 32Mb som er velegnede til CF med et mfs som er rw og et specielt
rc script der mount resten af disken som ro. OpenSoekris var en wrapper
til flashdist men bliver ikke opdateret længere.

flashboot
http://www.mindrot.org/flashboot.html
Jeg har ikke selv erfaring med det, men det er et script der opretter en
flash boot image (kernel ramdisk) ala bsd.rd som bliver mounted som en
mfs disk.

alm. installation
En alm. OpenBSD installation kræve en 256Mb CF disk (en 128Mb muligvis
stor nok til 3.8 men ikke til 3.9 hvor alle lib har debug
informationer). Da det er svært at finde mindrer CF diske og moderne CF
diske kan klare et sted mellem 100k og 10M skrivinger kan en alm.
installation klare de fleste opgave uden ekstra hensyn til CF disken.

Men hvis man alligevel vil skåne sin CF disk kan man bruge nogle af
erfaringerne fra flashdist. Som her hvor / er mounted ro og flere mfs
bliver brugt hvor skrivninger sker (jeg havede lige optaget mfs -P
derfor alle de mfs, en enkelt mfs med symlink ville bruge mindre RAM).

# cat /etc/fstab

/dev/wd0a / ffs ro,noatime,softdep 1 1
/dev/wd0b /tmp mfs rw,nodev,noexec,-s=15360 0 0
/dev/wd0b /dev/run mfs rw,noexec,-P=/dev/mfs,-s=1072 0 0
/dev/wd0b /var/empty/dev mfs rw,noexec,-s=1072 0 0
/dev/wd0b /var/named mfs rw,nosuid,-P=/var/named.mfs,-s=1072 0 0
/dev/wd0b /var/mfs mfs rw,nodev,noexec,-P=/var/mfs.init,-s=65535 0 0
/dev/wd0b /var/www/logs mfs rw,noexec,-s=65535 0 0

/ er softdep for at minimere skrivinger de få sekonder / er mounted rw.

SSH laver en chmod på tty devices derfor er alle tty i /dev symlink til
/dev/run som bliver initierede fra /dev/mfs.

Der køre en cache DNS hvor /var/named/etc og /var/named/standard bliver
kopeieret fra /var/named.mfs (og /var/named/slave men det bliver hurtigt
overskrivet af primary DNS). Og en reverse HTTP proxy som logger både
til en ekstern syslog server (|logger) og en mfs.

Resten af directories i /var hvor der sker skrivninger er symlinkede til
/var/mfs:

# ls /var/mfs

authpf db log run tmp
# ls -dl /var/authpf /var/db /var/log /var/run /var/tmp

lrwxr-xr-x 1 root wheel 10 Dec 2 2004 /var/authpf -> mfs/authpf
lrwxr-xr-x 1 root wheel 6 Dec 2 2004 /var/db -> mfs/db
lrwxr-xr-x 1 root wheel 7 Dec 2 2004 /var/log -> mfs/log
lrwxr-xr-x 1 root wheel 7 Dec 2 2004 /var/run -> mfs/run
lrwxr-xr-x 1 root wheel 7 Dec 2 2004 /var/tmp -> mfs/tmp

Der er to linjer fra /etc/rc der skal kommereteres ud:
#mount -uw / # root on nfs requires this, others aren't hurt
#rm -f /fastboot # XXX (root now writeable)

Men næste gang jeg skal installere en Soekris vil jeg nok gå efter en
256Mb CF diske og kun lave en mfs på /tmp og mounte /dev og /var som rw
så meget bliver der heller ikke skrivet til dem. Jeg er lidt i tvil om
/var/tmp skal symlinke til /tmp eller ej.

-- 
Med venlig hilsen / Kind regards

Hack Kampbjørn



This archive was generated by hypermail 2b30 : Wed 15 Nov 2006 - 18:24:57 CET