IBM 6015:
THE HARDWARE:
The IBM 6015, which is virtually identical
to the IBM 7020, is a PReP PowerPC
machine
in the IBM RS/6000 line of servers
and workstations.
There is quite a bit of information
on the
6015 on the web, most of which does
not need
to be duplicated on this page.
6015, front view
The 6015 uses standard ISA and PCI expansion
cards and standard SCSI devices, so avoids
the compatibility problems that plague MCA
machines. There are two PCI slots, neither
of which are full size (the drive buys get
in the way). Therefore you can't use full
size PCI cards such as RAID controllers.
There are three ISA slots, and these ARE
full size, with a retainer bracket mounted
in the case. Normally one of the PCI slots
holds the video adapter, and one of the ISA
slots holds a NIC.
Rear view without cover showing PCI video
card (left) and ISA NIC (right) in top slots.
There is one additional PCI slot under the
video card, and two additional ISA slots
under the NIC.
Side view showing NIC (left upper foreground),
8 DIMM slots (left lower foreground), and
CPU (right lower foreground with heatsink.
Next to the CPU is an expansion slot for
a 604 upgrade).
If the video adapter has been removed, the
machine will not boot. If you do not have
a video adapter, and cannot locate a used
IBM adapter, you can substitute an S3 Diamond
Stealth 64 DRAM PCI card (Vision 864 or Vision
868). This card is very close to the S3 Stealth
card IBM uses as its E15 video card - you
will be able to boot with this card in the
machine. If you do not get any video signal
at all, try removing the BIOS chip from the
S3 video card. Then you should at least see
the firmware splash screen while the machine
is booting, and quite possibly be able to
use the console. Use the serial port to communicate
with your machine if you cannot get the video
framebuffer working. An excellent utility
to use to reach the serial console on a 6015
(or any other serial console) is microcom. The binary available from microcom's web
page is for i386, but the source code compiles
and runs on IBM PowerPC machines as well.
If the IBM network card is missing and you
want to boot from the network, you can try
to substitute an ISA NIC. A WD8013EW NIC
was tested in Juneau, and the NIC was initialized
and active at boot so you may be able to
use one to boot using tftp. However there
seems to be a problem with the Linux kernel
drivers (for 2.4.18 anyway) and most NICs.
During November 2002, a kernel with a variety
of modules was compiled on a 6015, and then
various NICs were tested. Here are the results:
- None of the 3Com modules would build correctly
they all had unresolved symbol errors that
came up during the `make modules_install`
step. Therefore no 3Com NICs were tested
at all.
- The Western Digital/SMC ISA driver did compile,
however the wd module refused to load with
the cards present, even with the jumperable
WD8013EW NICs (four were tested, both original
WD cards and SMC cards). Interestingly, the
original equipment IBM NIC uses this same
module, and the module works fine with the
IBM NIC installed.
- The ne module would sucessfully detect various
NE2000 ISA NICs and load, however the NICs
would not transmit (generating transmit timeout
errors in the system log).
- No PCI NICs were detected on boot at all,
and we were unable to load any of their modules.
- Intel EtherExpress 16 NICs (using the eexpress
module) would load fine, however the NIC
would only transmit - not receive.
- Intel EtherExpress 10 and EtherExpress 10+
ISA NICs (using the eepro module)
performed very well, including using autoprobe
to load multiple NICs.
Aside from an original equipment IBM
NIC,
the only other NIC that was successfully
tested was the Intel EtherExpress 10
/ 10+
ISA NIC. These are not jumperable,
so you
may need to use Intel's DOS based configuration
utility to set the I/O address and
IRQ for
your NIC. (And of course an i386 machine
to boot into DOS.)
The precompiled kernels available below support
two ISA NICs, which can be either original
IBM NICs using the wd driver, or Intel EtherExpress
10/10+ NICs (or one of each). The kernel
expects eth0 to be at IRQ 5, I/O 0x210 and
eth1 to be at IRQ 11, I/O 0x300. The hard
drive kernel has iptables compiled in, allowing
you to use your 6015 as a firewall.
If you acquire a 6015 that has been
stripped,
the biggest problem will be finding
RAM.
The 6015 requires 70ns, Parity (or
ECC),
Buffered 5 volt DIMMs. These DIMMs
are not
easy to find, especially as used parts
retailers
do not always clearly identify them
and may
group them with the more common 3.3
volt
models. The older PowerMac line also
used buffered 5 volt DIMMs, however these
were usually
not Parity or ECC. The 6015 will not
recognize
PowerMac non-Parity DIMMs. The following
DIMMs have been
tested in Juneau and known to work with
a 6015:
Samsung KMM372C120CT1-6 (8MB, ECC)
Samsung KMM372C400BS-6 (32MB, ECC)
IBM 92G7213, p/n 05H0904, FRU 92G7429 (32MB, Parity)
IBM 92G7339, p/n 05H0935, FRU 42H2784 (32MB, Parity)*
* Although not tested, Kingston offers
the
KTM7339/32 module which is equivalent
and
should work.
Mixing Parity and ECC DIMMs in the same machine does not cause
any problems.
INSTALLING LINUX:
An IBM 6015 cannot boot a stock PowerPC kernel, even a
specially prepared PReP kernel. Therefore the standard boot
floppies or bootable CDs cannot be used to install Linux. However
Sven Dickert maintains a patch for this
machine on his excellent
page, currently (June 2003) for the 2.4.20 kernel.
You can use his minimal file system image
to boot and install Linux. From there you
can download the patch itself to build your
own kernel with the features you need such
as iptables support.
Using Sven's patch and root filesystem, and
the invaluable insights of Danilo Selvestrel,
a bootable Debian installation CD has been
built. You can download it from this site,
but please be aware that it is a 47MB iso,
and this server is limited to a 32kb/s upload
speed. If anyone would like to mirror the
iso, please contact us. This CD is version
0.4.5, dated 21 May 2003. Version 0.4.5 installs
a Debian 2.2 base system, from which you
can upgrade to Woody via dselect and apt.
Version 0.4.6 installs a Debian 3.0 base
system, but the iso is much larger at 102MB,
so is not available for download. (If you
are interested, please ask via e-mail and
a CD can be posted to you.) Also, testing
opportunities are limited here in Juneau
with only two 6015 machines to play with
(one of which is the development machine,
which leaves only one available for testing).
If you find that any of these images do not
work for your 6015/7020, please contact us.
An installation log is at the bottom of this
page.
You can build your own bootable CD-Rom image
for these machines to install Debian 3.0
(Woody). A pre-compiled 2.4.18 kernel (download
here) is useful to bootstrap a Debian install
for the 6015. It has Sven's root filesystem
that will load a small ramdisk with a variety
of tools. Unfortunately it is 2MB in size,
so you'll need to burn it to CD to use it.
(Sandalfoot machines will not boot a 2.88MB
floppy.) Build your CD file system as normal,
and include this image. Use mkisofs to create
the .iso, using the "-prep-boot [path
to this image]" to make the CD bootable
on your 6015/7020.
You can also download this kernel, and place it on your bootable CD. This
is a preconfigured kernel for the hard disk,
which will expect the root file system to
be on /dev/sda3 and will set up a serial
console and activate up to two NICs as described
above. If you want to change any of these
values (such as the IO & IRQ values for
the NICs), you can use a hex editor to edit
the kernel image directly.
Place any other tools or utilties you wish
on the CD. The latest Debian root image is
useful for installing Linux. Debian's root
image is a gzipped tarball. You can unzip
this tarball and place it on your CD. Be
prepared to escape to a shell quite often
while attempting to install Debian, as the
boot floppy installer does not always work
smoothly. Also be sure that support for devfs
is NOT enabled, or the Debian boot floppy
installer will not see your drives.
To install Debian, boot from your CD,
then
partition /dev/sda. Place a type 41
PReP
boot partition at /dev/sda1 & dd
the
hard disk kernel to it. Use /dev/sda2
for
swap, and /dev/sda3 for the root partition.
Move the unzipped Debian root image
to /dev/sda3.
Remove the CD, and reboot, and the
Debian
installer will greet you (either on
the console
or the serial port, depending on which
video
card you have). You will need an official
Debian PowerPC CD to complete the install,
or if you have a working NIC you can
use
http or ftp.
Downloads:
CD 0.4.5 (md5: ea77d4577a8f02f6758b340701b6c704)
installation CD
zImage.initrd.sandalfoot (md5: d32851b9d44605f78c86b7c341ddaa4d)
ramdisk kernel for bootable CD
zImage.prep (md5: 879b52c7d434eb5bb0e297e4ec272f89)
harddrive kernel (root=/dev/sda3)
If you have questions please e-mail us!
CD image 0.4.5 installation log, captured
via serial port. You will not see some output
on a serial port, such as the kernel's boot
messages. (A dmesg output is included below.)
#loaded at: 00480410 00495228
Please press Enter to activate this console.
BusyBox v0.60.0 (2001.08.19-09:26+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
#
# cd /root
#
# ls
install.sh partition.data
#
# ./install.sh
#
Checking that no-one is using this disk right now ...
OK
Disk /dev/sda: 1017 cylinders, 133 heads, 62 sectors/track
Old situation:
Units = megabytes of 1048576 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End MB #blocks Id System
/dev/sda1 * 0+ 8- 9- 8245+ 41 PPC PReP Boot
/dev/sda2 8+ 136- 129- 131936 82 Linux swap
/dev/sda3 136+ 4094- 3958- 4052909 83 Linux
/dev/sda4 0 - 0 0 0 Empty
New situation:
Units = megabytes of 1048576 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End MB #blocks Id System
/dev/sda1 * 0+ 8- 9- 8245+ 41 PPC PReP Boot
/dev/sda2 8+ 136- 129- 131936 82 Linux swap
/dev/sda3 136+ 4094- 3958- 4052909 83 Linux
/dev/sda4 0 - 0 0 0 Empty
Successfully wrote the new partition table
Re-reading the partition table ...
If you created or changed a DOS partition,
/dev/foo7, say, then use dd(1)
to zero the first 512 bytes: dd if=/dev/zero
of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
2302+1 records in
2302+1 records out
Setting up swapspace version 1, size
= 135098368
bytes
mke2fs 1.19, 13-Jul-2000 for EXT2 FS
0.5b,
95/08/09
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
506912 inodes, 1013227 blocks
50661 blocks (5.00%) reserved for the
super
user
First data block=0
31 block groups
32768 blocks per group, 32768 fragments
per
group
16352 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912,
819200,
884736
Writing inode tables: done
Writing superblocks and filesystem
accounting
information: done
./
./etc/
./etc/adduser.conf
./etc/ae/
./etc/ae/fn.rc
./etc/ae.rc
./etc/apt/
./etc/apt/apt.conf
(SNIP)
./sbin/lspci
./sbin/setpci
./sbin/ldconfig
./sbin/unconfigured.sh
./sbin/termwrap
./tmp/
./floppy/
./cdrom/
./initrd/
#
#
Your hard drive is now partitioned as follows:
/dev/sda1 6MB type 41 (IBM PReP boot partition)
/dev/sda2 128MB Linux Swap partition
/dev/sda3 the rest of the disk, Linux ext2
Remove the CD and reboot to Debian to complete
the installation process with dselect. Your
network cards will not be initialized - you can
use pump for DHCP, or configure them manually
with ifconfig. Root has no password, and there
are no users configured.
Enjoy!
#
# df -h
Filesystem Size Used Available Use% Mounted on
/dev/rd/0 3.9M 2.1M 1.5M 58% /
/dev/sda3 3.8G 100.0M 3.5G 3% /mnt
#
# reboot
Terminated
#
# loaded at: 00480410 00495228
Debian GNU/Linux 2.2 6015 ttyS0
6015 login: root
Linux 6015 2.4.18 #15 Tue May 20 15:11:37 AKDT 2003 ppc unknown
Most of the programs included with the Debian GNU/Linux system are
freely redistributable; the exact distribution terms for each program
are described in the individual files in /usr/doc/*/copyright
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
6015:~#
6015:~# dmesg
Memory BAT mapping: BAT2=8Mb, BAT3=8Mb, residual: 128Mb
Total memory = 144MB; using 1024kB for hash table (at c0300000)
Linux version 2.4.18 (root@Juneau-lug) (gcc
version 2.95.4 20011002 (Debian prerelease))
#15 Tue May 20 15:11:37 AKDT 2003 PReP architecture
On node 0 totalpages: 36864
zone(0): 36864 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: console=/dev/ttyS0,9600 console=tty0 ether=5,0x210,eth0 ether=11,0x300,eth1 ramdisk_size=8192 root=/dev/sda3
Console: colour VGA+ 80x25
Calibrating delay loop... 65.53 BogoMIPS
Memory: 141096k available (1724k kernel code, 876k data, 252k init, 0k highmem)
Dentry-cache hash table entries: 32768 (order: 6, 262144 bytes)
Inode-cache hash table entries: 16384 (order: 5, 131072 bytes)
Mount-cache hash table entries: 4096 (order: 3, 32768 bytes)
Buffer-cache hash table entries: 8192 (order: 3, 32768 bytes)
Page-cache hash table entries: 65536 (order: 6, 262144 bytes)
POSIX conformance testing by UNIFIX
PCI: Probing PCI hardware
NCR 53c810 rev 1 detected, setting PCI class.
Fixup res 1 (200) of dev 00:0c.0: 100 -> c0000100
Fixup res 6 (7200) of dev 00:0e.0: c0000 -> c00c0000
IBM ID: 000000fc
Setting PCI interrupts for a "IBM 6015/7020 (Sandalfoot/Sandalbow)"
Relocating PCI address 20000000 -> 1000000
PCI: Cannot allocate resource region 0 of PCI bridge 0
PCI: resource is 0..fffffff (100), parent c021605c
PCI:00:0c.0: Resource 0: 01000000-010000ff (f=101)
PCI:00:0c.0: Resource 1: c0000100-c00001ff (f=200)
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
devfs: v1.10 (20020120) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x0
Detected PS/2 Mouse Port.
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
request_module[parport_lowlevel]: Root fs not mounted
lp: driver loaded but no devices found
rtc: I/O port 112 is not free.
block: 128 slots per queue, batch=32
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ide-floppy driver 0.97.sv
id: 0xb4 <7> io: 0x210 <6>eth0: Intel EtherExpress Pro/10+ ISA
at 0x210,<6> a0<6>:00<6>:5a<6>:c9<6>:da<6>:a7<6>, IRQ 5, 10BaseT.
id: 0xb4 <7> io: 0x300 <6>eth1: Intel EtherExpress Pro/10 ISA at 0x300,<6> aa<6>:00<6>:b8<6>:00<6>:62<6>:b8<6>, IRQ 11, 10BaseT.
loop: loaded (max 8 devices)
ide-floppy driver 0.97.sv
SCSI subsystem driver Revision: 1.00
PCI: Enabling device 00:0c.0 (0005 -> 0007)
sym.0.12.0: setting PCI_COMMAND_PARITY...
sym0: <810> rev 0x1 on pci bus 0 device 12 function 0 irq 13
sym0: No NVRAM, ID 7, Fast-10, SE, parity checking
sym0: SCSI BUS has been reset.
scsi0 : sym-2.1.17a
Vendor: SEAGATE Model: ST15150N Rev: 8602
Type: Direct-Access ANSI SCSI revision: 02
Vendor: TEAC Model: CD-ROM CD-532S Rev: 1.0A
Type: CD-ROM ANSI SCSI revision: 02
Vendor: IBM Model: CDRM00201 !F Rev: 0724
Type: CD-ROM ANSI SCSI revision: 02
sym0:0:0: tagged command queuing enabled, command queue depth 16.
scsi1 : SCSI host adapter emulation for IDE ATAPI devices
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
sym0:0: FAST-10 SCSI 10.0 MB/s ST (100.0 ns, offset 8)
SCSI device sda: 8388315 512-byte hdwr sectors (4295 MB)
Partition check:
/dev/scsi/host0/bus0/target0/lun0: p1 p2 p3
Attached scsi CD-ROM sr0 at scsi0, channel 0, id 3, lun 0
Attached scsi CD-ROM sr1 at scsi0, channel 0, id 6, lun 0
sym0:3: FAST-10 SCSI 10.0 MB/s ST (100.0 ns, offset 8)
sr0: scsi3-mmc drive: 0x/279x caddy
Uniform CD-ROM driver Revision: 3.12
sym0:6: FAST-5 SCSI 4.2 MB/s ST (236.0 ns, offset 8)
sr1: scsi-1 drive
Macintosh non-volatile memory driver v1.0
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb.c: registered new driver hid
hid-core.c: v1.8 Andreas Gal, Vojtech Pavlik <vojtech@suse.cz>
hid-core.c: USB HID support drivers
mice: PS/2 mouse device common for all mice
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 1024 buckets, 8Kbytes
TCP: Hash tables configured (established 16384 bind 16384)
ip_conntrack (1152 buckets, 9216 max)
ip_tables: (C) 2000-2002 Netfilter core team
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 252k init 48k pmac 8k chrp 12k openfirmware
Adding Swap: 131928k swap-space (priority -1)
6015:~#
6015:~# exit
logout
Debian GNU/Linux 2.2 6015 ttyS0
6015 login:
|
|