home Sonstiges Linux OpenBSD Links

How to install NetBSD 5.0.2 on an IBM RS/6000 B50

This document describes how to install NetBSD on an IBM RS/6000 B50 (full name: IBM RS/6000 7046 model B50). The B50 is a double height 19" rack server with a 375 MHz powerpc cpu. There are several firmware images. My B50 has version TCP09267 installed.
Since I don't have a CD-ROM or graphics card installed in my B50, I will load the INSTALL kernel via network. My boot server runs OpenBSD 4.6 with the ISC DHCP server version 3.1.1p0 from the ports. My OpenBSD box has two network cards. I use the card with the IP 192.168.45.1 (fxp0) to serve the B50 via a cross cable. My dhcpd.conf:
option domain-name "marty44.net";
option domain-name-servers 192.168.44.1;
default-lease-time 14400;
max-lease-time 43200;
ddns-update-style none;
option option-150 code 150 = ip-address;

subnet 192.168.45.0 netmask 255.255.255.0 { range 192.168.45.10 192.168.45.20; option routers 192.168.45.1; option option-150 192.168.45.1; host b50no1 { fixed-address 192.168.45.70; hardware ethernet 00:04:ac:ac:ac:33; option host-name "b50no1"; filename "ofwboot"; next-server 192.168.45.1; option root-path "/platte/netbsd"; } }

hardware ethernet 00:04:ac:ac:ac:33; - this is the MAC address of the B50. Replace 00:04:ac:ac:ac:33 with the MAC address you find it in the SMS menu at point 1.
filename "ofwboot"; - this file will be loaded. ofwboot is a bootloader.
next-server 192.168.45.1; - this is the address of the NFS server where ofwboot will load the INSTALL kernel
option root-path "/platte/netbsd"; - this is the path at the NFS server where ofwboot will load the INSTALL kernel
Start the dhcp server:
# /usr/local/sbin/dhcpd -q fxp0 -cf /root/dhcpd.conf
Get the TFTP server running: edit /etc/inetd.conf and uncomment the tftp entry. Restart the inetd.
Create the directory /tftpboot and store the ofwboot file from ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-5.0.2/ofppc/installation/netboot/ in it.

Setup the NFS server: create the directory /platte/netbsd and store the file netbsd-INSTALL.gz from ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-5.0.2/ofppc/installation/netboot/ in it.
Rename netbsd-INSTALL.gz to netbsd.ofppc. Do not unzip it!
Create the directory /platte/netbsd/ofppc/binary/sets and store every file from ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-5.0.2/ofppc/binary/sets/ in it. You need the two kernel images from ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-5.0.2/ofppc/binary/kernel/ too (netbsd-GENERIC.gz and netbsd-INSTALL.gz).
Edit /etc/exports and add this line:

/platte/netbsd -alldirs -ro -network=192.168.45.0 -mask 255.255.255.0
Start/restart the NFS server (for instructions see the OpenBSD FAQ). Now it is time to turn the B50 on. Since I don't have a graphics card installed, I use a null modem cable for console access. 9600 baud, 8 data bits, 1 stop bit, no parity and no flow control.

Wait for the console:

                         Press 0 to select this console
                         as the active console
Press 0 several times
RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000
RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000
RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000
RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000
RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000
RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000
RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000
RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000
RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000
RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000
RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000
RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000
RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000
RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000
RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000
RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000
RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000
RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000 RS/6000

1 = SMS Menu 5 = Default Boot List 8 = Open Firmware Prompt 6 = Stored Boot List

Press 1 several times
       memory      keyboard     network      scsi      speaker

RS/6000 Firmware Version TCP09267 (c) Copyright IBM Corp. 2000 All rights reserved. ------------------------------------------------------------------------------- System Management Services
1 Display Configuration 2 Multiboot 3 Utilities 4 Select Language

Press 1 to see the hardware details. Interesting information are marked in red.
Device Name
PowerPC,604e 375 MHz L2-Cache 1024K Memory Memory DIMM slot = 1 size = 256 MB Memory DIMM slot = 2 size = 256 MB Memory DIMM slot = 3 size = 256 MB Memory DIMM slot = 4 size = 256 MB Tablet Port LPT addr=378 COM addr=3f8 COM addr=2f8 audio Display Panel Integrated Ethernet (P1/E1) addr=0004acacac33 <---- this is the MAC address


.-----------. .------. |N=next-page| |X=Exit| `-----------' `------' SCSI controller id= 7 (P1/Z1) 9100 MB Harddisk id,lun=4,0 <---- 4 is the id of the first hard disk 9186 MB Harddisk id,lun=11,0 PCI Adapters
IBM 100/10 Ethernet Adapter Slot 2 (P1.1-I2/E1)
SysKonnect PCI FDDI Adapter Slot 1 (P1.1-I1/Q1)


Security OK
System Information 440C12A Serial Number TCP09267 Firmware Version <---- this is the firmware version 09/24/09 Firmware Date

Press x and then 2 to enter the Multiboot menu
RS/6000 Firmware
Version TCP09267
(c) Copyright IBM Corp. 2000  All rights reserved.
-------------------------------------------------------------------------------
Multiboot
1 Select Software 2 Software Default 3 Select Install Device 4 Select Boot Devices 5 OK Prompt 6 Multiboot Startup
Press 5 for the OK Prompt
                   .-------------------------------------.
                   | Exit SMS to OK> Prompt? (Y)es/(N)o  |
                   `-------------------------------------'
Press y to confirm.
Now you should be in the prompt of the Openfirmware. We need to do some settings, hopefully the B50 saves this (if not, you battery might be bad).
Please take care! If you copy and paste this, you might loose some characters - please double check! (errors are hard to find and you wonder why the B50 is not booting)
First we set the disk devalias:
0 > devalias
scsi                /pci@80000000/scsi@10
disk                /pci@80000000/scsi@10/sd@4,0
com1                /pci@80000000/isa@b/serial@i3f8
serial              /pci@80000000/isa@b/serial@i3f8
com2                /pci@80000000/isa@b/serial@i2f8
net                 /pci@80000000/ethernet@c
network             /pci@80000000/ethernet@c
rtc                 /pci@80000000/isa@b/rtc@i70
nvram               /pci@80000000/isa@b/nvram@i74
sound               /pci@80000000/isa@b/sound@i534
parallel            /pci@80000000/isa@b/parallel@i378
screen              /pci@80000000/isa@b/serial@i3f8
 ok
0 > nvalias disk    /pci@80000000/scsi@10/sd@4,0:4  ok
Now the disk devalias knows that it should look for the boot loader in the fourth partition of SCSI disk id 4.
We need also to modify the boot list:
0 > printenv boot-device
-------------- Partition: common -------- Signature: 0x70 ---------------
boot-device              /pci@80000000/scsi@10/sd@4,0 /pci@80000000/ethernet@c
 ok
0 > setenv boot-device   /pci@80000000/scsi@10/sd@4,0:4 /pci@80000000/ethernet@c  ok
Time to boot the install kernel:
0 > boot net
LOAD: Waiting 60 seconds for Spanning Tree
BOOTP R = 1 BOOTP S = 1
FILE: ofwboot
Load Addr=0x4000 Max Size=0xbfc000
FINAL Packet Count = 109   Final File Size = 55772 bytes.
>> NetBSD/ofppc OpenFirmware Boot, Revision 1.10 >> (builds@b7.netbsd.org, Sat Feb 6 20:17:30 UTC 2010) Using IP address: 192.168.45.70 root addr=192.168.45.1 path=/platte/netbsd
Please take care about the root addr and path details. It should be the values like in the dhcpd.conf.

Now install NetBSD. Later choose NFS and type in the details from the top to install the sets. After rebooting, NetBSD should start from disk. If not there is a mistake in the boot-device command.

Everybody loves dmesg:

>> NetBSD/ofppc OpenFirmware Boot, Revision 1.10
>> (builds@b7.netbsd.org, Sat Feb  6 20:17:30 UTC 2010)
open /netbsd.ofppc: No such file or directory
4178932+354604 [234224+226695]=0x4c3964
 start=0x100000
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.
NetBSD 5.0.2 (GENERIC) #0: Sat Feb 6 20:29:43 UTC 2010 builds@b7.netbsd.org:/home/builds/ab/netbsd-5-0-2-RELEASE/ofppc/ 201002061851Z-obj/home/builds/ab/netbsd-5-0-2-RELEASE/src/sys/arch/ofppc/ compile/GENERIC Model: IBM,7046-B50 total memory = 1024 MB avail memory = 988 MB bootpath: /pci@80000000/scsi@10/sd@4,0/netbsd mainbus0 (root) rtas0 at mainbus0: version 1, entry @pa 0x6ca6dc cpu0 at mainbus0: 604e (Revision 1.2), ID 0 (primary) cpu0: HID0 c001c086, powersave: 1 cpu0: 375.00 MHz cpu0: L1 I-cache 32 KB 32B/line, D-cache 32 KB 32B/line cpu0: L2 cache 1 MB 32B/line ofwpci0 at mainbus0 Found openpic at fcdc0000 OpenPIC Version 1.1: Supports 4 CPUs and 16 interrupt sources. pci0 at ofwpci0 bus 0: OFW method configuration space access pchb0 at pci0 dev 0 function 0 pchb0: Motorola MPC106 "Grackle" Host Bridge (rev. 0x40) pchb0: L2 cache: 1M, internally controlled write-back mode pcib0 at pci0 dev 11 function 0: Symphony Labs 83C553 PCI-ISA Bridge (rev. 0x10) pciide0 at pci0 dev 11 function 1 pciide0: Symphony Labs 82C105 (rev. 0x05) pciide0: couldn't map native-PCI interrupt pciide0: couldn't map native-PCI interrupt pcn0 at pci0 dev 12 function 0: AMD PCnet-PCI Ethernet pcn0: Am79c971 PCnet-FAST rev 6, Ethernet address 00:04:ac:97:6a:33 pcn0: interrupting at irq 22 nsphy0 at pcn0 phy 1: DP83840 10/100 media interface, rev. 1 nsphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto ukphy0 at pcn0 phy 31: Generic IEEE 802.3u media interface ukphy0: Am79C972 internal 10BASE-T interface (OUI 0x000058, model 0x0001), rev. 1 ukphy0: 10baseT, 10baseT-FDX, auto IBM MPIC (undefined subclass 0x00) at pci0 dev 13 function 0 not configured esiop0 at pci0 dev 16 function 0: Symbios Logic 53c875 (ultra-wide scsi) esiop0: using on-board RAM esiop0: interrupting at irq 23 scsibus0 at esiop0: 16 targets, 8 luns per target pcn1 at pci0 dev 18 function 0: AMD PCnet-PCI Ethernet pcn1: Am79c971 PCnet-FAST rev 6, Ethernet address 00:04:ac:de:e3:f4 pcn1: interrupting at irq 18 nsphy1 at pcn1 phy 1: DP83840 10/100 media interface, rev. 1 nsphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto ukphy1 at pcn1 phy 31: Generic IEEE 802.3u media interface ukphy1: Am79C972 internal 10BASE-T interface (OUI 0x000058, model 0x0001), rev. 1 ukphy1: 10baseT, 10baseT-FDX, auto Schneider & Koch SK-NET FDDI-xP (FDDI network, revision 0x14) at pci0 dev 22 function 0 not configured isa0 at pcib0 com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo com0: console com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo attimer0 at isa0 port 0x40-0x43: AT Timer pcppi0 at isa0 port 0x61 attimer0: attached to pcppi0 biomask 800001c netmask 800001c ttymask 800001c scsibus0: waiting 2 seconds for devices to settle... sd0 at scsibus0 target 4 lun 0: disk fixed sd0: 8678 MB, 11474 cyl, 5 head, 309 sec, 512 bytes/sect x 17774160 sectors sd0: sync (50.00ns offset 16), 16-bit (40.000MB/s) transfers, tagged queueing sd1 at scsibus0 target 11 lun 0: disk fixed sd1: 8761 MB, 13816 cyl, 4 head, 324 sec, 512 bytes/sect x 17942584 sectors sd1: sync (50.00ns offset 16), 16-bit (40.000MB/s) transfers, tagged queueing Kernelized RAIDframe activated boot device: sd0
Other things to know about the B50:
If you have a FDDI network card installed: the B50 will only boot if it is in the lower PCI slot.
The battery for the NVRAM is a CR2032.
Partnumber 29L3302: 256 MB RAM.
Partnumber 24L1082: disk tray (disk drive assembly) for 68 pin SCSI drives.
Partnumber 24L2667 or 04N4243: SCSI Cable Assembly.
Partnumber 21H5384 or 23L4173: IBM 2968 Ethernet PCI Adapter (10/100)
Partnumber 11K0313: should be the IBM GXT130P Graphics Card. I don't have one so I can't verify the partnumber.
Service guide, IBM Form SA38-0564
Firmware updates for the IBM B50

Problems with my English? Please drop me an email with improvements.


zurück zu Sonstiges
Letzte Aktualisierung dieser Seite: 3. April 2010