home Sonstiges Linux OpenBSD Links

OpenBSD SPARC64 Tagebuch

Nach einigen Versuchen mit Linux auf einer SUN Ultra 5 (sparc64) habe ich mich entschlossen, mal OpenBSD auszuprobieren.
Diese Seite soll wie eine Art Tagebuch werden, damit man halbwegs etwas nachvollziehen kann.

Warum eigentlich eine SUN Ultra 5?
Letztens bekam ich von meinen Vermieter die Stromabrechnung präsentiert. Sie hat mich zwar nicht gleich in den Ruin gestürzt, aber etwas zu hoch was sie schon. Da mein Heimserver (ein alter Cyrix 166+) fast den ganzen Tag läuft, war ein Verbraucher also schnell ausfindig gemacht. Von einem Kumpel wußte ich, das die SUN eine gute Möglichkeit wäre, etwas zu tun. Außerdem hat man mal ein Nicht-Intel-System.

Warum OpenBSD und nicht Linux?
Ich hatte zuerst Debian Sparc 3.0 installiert. Irgendwie konnte mich das nicht überzeugen, also probierte ich ein LFS aufzuziehen. Ging leider auch nicht so, wie ich mir das vorgestellt hatte. Vor zwei Jahren hatte ich schon mal mit OpenBSD rumexperimentiert und so will ich es nun erneut probieren.

Ausstattung der Ultra 5
Die Ultra 5 habe ich bei Ebay ersteigert. Prozessor ist ein UltraSPARC-IIi mit 360MHz. Es sind 256 MB RAM mit 50ns Geschwindigkeit installiert. Es stehen drei PCI Steckplätze für Erweiterungen zur Verfügung. Als Festplatte steht eine Seagate mit 10 GB Kapazität bereit. Zusätzlich habe ich noch eine 15 GB IBM Platte eingebaut. Die Seagate hängt am ersten IDE-Kanal als Master, das CD-ROM ist Slave und die IBM Platte ist Master des zweiten Kanals.
Weiterhin warten ein normaler VGA-Ausgang, eine Onboard Soundkarte, ein Parallelport und zwei serielle Ports auf ihre Aufgaben. Der erste serielle Port ist ein 25-poliger weiblicher Anschluß und läßt sich auch als Console nutzen. Da ich keinen extra Monitor habe, erfolgt alles über diesen Port. Ein passendes Nullmodem habe ich mir von Ray ausgeliehen. Die Pinbelegung hatten wir mal im Internet gefunden. Wenn man die serielle Console nutzen will, sollte die Tastatur nicht angeschlossen sein.

So, und nun starte ich mein "Abenteuer"


3. Juli 2003

Bei Lehmanns habe ich mir vor ein paar Tagen OpenBSD 3.3 bestellt. Die dritte CD interessiert.
Im OpenBoot versuche ich die CD zu starten mit "boot cdrom". Um über die serielle ins OpenBoot zu kommen, muß man Strg+Pause drücken, zur Not mehrmals. Terminalprogramm bei mir ist Hyperterminal von Windows 2000.
Das Booten von CD schlug bei mir fehl, da das CD-ROM durch den Einbau der Platte jetzt als Slave am ersten Kanal läuft. Man kann jetzt einen langen Befehl eingeben, um von CD-ROM zu booten oder es einmal richtig machen und den Verweis von cdrom ändern. Dies geht so:

ok nvunalias cdrom
ok nvalias cdrom /pci@1f,0/pci@1,1/ide@3/cdrom@1,0:f
So, nun probieren wir es mal:
ok boot cdrom
Resetting ...


Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 360MHz), No Keyboard
OpenBoot 3.31, 256 MB (50 ns) memory installed, Serial #12994924.
Ethernet address 8:0:20:c6:49:6c, Host ID: 80c6496c.



Rebooting with command: boot cdrom
Boot device: /pci@1f,0/pci@1,1/ide@3/cdrom@1,0:f  File and args:
OpenBSD IEEE 1275 Bootblock
..>> OpenBSD 3.3 (obj) #41: Tue Mar 25 00:41:57 MST 2003
    deraadt@sparc64.openbsd.org:/usr/src/sys/arch/sparc64/stand/ofwboot/obj
devopen: getdisklabel says no disk label
Booting /pci@1f,0/pci@1,1/ide@3/cdrom@1,0:f/bsd
1683696@0x1000000+3227016@0x1800000+967288@0x1b13d88
symbols @ 0xfff5c240 64 start=0x1000000
console is /pci@1f,0/pci@1,1/ebus@1/se@14,400000:a
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2003 OpenBSD. All rights reserved.  http://www.OpenBSD.org

OpenBSD 3.3 (RAMDISK) #34: Sat Mar 29 13:22:22 MST 2003
    deraadt@sparc64.openbsd.org:/usr/src/sys/arch/sparc64/compile/RAMDISK
total memory = 268435456
avail memory = 242270208
using 1638 buffers containing 13418496 bytes of memory
bootpath: /pci@1f,0/pci@1,1/ide@3,0/cdrom@1,0:f
mainbus0 (root): Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 360MHz)
cpu0 at mainbus0: SUNW,UltraSPARC-IIi @ 360 MHz, version 0 FPU
cpu0: physical 32K instruction (32 b/l), 16K data (32 b/l), 256K external (64 b/
l)
psycho0 at mainbus0 addr 0xfffc4000
SUNW,sabre: impl 0, version 0: ign 7c0 bus range 0 to 2; PCI bus 0
DVMA map: c0000000 to e0000000
IOTDB: 10f62000 to 10fe2000
pci0 at psycho0
ppb0 at pci0 dev 1 function 1 vendor 0x108e product 0x5000 rev 0x13
pci1 at ppb0 bus 1
ebus0 at pci1 dev 1 function 0 vendor 0x108e product 0x1000 rev 0x01
auxio0 at ebus0 addr 726000-726003, 728000-728003, 72a000-72a003, 72c000-72c003,
 72f000-72f003
power at ebus0 addr 724000-724003 ipl 37 not configured
SUNW,pll at ebus0 addr 504000-504002 not configured
se at ebus0 addr 400000-40007f ipl 43 not configured
su at ebus0 addr 3083f8-3083ff ipl 41 not configured
su at ebus0 addr 3062f8-3062ff ipl 42 not configured
ecpp at ebus0 addr 3043bc-3043cb, 30015c-30015d, 700000-70000f ipl 34 not config
ured
fdthree at ebus0 addr 3023f0-3023f7, 706000-70600f, 720000-720003 ipl 39 not con
figured
clock0 at ebus0 addr 0-1fff: mk48t59: hostid 80c6496c
flashprom at ebus0 addr 0-fffff not configured
SUNW,CS4231 at ebus0 addr 200000-2000ff, 702000-70200f, 704000-70400f, 722000-72
2003 ipl 35 ipl 36 not configured
hme0 at pci1 dev 1 function 1 vendor 0x108e product 0x1001 rev 0x01: address 08:
00:20:c6:49:6c
nsphy0 at hme0 phy 1: DP83840 10/100 media interface, rev. 1
hme0: using ivec 3021 for interrupt
vendor 0x1002 product 0x4750 (class display, subclass VGA, rev 0x5c) at pci1 dev
 2 function 0 not configured
pciide0 at pci1 dev 3 function 0 vendor 0x1095 product 0x0646 rev 0x03: DMA, cha
nnel 0 configured to native-PCI, channel 1 configured to native-PCI
pciide0: using ivec 1820 for native-PCI interrupt
wd0 at pciide0 channel 0 drive 0: <ST310212A>
wd0: 32-sector PIO, LBA, 9768MB, 16383 cyl, 16 head, 63 sec, 20005650 sectors
atapiscsi0 at pciide0 channel 0 drive 1
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: <LG, CD-ROM CRD-8322B, 1.05> SCSI0 5/cdrom removab
le
wd0(pciide0:0:0): using PIO mode 4, DMA mode 2
cd0(pciide0:0:1): using PIO mode 4, DMA mode 2
wd1 at pciide0 channel 1 drive 0: <IBM-DJNA-351520>
wd1: 16-sector PIO, LBA, 14664MB, 16383 cyl, 16 head, 63 sec, 30033360 sectors
wd1(pciide0:1:0): using PIO mode 4, DMA mode 2
ppb1 at pci0 dev 1 function 0 vendor 0x108e product 0x5000 rev 0x13
pci2 at ppb1 bus 2
pcons0 at mainbus0
No counter-timer -- using %tick at 360MHz as system clock.
rd0: fixed, 6144 blocks
root on rd0a
rootdev=0x500 rrootdev=0x3d00 rawdev=0x3d02
WARNING: clock gained 738 days -- CHECK AND RESET THE DATE!
erase ^?, werase ^W, kill ^U, intr ^C, status ^T
(I)nstall, (U)pgrade or (S)hell? i

Welcome to the OpenBSD/sparc64 3.3 install program.

This program will help you install OpenBSD in a simple and rational way. At
any prompt except password prompts you can run a shell command by typing
'!foo', or escape to a shell by typing '!'. Default answers are shown in []'s
and are selected by pressing RETURN. At any time you can exit this program by
pressing Control-C and then RETURN, but quitting during an install can leave
your system in an inconsistent state.

Terminal type? [sun] vt100

IS YOUR DATA BACKED UP? As with anything that modifies disk contents, this
program can cause SIGNIFICANT data loss.

It is often helpful to have the installation notes handy. For complex disk
configurations, relevant disk hardware manuals and a calculator are useful.

Proceed with install? [n] y
Cool!  Let's get to it...

You will now initialize the disk(s) that OpenBSD will use. To enable all
available security features you should configure the disk(s) to allow the
creation of separate filesystems for /, /tmp, /var, /usr, and /home.

Available disks are: wd0 wd1.
Which one is the root disk? (or 'done') [done] wd0
This platform requires that partition offsets/sizes be on cylinder boundaries.
Partition offsets/sizes will be rounded to the nearest cylinder automatically.

Initial label editor (enter '?' for help at any prompt)
> p
device: /dev/rwd0c
type: ESDI
disk: ESDI/IDE disk
label: Linux custom cyl
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 16
sectors/cylinder: 1008
cylinders: 19844
total sectors: 20002752
free sectors: 11746224
rpm: 5400

16 partitions:
#        size   offset    fstype   [fsize bsize   cpg]
  a:    65520        0    4.2BSD     1024  8192    16
  b:  8191008    65520      swap
  c: 11746224  8256528    unused        0     0
> d a
> d b
> D
> a
partition: [a] Enter
offset: [0] Enter
size: [20005650] 19500000
Rounding to nearest cylinder: 19499760 Enter
FS type: [4.2BSD] Enter
mount point: [none] /
fragment size: [1024] Enter
block size: [8192] Enter
cpg: [16] Enter
> a
partition: [b] Enter
offset: [19499760] Enter
size: [505890] Enter
Rounding to nearest cylinder: 505008
FS type: [swap] Enter
> p
device: /dev/rwd0c
type: ESDI
disk: ESDI/IDE disk
label: ST310212A
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 16
sectors/cylinder: 1008
cylinders: 16383
total sectors: 20005650
free sectors: 0
rpm: 3600

3 partitions:
#        size   offset    fstype   [fsize bsize   cpg]
  a: 19499760        0    4.2BSD     1024  8192    16  # /
  b:   505008 19499760      swap
  c: 20005650        0    unused        0     0
> w
> q
No label changes.
The root filesystem will be mounted on wd0a.
wd0b will be used for swap space.
Available disks are: wd1.
Which one do you wish to initialize? (or 'done') [done] Enter

You have configured the following partitions and mount points:

wd0a /

The next step creates a filesystem on each partition, ERASING existing data.
Are you really sure that you're ready to proceed? [n] y
Warning: inode blocks/cyl group (70) >= data blocks (63) in last
    cylinder group. This implies 1008 sector(s) cannot be allocated.
/dev/rwd0a:     19498752 sectors in 19344 cylinders of 16 tracks, 63 sectors
        9520.9MB in 1209 cyl groups (16 c/g, 7.88MB/g, 1920 i/g)
/dev/wd0a on /mnt type ffs (rw, asynchronous, local, ctime=Wed Apr  6 12:03:37 2
005)

System hostname? (short form, e.g. 'foo') intranet
Configure the network? [y] Enter
Available interfaces are: hme0.
Which one do you wish to initialize? (or 'done') [hme0] Enter
Symbolic (host) name for hme0? [intranet] Enter
The default media for hme0 is
        media: Ethernet autoselect
Do you want to change the default media? [n] y
Supported media options for hme0 are:
                media none
                media 10baseT
                media 10baseT mediaopt full-duplex
                media 100baseTX
                media 100baseTX mediaopt full-duplex
                media autoselect
Media options for hme0? media 100baseTX mediaopt full-duplex
IP address for hme0? (or 'dhcp') 192.168.44.20
Netmask? [255.255.255.0] Enter
Done - no available interfaces found.
DNS domain name? (e.g. 'bar.com') [my.domain] marty44.net
DNS nameserver? (IP address or 'none') [none] 192.168.44.1
Use the nameserver now? [y] Enter
Default route? (IP address, 'dhcp' or 'none') 192.168.44.1
add net default: gateway 192.168.44.1
Edit hosts with ed? [n] Enter
Do you want to do any manual network configuration? [n] Enter
Password for root account? (will not echo) mein Passwort
Password for root account? (again) mein Passwort

You will now specify the location and names of the install sets you want to
load. You will be able to repeat this step until all of your sets have been
successfully loaded. If you are not sure what sets to install, refer to the
installation notes for details on the contents of each.

Sets can be located on a (m)ounted filesystem; a (c)drom, (d)isk or (t)ape
device; or a (f)tp, (n)fs or (h)ttp server.
Where are the install sets? (or 'done') c
Available CD-ROMs are: cd0.
Which one contains the install media? (or 'done') [cd0] Enter

Pathname to the sets? (or 'done') [3.3/sparc64] Enter
The following sets are available. Enter a filename, 'all' to select
all the sets, or 'done'. You may de-select a set by prepending a '-'
to its name.

        [X] bsd
        [ ] bsd.rd
        [X] base33.tgz
        [X] etc33.tgz
        [X] misc33.tgz
        [X] comp33.tgz
        [X] man33.tgz
        [X] game33.tgz
        [ ] xbase33.tgz
        [ ] xshare33.tgz
        [ ] xfont33.tgz
        [ ] xserv33.tgz

File name? (or 'done') [bsd.rd] Enter

The following sets are available. Enter a filename, 'all' to select
all the sets, or 'done'. You may de-select a set by prepending a '-'
to its name.

        [X] bsd
        [X] bsd.rd
        [X] base33.tgz
        [X] etc33.tgz
        [X] misc33.tgz
        [X] comp33.tgz
        [X] man33.tgz
        [X] game33.tgz
        [ ] xbase33.tgz
        [ ] xshare33.tgz
        [ ] xfont33.tgz
        [ ] xserv33.tgz

File name? (or 'done') [xbase33.tgz] done
Ready to install sets? [y] Enter
Getting bsd ...
100% |**************************************************|  3776 KB    00:01    
Getting bsd.rd ...
100% |**************************************************|  1449 KB    00:00
Getting base33.tgz ...
100% |**************************************************| 33735 KB    00:41
Getting etc33.tgz ...
100% |**************************************************|  1474 KB    00:03
Getting misc33.tgz ...
100% |**************************************************|  1828 KB    00:02
Getting comp33.tgz ...
100% |**************************************************| 21325 KB    00:33
Getting man33.tgz ...
100% |**************************************************|  6153 KB    00:10
Getting game33.tgz ...
100% |**************************************************|  2628 KB    00:02

Sets can be located on a (m)ounted filesystem; a (c)drom, (d)isk or (t)ape
device; or a (f)tp, (n)fs or (h)ttp server.
Where are the install sets? (or 'done') done
Do you expect to run the X Window System? [y] n
Saving configuration files...done.
Generating initial host.random file...done.
What timezone are you in? ('?' for list) [US/Pacific] Europe
What sub-timezone of 'Europe' are you in? ('?' for list) Berlin
Setting local timezone to 'Europe/Berlin'...done.
Making all device nodes...done.
Installing boot block...
proto: /mnt/usr/mdec/bootblk
device: /dev/rwd0c
Copying ofwboot...

CONGRATULATIONS! Your OpenBSD install has been successfully completed!
To boot the new system, enter halt at the command prompt. Once the
system has halted, reset the machine and boot from the disk.
# halt
syncing disks... done
halted

Program terminated
ok boot
Resetting ...


Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 360MHz), No Keyboard
OpenBoot 3.31, 256 MB (50 ns) memory installed, Serial #12994924.
Ethernet address 8:0:20:c6:49:6c, Host ID: 80c6496c.



Rebooting with command: boot
Boot device: disk  File and args:
OpenBSD IEEE 1275 Bootblock
..>> OpenBSD 3.3 (obj) #41: Tue Mar 25 00:41:57 MST 2003
    deraadt@sparc64.openbsd.org:/usr/src/sys/arch/sparc64/stand/ofwboot/obj
devopen: getdisklabel says no disk label
Booting /pci@1f,0/pci@1,1/ide@3/disk@0,0:a/bsd
3364184@0x1000000+161520@0x1800000+4032784@0x18276f0
symbols @ 0xfff12300 73+196584+114806 start=0x1000000
[ using 312240 bytes of bsd ELF symbol table ]
console is /pci@1f,0/pci@1,1/ebus@1/se@14,400000:a
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2003 OpenBSD. All rights reserved.  http://www.OpenBSD.org

OpenBSD 3.3 (GENERIC) #56: Sat Mar 29 12:48:19 MST 2003
    deraadt@sparc64.openbsd.org:/usr/src/sys/arch/sparc64/compile/GENERIC
total memory = 268435456
avail memory = 240295936
using 1638 buffers containing 13418496 bytes of memory
bootpath: /pci@1f,0/pci@1,1/ide@3,0/disk@0,0
mainbus0 (root): Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 360MHz)
cpu0 at mainbus0: SUNW,UltraSPARC-IIi @ 360 MHz, version 0 FPU
cpu0: physical 32K instruction (32 b/l), 16K data (32 b/l), 256K external (64 b/
l)
psycho0 at mainbus0 addr 0xfffc4000
SUNW,sabre: impl 0, version 0: ign 7c0 bus range 0 to 2; PCI bus 0
DVMA map: c0000000 to e0000000
IOTDB: 10f66000 to 10fe6000
pci0 at psycho0
ppb0 at pci0 dev 1 function 1 "Sun Simba PCI-PCI" rev 0x13
pci1 at ppb0 bus 1
ebus0 at pci1 dev 1 function 0 "Sun PCIO Ebus2" rev 0x01
auxio0 at ebus0 addr 726000-726003, 728000-728003, 72a000-72a003, 72c000-72c003,
 72f000-72f003
power at ebus0 addr 724000-724003 ipl 37 not configured
SUNW,pll at ebus0 addr 504000-504002 not configured
sab0 at ebus0 addr 400000-40007f ipl 43: rev 3.2
sabtty0 at sab0 port 0: console i/o
sabtty1 at sab0 port 1
comkbd0 at ebus0 addr 3083f8-3083ff ipl 41
wskbd0 at comkbd0
com0 at ebus0 addr 3062f8-3062ff ipl 42, mouse: ns16550a, 16 byte fifo
lpt0 at ebus0 addr 3043bc-3043cb, 30015c-30015d, 700000-70000f ipl 34: polled
fdthree at ebus0 addr 3023f0-3023f7, 706000-70600f, 720000-720003 ipl 39 not con
figured
clock0 at ebus0 addr 0-1fff: mk48t59: hostid 80c6496c
flashprom at ebus0 addr 0-fffff not configured
audioce0 at ebus0 addr 200000-2000ff, 702000-70200f, 704000-70400f, 722000-72200
3 ipl 35 ipl 36: nvaddrs 0
audio0 at audioce0
hme0 at pci1 dev 1 function 1 "Sun HME" rev 0x01: address 08:00:20:c6:49:6c
nsphy0 at hme0 phy 1: DP83840 10/100 media interface, rev. 1
hme0: using ivec 3021 for interrupt
vgafb0 at pci1 dev 2 function 0 "ATI Mach64 GP" rev 0x5c
wsdisplay0 at vgafb0
wsdisplay0: screen 0 added (std, sun emulation)
pciide0 at pci1 dev 3 function 0 "CMD Technology PCI0646" rev 0x03: DMA, channel
 0 configured to native-PCI, channel 1 configured to native-PCI
pciide0: using ivec 1820 for native-PCI interrupt
wd0 at pciide0 channel 0 drive 0: <ST310212A>
wd0: 32-sector PIO, LBA, 9768MB, 16383 cyl, 16 head, 63 sec, 20005650 sectors
atapiscsi0 at pciide0 channel 0 drive 1
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: <LG, CD-ROM CRD-8322B, 1.05> SCSI0 5/cdrom removab
le
wd0(pciide0:0:0): using PIO mode 4, DMA mode 2
cd0(pciide0:0:1): using PIO mode 4, DMA mode 2
wd1 at pciide0 channel 1 drive 0: <IBM-DJNA-351520>
wd1: 16-sector PIO, LBA, 14664MB, 16383 cyl, 16 head, 63 sec, 30033360 sectors
wd1(pciide0:1:0): using PIO mode 4, DMA mode 2
ppb1 at pci0 dev 1 function 0 "Sun Simba PCI-PCI" rev 0x13
pci2 at ppb1 bus 2
pcons at mainbus0 not configured
No counter-timer -- using %tick at 360MHz as system clock.
root on wd0a
rootdev=0xc00 rrootdev=0x1a00 rawdev=0x1a02
Automatic boot in progress: starting file system checks.
/dev/rwd0a: file system is clean; not checking
setting tty flags
starting network
add net default: gateway 192.168.44.1
starting system logger
starting rpc daemons:.
savecore: no core dump
checking quotas: done.
building ps databases: kvm dev.
clearing /tmp
starting pre-securelevel daemons:.
setting kernel security level: kern.securelevel: 0 -> 1
preserving editor files
creating runtime link editor directory cache.
ssh-keygen: generating new DSA host key... done.
ssh-keygen: generating new RSA host key... done.
ssh-keygen: generating new RSA1 host key... done.
starting network daemons: sendmail inetd sshd.
starting local daemons:.
standard daemons: cron.
Wed Apr  6 14:20:47 CEST 2005

OpenBSD/sparc64 (intranet.marty44.net) (console)

login:
Wunderbar, OpenBSD 3.3 ist installiert. Genug für heute.


4. Juli 2003

Weiter geht es mit ein paar grundlegenden Sachen. Als erstes installieren wir das Ports Verzeichnis. Ports sind vordefinierte Makefiles für etliche Programme. Man geht in das entsprechende Unterverzeichnis und führt ein make und make install aus.

intranet# mount -t cd9660 -r /dev/cd0a /mnt
intranet# cd /usr
intranet# tar xvfz /mnt/ports.tar.gz
Das Entpacken hat circa 20 Minuten bei mir gedauert.
Als erstes will ich einen anständigen Editor installieren. Joe kenne ich schon seit Jahren und bin damit auch sehr zufrieden:
intranet# cd /usr/ports/editors/joe
intranet# make
===>  Checking files for joe-2.9.8pre1p1
>> joe-2.9.8-pre1.tgz doesn't seem to exist on this system.
>> Attempting to fetch /usr/ports/distfiles/joe-2.9.8-pre1.tgz from http://us.dl
.sourceforge.net/joe-editor/.
100% |**************************************************|   254 KB    01:17
>> Checksum OK for joe-2.9.8-pre1.tgz. (sha1)
===>  Extracting for joe-2.9.8pre1p1
===>  Patching for joe-2.9.8pre1p1
===>  Configuring for joe-2.9.8pre1p1
Die Ausgaben erspare ich mir ;)
intranet# make install
Es gibt ein Verzeichnis namens /usr/ports/distfiles. Hier suchen die Ports zuerst nach den Sourcepaketen. In den Makefiles kann man nachschauen, welche Version verlangt wird. Falls man es schon hat, kann man es in das Distfiles Verzeichnis legen und erspart sich somit den Download.

Da die Onboard Soundkarte unterstützt werden soll, habe ich mal mpg321 (nicht mpg123, das läuft nicht auf sparc64!) aus den Ports installiert. Es funktionierte sogar auf Anhieb. Mit dem Mixer hatte ich nicht soviel Erfolg, aumix (mit env FLAVORS=no_x11 make install den Port erstellen) hat sich zwar compilieren und ausführen lassen, aber es ist nicht in der Lage, irgendwas einzustellen.


14. Juli 2003

Im IRC hatte ich den Tip bekommen, es mal dem Programm mixerctl zu versuchen, was den Sound betrifft. Man kann einige Sachen einstellen, aber so ganz ausgereift scheint der Soundtreiber nicht zu sein. Nun ja, da die U5 aber primär ein Server werden soll, sehe ich das nicht als Hindernis.

Mittlerweile habe ich noch einige PCI Karten eingebaut: einen Symbios Logic SCSI Controller, eine Intel Netzwerkkarte und eine PCI Karte mit zwei seriellen Ports.
Auf der OpenBSD Seite gibt es eine Übersicht, welche Hardware funktioniert. Der SCSI Controller und die Netzwerkkarte werden ohne Probleme erkannt, nur mit der seriellen PCI Karte gibt es Probleme. Sie wird zwar erkannt, aber OpenBSD kann nichts damit anfangen.
Hier ist der dmesg Auszug, rot makiert die neuen PCI Karten:

console is /pci@1f,0/pci@1,1/ebus@1/se@14,400000:a
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2003 OpenBSD. All rights reserved.  http://www.OpenBSD.org

OpenBSD 3.3 (GENERIC) #56: Sat Mar 29 12:48:19 MST 2003
    deraadt@sparc64.openbsd.org:/usr/src/sys/arch/sparc64/compile/GENERIC
total memory = 268435456
avail memory = 240295936
using 1638 buffers containing 13418496 bytes of memory
bootpath: /pci@1f,0/pci@1,1/ide@3,0/disk@0,0
mainbus0 (root): Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 360MHz)
cpu0 at mainbus0: SUNW,UltraSPARC-IIi @ 360 MHz, version 0 FPU
cpu0: physical 32K instruction (32 b/l), 16K data (32 b/l), 256K external (64 b/l)
psycho0 at mainbus0 addr 0xfffc4000
SUNW,sabre: impl 0, version 0: ign 7c0 bus range 0 to 2; PCI bus 0
DVMA map: c0000000 to e0000000
IOTDB: 10f66000 to 10fe6000
pci0 at psycho0
ppb0 at pci0 dev 1 function 1 "Sun Simba PCI-PCI" rev 0x13
pci1 at ppb0 bus 1
ebus0 at pci1 dev 1 function 0 "Sun PCIO Ebus2" rev 0x01
auxio0 at ebus0 addr 726000-726003, 728000-728003, 72a000-72a003, 72c000-72c003, 72f000-72f003
power at ebus0 addr 724000-724003 ipl 37 not configured
SUNW,pll at ebus0 addr 504000-504002 not configured
sab0 at ebus0 addr 400000-40007f ipl 43: rev 3.2
sabtty0 at sab0 port 0: console i/o
sabtty1 at sab0 port 1
comkbd0 at ebus0 addr 3083f8-3083ff ipl 41
wskbd0 at comkbd0
com0 at ebus0 addr 3062f8-3062ff ipl 42, mouse: ns16550a, 16 byte fifo
lpt0 at ebus0 addr 3043bc-3043cb, 30015c-30015d, 700000-70000f ipl 34: polled
fdthree at ebus0 addr 3023f0-3023f7, 706000-70600f, 720000-720003 ipl 39 not configured
clock0 at ebus0 addr 0-1fff: mk48t59: hostid 80c6496c
flashprom at ebus0 addr 0-fffff not configured
audioce0 at ebus0 addr 200000-2000ff, 702000-70200f, 704000-70400f, 722000-722003 ipl 35 ipl 36: nvaddrs 0
audio0 at audioce0
hme0 at pci1 dev 1 function 1 "Sun HME" rev 0x01: address 08:00:20:c6:49:6c
nsphy0 at hme0 phy 1: DP83840 10/100 media interface, rev. 1
hme0: using ivec 3021 for interrupt
vgafb0 at pci1 dev 2 function 0 "ATI Mach64 GP" rev 0x5c
wsdisplay0 at vgafb0
wsdisplay0: screen 0 added (std, sun emulation)
pciide0 at pci1 dev 3 function 0 "CMD Technology PCI0646" rev 0x03: DMA, channel 0 configured to native-PCI,
  channel 1 configured to native-PCI
pciide0: using ivec 1820 for native-PCI interrupt
wd0 at pciide0 channel 0 drive 0: <ST310212A>
wd0: 32-sector PIO, LBA, 9768MB, 16383 cyl, 16 head, 63 sec, 20005650 sectors
atapiscsi0 at pciide0 channel 0 drive 1
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: <LG, CD-ROM CRD-8322B, 1.05> SCSI0 5/cdrom removable
wd0(pciide0:0:0): using PIO mode 4, DMA mode 2
cd0(pciide0:0:1): using PIO mode 4, DMA mode 2
wd1 at pciide0 channel 1 drive 0: <IBM-DJNA-351520>
wd1: 16-sector PIO, LBA, 14664MB, 16383 cyl, 16 head, 63 sec, 30033360 sectors
wd1(pciide0:1:0): using PIO mode 4, DMA mode 2
ppb1 at pci0 dev 1 function 0 "Sun Simba PCI-PCI" rev 0x13
pci2 at ppb1 bus 2
fxp0 at pci2 dev 1 function 0 "Intel 82557" rev 0x08: ivec 10, address 00:02:a5:43:92:66
inphy0 at fxp0 phy 1: i82555 10/100 media interface, rev. 4
"Sunix 4065A" rev 0x01 at pci2 dev 2 function 0 not configured
siop0 at pci2 dev 3 function 0 "Symbios Logic 53c810" rev 0x12 ivec 18
scsibus1 at siop0: 8 targets
pcons at mainbus0 not configured
No counter-timer -- using %tick at 360MHz as system clock.
root on wd0a
rootdev=0xc00 rrootdev=0x1a00 rawdev=0x1a02
Da ich mir nicht immer von Ray das Nullmodemkabel borgen will, habe ich mir selbst eins gebaut. Am einfachsten geht man in den Conrad, kauft sich das Kabel mit der Artikelnummer 974838 ( kostet 8,95 € ) und lötet selber.
Im Internet auf der Seite http://www.stokely.com/unix.serial.port.resources/A-B-Ycablepinout.html habe ich die Pinbelegung gefunden:

Blick auf die Stecker des Kabels!
schön aufpassen beim Löten ;)
Sub-D Stecker 25 poligSub-D Buchse 9 polig
2 TD2 RD
3 RD3 TD
4 RTS8 CTS
5 CTS7 RTS
6 DSR und 8 DCD4 DTR
7 GND5 GND
20 DTR1 DCD und 6 DSR
bei dem Kabel vom Conrad gibt es noch eine Ader von Pin 22 zu Pin 9, diese kann man lassen,
es hat keine Auswirkung auf die Benutzung des Nullmodemkabels


25. Juli 2005

Letzte Woche habe ich extra 256 MB RAM nachgerüstet und somit nun 512 MB zur Verfügung. Dies sollte erst mal für ein Weilchen reichen.

Mit der Standart Shell kann ich mich nicht so recht anfreunden, also habe ich aus den Ports die bash2 installiert. Sie steht anschließend in /usr/local/bin zur Verfügung. Damit OpenBSD die neue Shell akzeptiert, muß sie in der Datei /etc/shells bekannt gemacht werden. Dazu wird am Ende einfach folgende Zeile angehangen:

/usr/local/bin/bash
Natürlich muß die Shell für root noch geändert werden:
intranet# chsh -s /usr/local/bin/bash
Zur Sicherheit sollte man jetzt sich nicht ausloggen, sondern per SSH oder einer anderen vty einen Loginversuch starten. Da ich aber auch gerne wissen will, in welche Verzeichnis ich gerade bin und als welcher User ich gerade arbeite, habe ich das bash Prompt noch etwas bearbeitet.
Der User und Hostname werden rot dargestellt, das aktuelle Verzeichnis grün und die Eingaben wieder normal. Eine Übersicht der Farben gibt es auf http://www.linux-magazin.de/Artikel/ausgabe/1999/02/Prompt/prompt.html.
Damit diese Einstellung für alle User per default eingestellt ist, erstellt man die Datei /etc/profile und fügt folgendes ein:
export PS1="\[\033[31m\]\u@\h\[\033[32m\]:\w$\[\033[0m\] "
Wenn wir schon einmal diese Datei bearbeiten, passen wir gleich noch den Pfad an, da zur Zeit joe nur mit Angabe des Pfades zu erreichen ist:
export PATH="/usr/local/bin"
Zum Schluß noch paar kleine Helferlein:
alias ll='ls -l'
alias la='ls -a'
Damit der PATH korrekt übernommen wird, editieren wir nun die Datei .profile im Homeverzeichnis von root. Dort wird die Zeile:
PATH=/sbin:/usr/sbin:/bin:/usr/bin
in
PATH=/sbin:/usr/sbin:/bin:/usr/bin:$PATH
Beim nächsten Login steht joe wieder gewohnt zur Verfügung.

Es wird langsam mal Zeit, die zweite Festplatte (immerhin 15GB) mit einzubinden:

root@intranet:~$ disklabel -E /dev/wd1c
This platform requires that partition offsets/sizes be on cylinder boundaries.
Partition offsets/sizes will be rounded to the nearest cylinder automatically.

Initial label editor (enter '?' for help at any prompt)
> p
device: /dev/wd1c
type: ESDI
disk: ESDI/IDE disk
label: IBM-DJNA-351520 
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 16
sectors/cylinder: 1008
cylinders: 16383
total sectors: 30033360
free sectors: 30033360
rpm: 3600

3 partitions:
#        size   offset    fstype   [fsize bsize   cpg]
  c: 30033360        0    unused        0     0         # (Cyl.    0 - 29794)
> a
partition: [a] Enter
offset: [0] Enter
size: [30033360] 7g
Rounding to nearest cylinder: 14680512
FS type: [4.2BSD] Enter
> a
partition: [b] Enter
offset: [14680512] Enter
size: [15352848] Enter
FS type: [swap] 4.2BSD
> w
> q
No label changes.
root@intranet:~$ newfs /dev/wd1a
newfs: /dev/wd1a: not a character-special device
/dev/wd1a:      14680512 sectors in 14564 cylinders of 16 tracks, 63 sectors
        7168.2MB in 911 cyl groups (16 c/g, 7.88MB/g, 1920 i/g)
super-block backups (for fsck -b #) at:
--- viele Ausgaben ---
root@intranet:~$ newfs /dev/wd1b
--- das selbe Spiel noch mal ;) ---
Die erste Partition soll /home beherbergen, die zweite /auktion (fragt mich jetzt nicht, warum ausgerechnet so ein Name ;) ). In der Datei /etc/fstab werden dazu zwei Zeilen angehängt:
/dev/wd1a /home ffs rw 1 1
/dev/wd1b /auktion ffs rw 1 1
Den Mountpoint dürfen wir nicht vergessen:
root@intranet:~$ mkdir /auktion
Der Einfachheit halber reboote ich die Kiste. Nach dem Hochfahren hier die Überprüfung, ob alles korrekt gemountet wurde:
root@intranet:~$ df -h
Filesystem    Size   Used  Avail Capacity  Mounted on
/dev/wd0a     9.0G   455M   8.1G     5%    /
/dev/wd1a     6.8G   1.0K   6.4G     0%    /home
/dev/wd1b     7.1G   1.0K   6.7G     0%    /auktion

9. September 2003

Die Sun soll mal unter anderen als Router eingesetzt werden. Das Modem (ein ELSA MicroLink 56k basic) ist am zweiten seriellen Port angeschlossen. Das Device hat den Namen /dev/ttyh1. Eine Modemeinwahl ist nicht schwer, aber ganz so einfach wie wvdial unter Linux ist sie auch nicht. Erstellt habe ich die Datei /etc/ppp/ppp.conf mit folgenden Inhalt (hier für den Provider Tiscali):

default:
 set log Phase Chat LCP IPCP CCP tun command
 set device /dev/ttyh1
 set speed 57600
 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 120 \"\" AT OK-AT-OK AT&FX0 OK \\dATDT\\T TIMEOUT 120 CONNECT"

tiscali: set phone 0,0193792 set login set authname USERNAME set authkey PASSWORD set timeout 120 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0 add default HISADDR enable dns

BefehlBeschreibung
default:hier beginnt die Sektion mit den Einstellungen, die für alle Provider gilt
set log Phase Chat ...setzt das Logging von den diversen Protokollen fest
set device /dev/ttyh1an dieser Schnittstelle hängt das Modem dran
set speed 57600die Schnittstelle befeuern wir mit 57600 bps (115200 verursacht bei mir "sabtty1: ring overflow" Fehler)
set dial ...hier steht der Initstring für das Modem drin (AT&FX0), wann das Modem aufgeben soll (BUSY, NO CARRIER, TIMEOUT)
und wann die Einwahl erfolgreich war (CONNECT)
sollte eigentlich mit jedem Modem funktionieren, String stammt aus der Datei /etc/ppp/ppp.conf.sample
tiscali:jetzt beginnt die Sektion für den Provider
set phone 0,0193792die Telefonnummer von Tiscali
set loginhier kann man spezielle Optionen eingeben, falls der Provider kein PAP spricht, siehe manpage zu ppp
set authname USERNAMEsetzt den Usernamen fest
set authkey PASSWORDund das Passwort dazu
set timeout 120wenn die Verbindung nach 120 Sekunden immer noch nicht steht, aufgeben
set ifaddr 10.0.0.1/0 10.0.0.2/0 ...setzt die IP Adressen für den PPP Link, 10.0.0.x sind Platzhalter, die richtigen IPs werden vom Provider zugewiesen
add default HISADDRsetzt die Route auf die vom Provider zugewiesene
enable dnsdie vom Provider zugewiesene DNS-Server werden in /etc/resolv.conf eingetragen
eine eventuell bestehene wird überschrieben!

Bei einen ersten Test lasse ich das Log auf der Console mitlaufen, es wirft viele Meldungen aus, daher werde ich diese jetzt nicht auflisten:

root@intranet:/etc/ppp$ tail -f /var/log/daemon &
root@intranet:/etc/ppp$ ppp -ddial tiscali
Nach ein paar Sekunden sollte im Log eine Meldung ähnlich dieser erscheinen:
Sep  9 09:30:43 intranet ppp[17822]: tun0: IPCP:  PRIDNS[6] 62.27.53.66
Sep  9 09:30:43 intranet ppp[17822]: tun0: IPCP:  SECDNS[6] 195.185.185.195
Sep  9 09:30:43 intranet ppp[17822]: tun0: IPCP: deflink: State change Ack-Sent --> Opened
Sep  9 09:30:43 intranet ppp[17822]: tun0: IPCP: deflink: LayerUp.
Sep  9 09:30:43 intranet ppp[17822]: tun0: IPCP: myaddr 62.246.8.33 hisaddr = 62.26.136.20
Ein kleiner Test mit lynx gibt endgültige Sicherheit:
root@intranet:/etc/ppp$ lynx www.marty44.net
Das Beenden der Verbindung finde ich noch nicht ganz so elegant:
root@intranet:/etc/ppp$ ps xa
  PID TT   STAT      TIME COMMAND
    1 ??  Is      0:00.03 /sbin/init
32440 ??  Is      0:00.12 syslogd -a /var/empty/dev/log
27407 ??  Is      0:00.02 inetd
 3789 ??  Is      0:00.91 /usr/sbin/sshd
14685 ??  Is      0:00.30 sendmail: accepting connections (sendmail)
 1272 ??  Is      0:00.09 cron
17822 ??  Is      0:00.27 ppp -ddial tiscali
17486 p0  Is      0:00.39 -bash (bash)
 6865 p0  I       0:00.04 tail -f /var/log/daemon
 5357 p0  R+      0:00.02 ps -xa
 7854 h0  Is+     0:00.03 /usr/libexec/getty suncons console
root@intranet:/etc/ppp$ kill 17822
Da ich aber ein recht fauler Mensch bin, erstelle ich zwei kleine Scripte, die mir die Tipperei ersparen
Einwahlscript /usr/sbin/ian
#! /bin/sh
# /usr/sbin/ian - Interneteinwahlscript
exec /usr/sbin/ppp -ddial tiscali
Beendenscript /usr/sbin/iaus
#! /bin/sh
# /usr/sbin/iaus - zum Beenden der Interneteinwahl
exec /bin/kill `cat /var/run/tun0.pid`
Ausführbar müssen die Scripte natürlich auch sein:
root@intranet:/usr/sbin$ chmod 700 ian
root@intranet:/usr/sbin$ chmod 700 iaus
Weiter geht es mit der NAT Einrichtung. Dazu wird der Packetfilter pf benutzt. Damit dieser bei jeden Booten aktiviert wird in der Datei /etc/rc.conf die Variable pf von NO auf YES geändert (Zeile 55). Alternativ kann man pf auch mit pfctl -e aktivieren und mit pfctl -d wieder deaktivieren.
Ebenfalls muß das Routing aktiviert werden. Damit dies beim Booten passiert, editiert man die Datei /etc/sysctl.conf und entfernt die # von #net.inet.ip.forwarding=1 (Zeile 7). Per Shell geht das natürlich auch: sysctl -w net.inet.ip.forwarding=1

Beim Testen mit NAT ist mir die gesamte U5 abgeraucht. Sie hat erst mal eine Stunde gestreikt, es ging nur der Netzteillüfter an und sonst gar nichts. Danach ist sie wieder hochgekommen mit der Meldung, das die NVRAM Batterie nicht ok ist:

Hardware Power ON

@(#) Sun Ultra 5/10 UPA/PCI 3.31 Version 0 created 2001/07/25 20:36 Probing keyboard Done %o0 = 0000.0000.0000.4001

Executing Power On SelfTest

@(#) Sun Ultra 5/10 (Darwin) POST 3.1.0 (Build No. 626) 13:56 on 06/27/00

CPU: UltraSPARC-LC (Clock Frequency: 360MHz, Ecache Size: 256KB)

Init POST BSS Init System BSS NVRAM NVRAM Battery Detect Test

*********************** STATUS =FAILED TEST =NVRAM Battery Detect SUSPECT=NVRAM U13 MESSAGE=NVRAM Low Battery addr 000001ff.f1001ff0 exp 00 obs 10



Status of this POST run: FAIL manfacturing mode=OFF Time Stamp [hour:min:sec] 09:53:44 [month/date year] 09/09 2003

Ich habe den Stromstecker drin gelassen und die Maschine im OpenBoot mit power-off ausgeschaltet. Es hat anscheinend gereicht um die Batterie wieder etwas zu laden.
Anscheinend hat auch die HappyMeal Netzwerkkarte (hme0) einen Schuß weg. Zum Glück habe ich aber noch eine Intelkarte (fxp0) verbaut. Also schnell das System umkonfiguriert:
root@intranet:/etc$ mv hostname.hme0 hostname.fxp0
Nach dem nächsten Reboot wird dann die Intelkarte genutzt.


10. September 2003

Nun aber wieder zum Thema NAT. Was wie genattet werden soll, ist in der Datei /etc/pf.conf einzutragen:

# externes Interface, fuer den PPP Link ist dies das tun0
ext_if = "tun0"

# internes Ethernet - jetzt die Intelkarte int_if = "fxp0"

# was genattet werden soll, die Klammern um das $ext_if sind wichtig, # da die IP Adresse erst bestimmt werden kann, wenn mal eine Einwahl # erfolgt ist # genaue Erklaerung siehe OpenBSD PF Howto auf der OpenBSD Website nat on $ext_if inet from $int_if/24 to any -> ($ext_if)

Ein Test mit einen Windows 2000 Client lief erfolgreich. Als Gateway muß die 192.168.44.20 und als DNS Server der von Tiscali eingetragen werden (195.185.185.195).
Es gibt das Programm pfctl zum abfragen von diversen Sachen. Interessant sind pfctl -sn zum prüfen ob NAT überhaupt aktiv ist und pfctl -s state zum anschauen der aktuellen NAT Verbindungen.


11. September 2003

Unter Linux gibt es das proc Dateisystem, mit dem sich diverse Dinge vom Kernel abfragen lassen. Unter OpenBSD gibt es etwas ähnliches, es nennt sich hier kernfs. Installiert ist es recht schnell:

root@intranet:~$ mkdir /kern
In der Datei /etc/fstab wird am Ende folgende Zeile angehängt:
/kern /kern kernfs ro 0 0
Beim nächsten Booten wird das kernfs automatisch gemountet. Wenn man nicht neu booten will, kann man es auch so mounten:
root@intranet:~$ mount /kern
Joe als Editor ist zwar nicht schlecht, aber manchmal kann es einfach von Vorteil sein, wenn man einen Editor mit Syntax Highlighting verwendet. Dazu bietet sich mp an. Leider ist mp nicht in den Ports enthalten, aber unter http://www.triptico.com/software/mp.html kann es ihn runterladen. Ich habe die Version 3.2.9 verwendet. Die Installation geht recht einfach und auch schnell:
root@intranet:/tmp$ tar xfz /von/wo/auch/immer/mp-3.2.9.tar.gz
root@intranet:/tmp$ cd mp-3.2.9
root@intranet:/tmp/mp-3.2.9$ gmake mp
root@intranet:/tmp/mp-3.2.9$ gmake install
Gestartet wird der Editor mit mp Dateiname. Mit Strg-A erreicht man das Menü, der Rest sollte selbsterklärend sein.


17. September 2003

Unter http://www.openbsd.org/errata.html kann man einsehen, ob es aktuelle Sicherheitspatches gibt. Zur Zeit sind es vier Stück: zwei für den Kernel, einen für die libc und einen für OpenSSH.
Als erstes wird erst mal schnell wget installiert. Es ist ein Downloadtool für die Shell und kann mit ftp und http umgehen:

root@intranet:~$ cd /usr/ports/net/wget/
root@intranet:/usr/ports/net/wget$ make
root@intranet:/usr/ports/net/wget$ make install
Die Sourcen befinden sich auf der dritten CD:
root@intranet:/usr/ports/net/wget$ cd /usr/src/
root@intranet:/usr/src$ mount /dev/cd0a /mnt/
root@intranet:/usr/src$ tar xzf /mnt/src.tar.gz
root@intranet:/usr/src$ mkdir patches
root@intranet:/usr/src$ cd patches
root@intranet:/usr/src/patches$ wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.3/common/001_realpath.patch
root@intranet:/usr/src/patches$ wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.3/common/002_semget.patch
root@intranet:/usr/src/patches$ wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.3/common/003_sysvsem.patch
root@intranet:/usr/src/patches$ wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.3/common/004_sshbuffer.patch
root@intranet:/usr/src/patches$ cd ..
root@intranet:/usr/src$ patch -p0 < patches/001_realpath.patch
root@intranet:/usr/src$ patch -p0 < patches/002_semget.patch
root@intranet:/usr/src$ patch -p0 < patches/003_sysvsem.patch
root@intranet:/usr/src$ patch -p0 < patches/004_sshbuffer.patch
root@intranet:/usr/src$ cd sys/arch/sparc64/conf/
root@intranet:/usr/src/sys/arch/sparc64/conf$ cp GENERIC MEINKERNEL
root@intranet:/usr/src/sys/arch/sparc64/conf$ config MEINKERNEL
Don't forget to run "make depend"
root@intranet:/usr/src/sys/arch/sparc64/conf$ cd ../compile/MEINKERNEL
root@intranet:/usr/src/sys/arch/sparc64/compile/MEINKERNEL$ make depend
root@intranet:/usr/src/sys/arch/sparc64/compile/MEINKERNEL$ make

circa 27 Minuten später...

root@intranet:/usr/src/sys/arch/sparc64/compile/MEINKERNEL$ cd / root@intranet:/$ cp bsd bsd.old root@intranet:/$ cp /usr/src/sys/arch/sparc64/compile/MEINKERNEL/bsd /bsd

Nach dem Kopieren der Datei GENERIC nach MEINKERNEL hätte man noch einige Änderungen vornehmen können, zum Beispiel nicht im System vorhandene Netzwerkkarten rauswerfen. Die Datei ist halbwegs gut dokumentiert, aber hier ging es jetzt erst mal um die Sicherheitsupdates.
Die Sun nun rebooten (shutdown -r now) und schauen, ob der neue Kernel funktioniert.

Nach dem dies hoffentlich geklappt hat (im dmesg sollte der String MEINKERNEL erhalten sein), geht es weiter mit der libc und OpenSSH:

root@intranet:~$ cd /usr/src/lib/libc
root@intranet:/usr/src/lib/libc$ make

circa 45 Minuten später...

root@intranet:/usr/src/lib/libc$ make install root@intranet:/usr/src/lib/libc$ cd ../../usr.bin/ssh/ root@intranet:/usr/src/usr.bin/ssh$ make root@intranet:/usr/src/usr.bin/ssh$ make install root@intranet:/usr/src/usr.bin/ssh$ kill -HUP `cat /var/run/sshd.pid`

Mit dem letzten Befehl hat man den sshd neu gestartet.

Eben fiel mir noch auf, das die Uhrzeit auf dem System gar nicht stimmt. Stellen kann man sie so:

root@intranet:~$ date -d dst 200309171240.00
Wed Sep 17 12:40:00 CEST 2003
Sep 17 12:40:00 intranet date: date set by root

27. September 2003

Heute habe ich einen Plextor IDE Brenner eingebaut. Aus den Ports installiert ich die cdrtools (sie liegen unter /usr/ports/sysutils/cdrtools). Ein cdrecord -scanbus funktioniert unter OpenBSD leider nicht. Man muß den Brenner mit dev=/dev/rcd0c angeben.

eine CDRW löschen:

root@intranet:~$ cdrecord -v dev=/dev/rcd0c speed=4 blank=all
Leider scheint es noch einige Treiberprobleme zu geben, cdrecord beendet sich anscheinend nicht richtig und der Kernel gibt Fehlermeldungen aus. In dem Fall dann einfach cdrecord killen.

die Distfiles mal brennen:

root@intranet:~$ cd /usr/ports/
root@intranet:/usr/ports$ mkisofs -J -V DISTFILES -l -v -o /tmp/imageofcd.iso distfiles/
root@intranet:/usr/ports$ cdrecord -v dev=/dev/rcd0c speed=10 -eject driveropts=burnfree fs=10m /tmp/imageofcd.iso
Mehr Infos gibt es hier.


11. November 2003

Vor ein paar Tagen kam OpenBSD 3.4 an, Zeit für ein Update.
Als erstes noch wichtige Daten sichern (ich hab die distfiles unter /usr/ports/ sowie die /etc/profile gesichert). Dann im OpenBoot von der dritten CD-ROM starten:

ok boot cdrom
Das hatte erst mal nicht geklappt, weil das cdrom Alias im OpenBoot falsch war. Also setze ich es erneut:
ok nvunalias cdrom
ok nvalias cdrom /pci@1f,0/pci@1,1/ide@3/cdrom@1,0:f
ok boot cdrom
--- viele Ausgaben, die erspare ich mir diesmal ---
(I)nstall, (U)pgrade or (S)hell? u

Welcome to the OpenBSD/sparc64 3.4 upgrade program.

This program will help you upgrade OpenBSD in a simple and rational way. At any prompt except password prompts you can run a shell command by typing '!foo', or escape to a shell by typing '!'. Default answers are shown in []'s and are selected by pressing RETURN. At any time you can exit this program by pressing Control-C and then RETURN, but quitting during an upgrade can leave your system in an inconsistent state.

Terminal type? [sun] vt100

IS YOUR DATA BACKED UP? As with anything that modifies disk contents, this program can cause SIGNIFICANT data loss.

NOTE: once your system has been upgraded, you must manually merge any changes to files in the 'etc' set into the files already on your system.

Proceed with upgrade? [n] y Cool! Let's get to it... Available disks are: wd0 wd1. Which one is the root disk? (or 'done') [done] wd0 Root filesystem? [wd0a] Enter Checking root filesystem (fsck -fp /dev/wd0a) ... OK. --- dauert etwas --- Mounting root filesystem...done. Enable network using configuration stored on root filesystem? [y] Enter --- viele Ausgaben --- Do you want to do any manual network configuration? [n] Enter

The fstab is configured as follows:

/dev/wd0a / ffs rw 1 1 /dev/wd1a /home ffs rw 1 1 /dev/wd1b /auktion ffs rw 1 1 /kern /kern kernfs ro 0 0

For the upgrade, filesystems in the fstab will be automatically mounted if the 'noauto' option is absent, and /sbin/mount_ is found, and the fstype is not nfs. Non-ffs filesystems will be mounted read-only.

You can edit the fstab now, before it is used, but the edited fstab will only be used during the upgrade. It will not be copied back to disk. Edit fstab with ed? [n] Enter Checking non-root filesystems... fsck -p /dev/wd1a...OK. fsck -p /dev/wd1b...OK. ...done. /dev/wd0a on /mnt type ffs (rw, local, ctime=Sat Sep 27 13:02:57 2003) /dev/wd1a on /mnt/home type ffs (rw, local, ctime=Sat Sep 27 13:02:57 2003) /dev/wd1b on /mnt/auktion type ffs (rw, local, ctime=Sat Sep 27 13:02:58 2003)

You will now specify the location and names of the upgrade sets you want to load. You will be able to repeat this step until all of your sets have been successfully loaded. If you are not sure what sets to upgrade, refer to the installation notes for details on the contents of each.

Sets can be located on a (m)ounted filesystem; a (c)drom, (d)isk or (t)ape device; or a (f)tp, (n)fs or (h)ttp server. Where are the upgrade sets? (or 'done') c Available CD-ROMs are: cd0. Which one contains the upgrade media? (or 'done') [cd0] Enter

Pathname to the sets? (or 'done') [3.4/sparc64] Enter

The following sets are available. Enter a filename, 'all' to select all the sets, or 'done'. You may de-select a set by prepending a '-' to its name.

[X] bsd [ ] bsd.rd [X] base34.tgz [X] misc34.tgz [X] comp34.tgz [X] man34.tgz [X] game34.tgz [ ] xbase34.tgz [ ] xshare34.tgz [ ] xfont34.tgz [ ] xserv34.tgz

File name? (or 'done') [bsd.rd] Enter --- nochmalige Ausgabe der Sets --- File name? (or 'done') [xbase34.tgz] done Ready to upgrade sets? [y] Enter --- nun wird kopiert und entpackt... --- Where are the upgrade sets? (or 'done') done What timezone are you in? ('?' for list) [Europe/Berlin] Enter Setting local timezone to 'Europe/Berlin'...done. Making all device nodes...done. Installing boot block... proto: /mnt/usr/mdec/bootblk device: /dev/rwd0c Copying ofwboot...

CONGRATULATIONS! Your OpenBSD upgrade has been successfully completed! To boot the new system, enter halt at the command prompt. Once the system has halted, reset the machine and boot from the disk. # halt syncing disks... done halted

Program terminated ok boot

Im Idealfall sollte nun OpenBSD 3.4 starten.

Beim Booten sind mir einige Fehlermeldungen aufgefallen:

pfctl: fopen(/etc/pf.os): No such file or directory
Sep 27 15:14:45 pflogd[6032]: Invalid/incompatible log file, move it away
Sep 27 15:14:45 pflogd[6032]: Failed to open log file /var/log/pflog
Also logge ich mich nun als root ein und erzeuge erst mal die Datei /etc/pf.os mit:
root@intranet:~$ touch /etc/pf.os
Die alte pflog Datei wird auch noch gelöscht:
root@intranet:~$ rm /var/log/pflog
Der Einfachheit halber reboote ich der Kiste noch mal und schaue, ob sie noch irgendwie rummeckert.

Es hat geklappt, die Uhr geht total falsch, also stelle ich mal wieder:

root@intranet:~$ date -d dst 200311111140.00
Tue Nov 11 11:40:00 CET 2003
Die Ports werden jetzt erst mal aktualisiert:
root@intranet:~$ mount -t cd9660 -r /dev/cd0a /mnt
root@intranet:~$ cd /usr
root@intranet:/usr$ tar xfz /mnt/ports.tar.gz
Weiter geht es mit dem Systemsourcen:
root@intranet:/usr$ cd src
root@intranet:/usr/src$ rm -r *
root@intranet:/usr/src$ tar xzf /mnt/src.tar.gz
root@intranet:/usr/src$ mkdir patches
root@intranet:/usr/src$ cd patches
root@intranet:/usr/src/patches$ wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.4/common/002_asn1.patch
root@intranet:/usr/src/patches$ wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.4/common/003_arp.patch
root@intranet:/usr/src/patches$ wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.4/common/004_httpd.patch
root@intranet:/usr/src/patches$ wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.4/common/005_exec.patch
root@intranet:/usr/src/patches$ cd ..
root@intranet:/usr/src$ patch -p0 < patches/002_asn1.patch
root@intranet:/usr/src$ patch -p0 < patches/003_arp.patch
root@intranet:/usr/src$ patch -p0 < patches/004_httpd.patch
root@intranet:/usr/src$ patch -p0 < patches/005_exec.patch
Zwei Patche betreffen den Kernel, einer OpenSSL und einer den Apache. Als erstes geht es ans OpenSSL:
root@intranet:/usr/src$ cd lib/libssl
root@intranet:/usr/src/lib/libssl$ make obj
root@intranet:/usr/src/lib/libssl$ make depend
root@intranet:/usr/src/lib/libssl$ make
root@intranet:/usr/src/lib/libssl$ make install
Weiter geht es mit dem Kernel, hier will ich dann gleich noch die Konfiguration anpassen, angeblich soll die Serial-Port-PCI-Karte mit SUNIX Chipsatz nun unterstützt werden:
root@intranet:/usr/src/lib/libssl$ cd ../../sys/arch/sparc64/conf
root@intranet:/usr/src/sys/arch/sparc64/conf$ cp GENERIC MEINKERNEL
root@intranet:/usr/src/sys/arch/sparc64/conf$ joe MEINKERNEL
In den Zeilen 67,68,69 entferne ich die Raute (#), damit sollte die Serial-Port-Karte mit drin sein.
root@intranet:/usr/src/sys/arch/sparc64/conf$ config MEINKERNEL
Don't forget to run "make depend"
root@intranet:/usr/src/sys/arch/sparc64/conf$ cd ../compile/MEINKERNEL
root@intranet:/usr/src/sys/arch/sparc64/compile/MEINKERNEL$ make depend
root@intranet:/usr/src/sys/arch/sparc64/compile/MEINKERNEL$ make
root@intranet:/usr/src/sys/arch/sparc64/compile/MEINKERNEL$ cp bsd /bsd
root@intranet:/usr/src/sys/arch/sparc64/compile/MEINKERNEL$ shutdown -r now
Leider hat dies nicht geklappt, die Karte wird zwar erkannt, aber benutzen kann man sie nicht.


21. November 2003

Es gibt doch ein proc Dateisystem unter OpenBSD, viel steht da zwar auf den ersten Blick auch nicht drin, aber ich binde es trotzdem ein. Dazu hänge ich an die Datei /etc/fstab folgende Zeile an:

/proc /proc procfs rw 0 0
Es sind auch mal wieder einige Sicherheitspatche heraus gekommen:
root@intranet:~$ cd /usr/src/patches
root@intranet:/usr/src/patches$ wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.4/common/007_uvm.patch
root@intranet:/usr/src/patches$ wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.4/common/008_sem.patch
Beide Patche betreffen den Kernel, wie man sie einspielt, steht auf dieser Seite weiter oben beschrieben.


3. April 2004

Lange nichts mehr gemacht an der Ultra 5, hatte leider genug andere Sachen zu tun. Nun ja, heute erst mal wieder aktuelle Patche einspielen:

root@intranet:~$ cd /usr/src/patches
root@intranet:/usr/src/patches$ wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.4/common/009_isakmpd.patch
root@intranet:/usr/src/patches$ wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.4/common/010_sysvshm.patch
root@intranet:/usr/src/patches$ wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.4/common/011_ip6.patch
root@intranet:/usr/src/patches$ wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.4/common/012_font.patch
root@intranet:/usr/src/patches$ wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.4/common/013_tcp.patch
root@intranet:/usr/src/patches$ wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.4/common/014_httpd2.patch
root@intranet:/usr/src/patches$ wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.4/common/015_isakmpd2.patch
root@intranet:/usr/src/patches$ wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.4/common/016_openssl.patch
Ich habe alle Patche bis auf Nummer 012 eingespielt. XFree habe ich gar nicht installiert, nicht mal die Sourcen ;). Der Kernel muß neu gebaut werden, dann der isakmpd, httpd, headers, sysctl und OpenSSL. Der Kernel ist weiter oben beschrieben, alles andere folgt jetzt:

isakmpd:

root@intranet:/usr/src$ cd sbin/isakmpd
root@intranet:/usr/src/sbin/isakmpd$ make clean
root@intranet:/usr/src/sbin/isakmpd$ make depend
root@intranet:/usr/src/sbin/isakmpd$ make
root@intranet:/usr/src/sbin/isakmpd$ make install
headers und sysctl (Patch 013):
root@intranet:/usr/src/sbin/isakmpd$ cd /usr/src
root@intranet:/usr/src$ make includes
root@intranet:/usr/src$ cd sbin/sysctl
root@intranet:/usr/src/sbin/sysctl$ make depend
root@intranet:/usr/src/sbin/sysctl$ make
root@intranet:/usr/src/sbin/sysctl$ make install
httpd:
root@intranet:/usr/src/sbin/sysctl$ cd /usr/src/usr.sbin/httpd
root@intranet:/usr/src/usr.sbin/httpd$ make -f Makefile.bsd-wrapper obj
root@intranet:/usr/src/usr.sbin/httpd$ make -f Makefile.bsd-wrapper cleandir
root@intranet:/usr/src/usr.sbin/httpd$ make -f Makefile.bsd-wrapper depend
root@intranet:/usr/src/usr.sbin/httpd$ make -f Makefile.bsd-wrapper
root@intranet:/usr/src/usr.sbin/httpd$ make -f Makefile.bsd-wrapper install
OpenSSL:
root@intranet:/usr/src/usr.sbin/httpd$ cd /usr/src/lib/libssl
root@intranet:/usr/src/lib/libssl$ make obj
root@intranet:/usr/src/lib/libssl$ make depend
root@intranet:/usr/src/lib/libssl$ make
root@intranet:/usr/src/lib/libssl$ make install

14. Mai 2004

Das OpenBSD 3.5 ist angekommen, Zeit also für ein Update. Es läuft eigentlich genauso ab wie beim Update auf 3.4, deshalb erspare ich mir jetzt die ganzen Ausgaben.

Die Ports aktualisieren nicht vergessen (steht auch weiter oben).

Und die Sourcen (steht ebenfalls weiter oben).

Es sind wieder einige Patches raus, also spielen wir sie gleich mal ein:

root@intranet:~$ cd /usr/src/patches
root@intranet:/usr/src/patches$ wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.5/common/002_cvs.patch
root@intranet:/usr/src/patches$ wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.5/common/003_gdt.patch
root@intranet:/usr/src/patches$ wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.5/common/004_scsi.patch
root@intranet:/usr/src/patches$ wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.5/common/005_tcp.patch
root@intranet:/usr/src/patches$ wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.5/common/006_procfs.patch
Der 001 Patch bezieht sich auf ein defektes Paket auf der CD2. Der zweite ist für CVS und alle anderen sind für den Kernel, der gleich gebaut wird. Wie man Patche einspielt und so weiter steht ebenfalls - erraten - weiter oben ;).

Beim nächsten Booten fiel mir folgendes auf:

starting system logger
syslogd: unknown user _syslogd
Der syslogd lief auch nicht. Nach einigen Suchen fand ich auf http://www.openbsd.org/faq/upgrade-minifaq.html#3.3.7 die Lösung.
Als erstes muß eine neue Gruppe erzeugt werden:
root@intranet:~$ groupadd -g 73 _syslogd
Danach muß der User noch mittels dem Befehl vipw hinzugefügt werden. Falls man mit vi auf Kriegsfuß steht, kann man vorher einen anderen Editor einstellen:
root@intranet:~$ export EDITOR=joe
root@intranet:~$ vipw
Am Ende der Datei folgende Zeile anhängen:
_syslogd:*:73:73::0:0:Syslog Daemon:/var/empty:/sbin/nologin
Nach dem nächsten Boot sollte der syslogd wieder seinen Dienst tun.


25. Mai 2004

Heute habe ich einen 333 MHz Prozessor eingebaut. Dieser hat zwar 27 MHz weniger als der alte 360er, dafür aber 2 MB Level 2 Cache. Er soll angeblich schneller sein. Hier der neue dmesg:

Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 333MHz), No Keyboard
OpenBoot 3.31, 512 MB (50 ns) memory installed, Serial #12994924.
Ethernet address 8:0:20:c6:49:6c, Host ID: 80c6496c.


Boot device: disk File and args: OpenBSD IEEE 1275 Bootblock 1.1 ..>> OpenBSD 3.5 (obj) #0: Mon Mar 29 12:00:16 MST 2004 deraadt@sparc64.openbsd.org:/usr/src/sys/arch/sparc64/stand/ofwboot/obj: trying bsd... Booting /pci@1f,0/pci@1,1/ide@3/disk@0,0:a/bsd 3089024@0x1000000+146392@0x1800000+4047912@0x1823bd8 symbols @ 0xfff222c0 64+197808+116078 start=0x1000000 [ using 314656 bytes of bsd ELF symbol table ] console is /pci@1f,0/pci@1,1/ebus@1/se@14,400000:a 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.5 (MEINKERNEL) #1: Sat May 15 09:32:46 CEST 2004 root@intranet.marty44.net:/usr/src/sys/arch/sparc64/compile/MEINKERNEL total memory = 536870912 avail memory = 489938944 using 3276 buffers containing 26836992 bytes of memory bootpath: /pci@1f,0/pci@1,1/ide@3,0/disk@0,0 mainbus0 (root): Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 333MHz) cpu0 at mainbus0: SUNW,UltraSPARC-IIi @ 333 MHz, version 0 FPU cpu0: physical 32K instruction (32 b/l), 16K data (32 b/l), 2048K external (64 b/l) psycho0 at mainbus0 addr 0xfffc4000 SUNW,sabre: impl 0, version 0: ign 7c0 bus range 0 to 2; PCI bus 0 DVMA map: c0000000 to e0000000 IOTDB: 20e4000 to 2164000 pci0 at psycho0 ppb0 at pci0 dev 1 function 1 "Sun Simba PCI-PCI" rev 0x13 pci1 at ppb0 bus 1 ebus0 at pci1 dev 1 function 0 "Sun PCIO Ebus2" rev 0x01 auxio0 at ebus0 addr 726000-726003, 728000-728003, 72a000-72a003, 72c000-72c003, 72f000-72f003 power at ebus0 addr 724000-724003 ipl 37 not configured SUNW,pll at ebus0 addr 504000-504002 not configured sab0 at ebus0 addr 400000-40007f ipl 43: rev 3.2 sabtty0 at sab0 port : console i/o sabtty1 at sab0 port 1 comkbd0 at ebus0 addr 3083f8-3083ff ipl 410: reset timeout comkbd0: no keyboard com0 at ebus0 addr 3062f8-3062ff ipl 42, mouse: ns16550a, 16 byte fifo lpt0 at ebus0 addr 3043bc-3043cb, 30015c-30015d, 700000-70000f ipl 34: polled fdthree at ebus0 addr 3023f0-3023f7, 706000-70600f, 720000-720003 ipl 39 not configured clock0 at ebus0 addr 0-1fff: mk48t59: hostid 80c6496c flashprom at ebus0 addr 0-fffff not configured audioce0 at ebus0 addr 200000-2000ff, 702000-70200f, 704000-70400f, 722000-72200 3 ipl 35 ipl 36: nvaddrs 0 audio0 at audioce0 hme0 at pci1 dev 1 function 1 "Sun HME" rev 0x01: address 08:00:20:c6:49:6c nsphy0 at hme0 phy 1: DP83840 10/100 media interface, rev. 1 hme0: using ivec 3021 for interrupt vgafb0 at pci1 dev 2 function 0 "ATI Mach64 GP" rev 0x5c wsdisplay0 at vgafb0 wsdisplay0: screen 0 added (std, sun emulation) pciide0 at pci1 dev 3 function 0 "CMD Technology PCI0646" rev 0x03: DMA, channel 0 configured to native-PCI, channel 1 configured to native-PCI pciide0: using ivec 1820 for native-PCI interrupt wd0 at pciide0 channel 0 drive 0: <ST310212A> wd0: 32-sector PIO, LBA, 9768MB, 20005650 sectors atapiscsi0 at pciide0 channel 0 drive 1 scsibus0 at atapiscsi0: 2 targets cd0 at scsibus0 targ 0 lun 0: <PLEXTOR, CD-R PX-W4012A, 1.05> SCSI0 5/cdrom removable wd0(pciide0:0:0): using PIO mode 4, DMA mode 2 cd0(pciide0:0:1): using PIO mode 4, DMA mode 2 wd1 at pciide0 channel 1 drive 0: <IBM-DJNA-351520> wd1: 16-sector PIO, LBA, 14664MB, 30033360 sectors wd1(pciide0:1:0): using PIO mode 4, DMA mode 2 ppb1 at pci0 dev 1 function 0 "Sun Simba PCI-PCI" rev 0x13 pci2 at ppb1 bus 2 fxp0 at pci2 dev 1 function 0 "Intel 82557" rev 0x08: ivec 10, address 00:02:a5:43:92:66 inphy0 at fxp0 phy 1: i82555 10/100 media interface, rev. 4 siop0 at pci2 dev 3 function 0 "Symbios Logic 53c810" rev 0x12: ivec 18 scsibus1 at siop0: 8 targets pcons at mainbus0 not configured No counter-timer -- using %tick at 333MHz as system clock. root on wd0a rootdev=0xc00 rrootdev=0x1a00 rawdev=0x1a02


10. Juni 2004

Es sind in den letzten Tagen wieder einige Patche erschienen. Auch so werden noch eine Optimierungen am System vorgenommen. Zeit also, sich mal mit dem Update per CVS zu befassen. Auf der OpenBSD Seite steht es ganz gut beschrieben, erzeugt aber doch etwas Verwirrung, besonders dann, wenn man noch nie mit CVS gearbeitet hat. So sollte es funktionieren:

root@intranet:~$ export CVSROOT=":pserver:anoncvs@anoncvs.ca.openbsd.org:/cvs"
root@intranet:~$ cd /usr/src
root@intranet:/usr/src$ cvs login
Logging in to :pserver:anoncvs@anoncvs.ca.openbsd.org:2401/cvs
CVS password: anoncvs
root@intranet:/usr/src$ cvs update -rOPENBSD_3_5 -Pd
Allerdings sind es doch einige Updates mehr, als ich dachte. Das ganze ist also nicht geeignet, um per Modem ein Update zu fahren (zumindest nicht, wenn man nach Zeit bezahlt - hoffentlich krieg ich bald DSL).
Also sollte man die Patche wie gewohnt einspielen, mittlerweile sind wir bei 012 angelangt, einer für den Kernel war auch dabei, die anderen für cvs, isakmpd, kerberos und xdm. Letzteren kann ich mir sparen, da kein X installiert ist.
Ich habe mal in der Kernel Config alles auskommentiert, was ich in der U5 nicht an Geräten habe. Die Configdatei ist diese. Der gebaute Kernel ist bei mir 3038500 Bytes groß.


8. November 2004

Lange nichts mehr gemacht an der U5. Mittlerweile kam das neue OpenBSD 3.6 an. Als ich die U5 anschalten wollte, ist sie ständig abgestürzt und hat haufenweise Fehlermeldung von "Illegal Istructions" geliefert. Es hat sich dann herausgestellt, das der Prozessor einen Schuß hat. Zum Glück hatte ich noch den alten 360 MHz Prozessor da und nun tut wieder dieser seinen Dienst.
Da ich auch einen Verdacht hatte, das die Originalplatte einen Defekt hat (es kamen auch ab und zu ATA Fehler), habe ich die zweite Platte zur ersten gemacht und die andere erst mal rausgenommen. Dann stand eine frische Installation von OpenBSD 3.6 an. Diesmal voll und mit X. Die ganzen Schritte wie ports, profile und so weiter erkläre ich nicht noch mal ;).
Die X-Konfiguration war nicht ganz einfach, aber nach einigen Suchen im Netz und viel Probieren habe ich es hingekriegt. Als erstes muß man in der Datei /etc/sysctl.conf in den Wert von machdep.allowaperture auf 2 setzen. Der X-Server greift richtig tief in die Hardware ein und mit dem Wert 2 wird ihm dies nach dem nächsten Booten erlaubt. Die Zeile sollte nicht auskommentiert sein.
Wer nicht neu booten will, kann den Wert auch über das Programm sysctl setzen.

Den X-Server kann man mit xf86config konfigurieren. Allerdings habe ich damit keine brauchbare Konfiguration hingekriegt. Nach einigen googeln habe ich eine Beispielkonfiguration gefunden. Diese hat zwar noch nicht ganz funktioniert, aber mit etwas anpassen hat es geklappt. Meine Version mit einen Iiyama ProLite E431S am analogen Eingang als Monitor:

# XF86Config for SUN Ultra 5
# tested with
# XFree86 Version 4.3.99.902 (4.4.0 RC 2) (for OpenBSD 3.6)

# Prevent monitor from blanking / turning off
Section "ServerFlags"
         Option "BlankTime"  "0"
         Option "StandbyTime" "0"
EndSection

Section "ServerLayout"
        Identifier      "wsfb"
        Screen 0        "Screen 1" 0 0
        InputDevice     "Mouse1" "CorePointer"
        InputDevice     "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
    RgbPath      "/usr/X11R6/lib/X11/rgb"
    ModulePath   "/usr/X11R6/lib/modules"

    FontPath    "/usr/X11R6/lib/X11/fonts/misc"
    FontPath    "/usr/X11R6/lib/X11/fonts/Speedo"
    FontPath    "/usr/X11R6/lib/X11/fonts/Type1"
    FontPath    "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
    FontPath    "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
    FontPath    "/usr/local/share/fonts"
    FontPath    "/usr/X11R6/lib/X11/fonts"
    FontPath    "/usr/local/share/fonts/override"
    FontPath    "/usr/X11R6/lib/X11/fonts/cyrillic"
    FontPath    "/usr/X11R6/lib/X11/fonts/local"
    FontPath    "/usr/X11R6/lib/X11/fonts/TTF"
EndSection

Section "Module"
        Load  "dbe"
        Load  "extmod"
        Load  "glx"
        Load  "record"
        Load  "xtrap"
        Load  "speedo"
        Load  "type1"
        Load  "freetype"
EndSection

# All Sun keyboards (USB Type 6, Serial Type 3/4/5/6)
Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "keyboard"
        Option      "Protocol"    "wskbd"
        Option      "Device"      "/dev/wskbd0"
        Option      "XkbRules"    "xfree86"
        Option      "XkbLayout"   "de"
EndSection

# Serial mice on com ports (no wsmouse at the U5)
Section "InputDevice"
        Identifier      "Mouse1"
        Driver          "mouse"
        Option          "Protocol" "SunMouse"
        Option          "Device" "/dev/tty00"
        Option          "Baudrate" "1200"
EndSection

# this works with an Iiyama ProLite E431S TFT at analog port
Section "Monitor"
        Identifier   "Monitor"
        HorizSync    30-75
        VertRefresh  50-90
EndSection

Section "Device"
        Identifier      "Card0"
        Driver          "ati"
#        BusID           "PCI:1:2:0"
#        Option          "composite_sync" "True"
EndSection

Section "Screen"
        Identifier      "Screen 1"
        Device          "Card0"
        Monitor         "Monitor"
        DefaultDepth    24
        SubSection "Display"
                Depth   8
        EndSubSection
        SubSection "Display"
                Depth   16
        EndSubSection
        SubSection "Display"
                Depth   24
                Modes   "1152x864"
        EndSubSection
EndSection
Das ganze auch nochmal als extra Datei.

Den X-Server starten man einfach mit startx. Im Idealfall sollte nach ein paar Sekunden ein brauchbares Bild mit fvwm erscheinen. Auf der dritten CD sind einige Packages drauf, unter anderen KDE 3.2.3 in der Basisinstallation. Die ganzen anderen KDE Komponenten gibt es als Packages (installieren mit pkg_add) auf dem FTP Server, sind aber nicht gerade klein.

Ray hatte sich mal schlau gemacht wegen dem fehlenden killall Befehl. Eine Lösung dafür ist zum Beispiel folgende Zeilen in die /etc/profile einzufügen:

killall()
{
        kill -9 `ps -xc | grep $1 | awk '{print $1}'`
}

zurück zur OpenBSD-Übersicht
Letzte Aktualisierung dieser Seite: 8. November 2004