Categories
Hardware

cpu0: Geode(TM) Integrated Processor by National Semi (“Geode by NSC” 586-class) 267 MHz

Dies ist das erste, was der OpenBSD-Kernel auf meiner Soekris-Box von sich gibt. Ich habe endlich Zeit gefunden, ein System auf die Kiste zu installieren. Es gibt zwar schon ein paar fertige Distributionen für die Soekris-Geräte, doch ich wollte was eigenes bauen. Nachdem das ganze mit der CF-Karte sich als etwas umständlich erwies, habe ich einfach eine 2.5”-Festplatte in das Gerät eingebaut. Somit habe ich schon mal ein funktionsfähiges System.

Wer es ganz genau wissen möchte…

OpenBSD 3.6-current (GENERIC) #1: Sun Feb 13 01:09:00 CET 2005
root@horus.shadowrun.not:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Geode(TM) Integrated Processor by National Semi (“Geode by NSC” 586-class) 267 MHz
cpu0: FPU,TSC,MSR,CX8,CMOV,MMX
cpu0: TSC disabled
real mem = 133799936 (130664K)
avail mem = 115752960 (113040K)
using 1658 buffers containing 6791168 bytes (6632K) of memory
mainbus0 (root)
bios0 at mainbus0: AT/286+(00) BIOS, date 20/40/21, BIOS32 rev. 0 @ 0xf7840
pcibios0 at bios0: rev 2.0 @ 0xf0000/0x10000
pcibios0: pcibios_get_intr_routing – function not supported
pcibios0: PCI IRQ Routing information unavailable.
pcibios0: PCI bus #0 is the last bus
bios0: ROM list: 0xc8000/0x9000
cpu0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 “Cyrix GXm PCI” rev 0x00
sis0 at pci0 dev 6 function 0 “NS DP83815 10/100” rev 0x00: DP83816A, irq 10, address 00:00:24:c3:5c:84
nsphyter0 at sis0 phy 0: DP83815 10/100 PHY, rev. 1
sis1 at pci0 dev 7 function 0 “NS DP83815 10/100” rev 0x00: DP83816A, irq 10, address 00:00:24:c3:5c:85
nsphyter1 at sis1 phy 0: DP83815 10/100 PHY, rev. 1
sis2 at pci0 dev 8 function 0 “NS DP83815 10/100” rev 0x00: DP83816A, irq 10, address 00:00:24:c3:5c:86
nsphyter2 at sis2 phy 0: DP83815 10/100 PHY, rev. 1
hifn0 at pci0 dev 10 function 0 “Hifn 7955/7954” rev 0x00: LZS 3DES ARC4 MD5 SHA1 RNG AES PK, 32KB dram, irq 11
gscpcib0 at pci0 dev 18 function 0 “NS SC1100 ISA” rev 0x00
gpio0 at gscpcib0: 64 pins
“NS SC1100 SMI/ACPI” rev 0x00 at pci0 dev 18 function 1 not configured
pciide0 at pci0 dev 18 function 2 “NS SCx200 IDE” rev 0x01: DMA, channel 0 wired to compatibility, channel 1 wired to compatibility
wd0 at pciide0 channel 0 drive 0:
wd0: 16-sector PIO, LBA48, 19077MB, 39070080 sectors
wd1 at pciide0 channel 0 drive 1:
wd1: 1-sector PIO, LBA, 124MB, 254464 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2
wd1(pciide0:0:1): using PIO mode 4
geodesc0 at pci0 dev 18 function 5 “NS SC1100 X-Bus” rev 0x00: iid 6 revision 3 wdstatus 0
ohci0 at pci0 dev 19 function 0 “Compaq USB OpenHost” rev 0x08: irq 5, version 1.0, legacy support
usb0 at ohci0: USB revision 1.0
uhub0 at usb0
uhub0: Compaq OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 3 ports with 3 removable, self powered
isa0 at gscpcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0 (mux 1 ignored for console): console keyboard
pcppi0 at isa0 port 0x61
midi0 at pcppi0: spkr0 at pcppi0
sysbeep0 at pcppi0
nsclpcsio0 at isa0 port 0x2e/2: NSC PC87366 rev 9: GPIO VLM TMS
gpio1 at nsclpcsio0: 29 pins
gscsio0 at isa0 port 0x15c/2: SC1100 SIO rev 1:
npx0 at isa0 port 0xf0/16: using exception 16
pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pccom0: console
pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
biomask f3e5 netmask ffe5 ttymask ffe7
pctr: no performance counters in CPU
dkcsum: wd0 matched BIOS disk 80
dkcsum: wd1 matched BIOS disk 81
root on wd0a
rootdev=0x0 rrootdev=0x300 rawdev=0x302

Categories
Software Unix

OpenBSD 3.5

Genau 6 Monate nach der letzten Version von OpenBSD haben die Entwickler rund um Theo DeRaadt am 1. Mai die Version 3.5 freigegeben.

Die Liste der Neuerungen liest sich lang. Das wohl hervorstechendste Merkmal von 3.5 dürfe wohl CARP sein. CARP ermöglicht es redundante Paketfilter aufzubauen, die übernehmen können, ohne den Datenfluß durch sie hindurch abreißen zu lassen.

Categories
Dokumentation Software

PostgreSQL auf OpenBSD

Für die Installation von Movable Type auf OpenBSD brauchte ich eine Datenbank. Die Wahl fiel auf PostgreSQL. Hier ist was ich tat, um PostgreSQL nach meinen Vorstellungen zu konfigurieren.

Diese Anleitung ist an einigen Stellen OpenBSD-spezifisch. Bei Linux muß logrotate statt newsyslog benutzt werden.

Zuerst muß man den Quelltext herunterladen und an geeigneter Stelle extrahieren. Den Quelltext kompilieren und die fertigen Programme zu installieren funktioniert mit dem üblichen GNU-Dreisatz: (die letzte Zeile sollte man als root aufrufen)

./configure—prefix=/usr/local—with-perl—with-openssl=/usr
make
make install

Damit hat man schon mal alle nötigen Programme installiert. PostgreSQL braucht aber noch einige Vorarbeit, um zu funktionieren. PostgreSQL möchte unter einem eigenen Benutzer laufen. Die folgenden Zeilen legen diesen Benutzer samt passender Gruppe an. (natürlich als root)

groupadd -g 164 pgsql
useradd -c “PostgreSQL Admin User” -d /var/pgsql -g 164 -u 164 -s /bin/sh pgsql

Nun fehlt noch das Datenbankverzeichnis, in dem PostgreSQL seine Daten ablegt. Dieses Verzeichnis sollte dem PostgreSQL-Benutzer gehören.

mkdir /var/pgsql
chown pgsql:pgsql /var/pgsql
chmod 755 /var/pgsql

Jetzt muß die Datenbank initialisiert werden. Da alle Dateien im Datenbankverzeichnis dem PostgreSQL-Benutzer gehören sollten, sollte dies als der PostgreSQL-Benutzer geschehen.

su pgsql
/usr/local/bin/initdb -D /var/pgsql/data

Damit ist die Datenbank im Grunde fertig und kann benutzt werden. Es fehlen aber noch einige Kleinigkeiten, damit das alles rund läuft.

Zuerst soll PostgreSQL beim Booten gestartet werden. Die nächsten Zeilen sollten an passender Stelle in die /etc/rc.local aufgenommen werden: (wieder als root)

if [ -x /usr/local/bin/pg_ctl ]; then
        su -l pgsql -c “/usr/local/bin/pg_ctl start \
                -D /var/pgsql/data -l /var/pgsql/logfile”
        echo -n ‘ postgresql’
fi

Natürlich soll PostgreSQL beim Herunterfahren von OpenBSD sauber beendet werden, um inkonsistenzen in der Datenbank zu verhindern. Dies erledigen diese Zeilen in der /etc/rc.shutdown:

if [ -f /var/pgsql/data/postmaster.pid ]; then
        su -l pgsql -c “/usr/local/bin/pg_ctl stop \
                -D /var/pgsql/data”
        echo -n ‘ postgresql’
fi

PostgreSQL soll über syslogd(8) loggen. Das macht es einfacher, auf einem zentralen Logging-Host zu loggen. Hier müssen in der /var/pgsql/data/postgresql.conf 3 Zeilen angepasst werden. Die Zeilen stehen schon in der Datei drin, sind jedoch auskommentiert.

syslog = 2                      # range 0-2; 0=stdout; 1=both; 2=syslog
syslog_facility = ‘LOCAL0’
syslog_ident = ‘postgres’

Selbverständlich muß der syslogd(8) auch wissen, was er mit den Daten anfangen soll. Darum kümmert sich diese Zeile in der /etc/syslog.conf:

local0.*                                                /var/log/pgsql

Bevor der syslogd(8) nun restarted wird, damit er anfangen kann zu loggen, sollte noch ein leeres Logfile angelegt werden, da der syslogd(8) dies in der Regel nicht tut. Mit touch /var/log/pgsql entsteht ein leeres Logfile an. Schicke ein SIGHUP an syslogd(8) um ihn zu restarten.

Die Logfiles sollten noch in regelmäßigen Abständen rotiert werden, damit das Dateisystem nicht überläuft. Bei OpenBSD kümmert sich newsyslog(8) um das Rotieren von Logfiles. Eine Zeile in der /etc/newsyslog.conf erledigt dies:

/var/log/pgsql                          640  7    *    168   Z

Damit ist PostgreSQL nun bereit zum Einsatz. Um den Server nun endlich zu starten, kann der gleiche Code benutzt werden, wie er auch in der /etc/rc.local steht. Viel Spaß mit PostgreSQL.