Last updated 21 Aug 2001
(When I received my 850 I had absolutely no idea what was in it, so I figured I'd throw this in for folks in a similar situation.)
The IBM PowerSeries 850 is an old IBM PowerPC-based server, part of the RS/6000 family. As with all old IBM PPC servers, it is based on the PReP architecture (the newer IBM machines are CHRP). It was available from 6/19/1995 - 3/20/1996, and is also referred to as the 6070 or 6050 in IBM 4-digit model numbers. The motherboard for the 850, 830, and 7248-43P (essentially an 850 plus onboard SCSI) is known as Carolina. Some basic stats:
100 MHz, 120 MHz, 133 MHz PowerPC 604 64 MB RAM (72-pin parity) 256K, 512K L2 cache 540 MB, 728 MB, 1.0 GB IDE hard disk 4x IDE CD-ROM S3 Vision864 (2 MB VRAM) onboard video AMD PCNet/32 PCI onboard 10baseT ethernet Crystal Audio CS4232 onboard sound 2 PCI slots 4 ISA slotsThe PowerSeries 850 ships with AIX version 4 or Windows NT 4.0. Yes, if you have an original NT 4.0 CD you can install a fully-functioning NT. However, the lack of any apps and service packs make this unattractive at best. If you're curious about NT on PowerPC hardware (which can sometimes provide info on IBM firmware and hardware), the best source of information still around is an ex-IBM support manager's personal web page.
The PowerSeries 830 is almost exactly the same as the 850, except that it is shorter in height, contains a 100 MHz 604, and has 3 ISA slots.
The 7248-43P is not dealt with specifically here, since it is mostly problem-free. The big problems that affect the 850/830 are because of their lack of onboard SCSI, which the 7248 has. The 7248 also has different firmware (which can be found in the same place as 850/830 firmware).
Chances are your firmware is out of date. The first thing you should do is download the newest firmware for your machine. (IBM's license agreement allows me to distribute this file as long as the agreement goes with it.) I downloaded this firmware (version 1.10) from ftp://ftp.pc.ibm.com/pub/pccbbs/powerpc/, should you want to poke around. I have also posted a list of files with short descriptions of each here (pulled long ago from a buried IBM web page). At any rate, use 'unzip' to extract the files from the .exe, and there's a README in there.
The Carolina's do not have Open Firmware, which Power Macs and CHRP machines do. Instead they have conventional firmware, which resembles PC BIOS in interface but is a bit more powerful. For example, it supports netbooting (only viable with bootpd, not dhcpd), a series of diagnostic tests, etc.
Linux Distributions
I recommend installing Debian Linux because their installer fits on a floppy. The initial boot/installation process decribed here will be the same for any distribution whose installer fits on a floppy.
SuSE Linux supports this hardware the best - the install CD is bootable on Carolina machines. It doesn't get much easier than that. Unfortunately I personally dislike their system configuration tool, but I think all distributions are worth trying out.
Both LinuxPPC's and YDL 2.0's installers are too large and do not support non-PowerMac hardware. You should not try installing these unless you're looking for frustration. Mandrake is a recent PPC addition, but its installer does not support DOS partition maps at all (which is a necessity here).
Partitioning
Background
When it boots, the firmware on all PReP machines looks for partition of type "PReP Boot" (type 0x41) on your hard drives. Once it finds it, it boots from it, so the idea is to 'dd' a Linux kernel (zImage) there. The partition is usually created as 5 MB to allow room for growth. Due to firmware limitations, do not make the boot partition larger than 8 MB.
The PowerSeries 850 and 830 have the dubious honor of being some of the very few PReP machines made without SCSI. The IDE handling on these machines is a little screwy, too. Apparently the firmware thinks all attached hard drives have 64 heads and 32 sectors.
Linux, which does not use the firmware for IDE, knows better than this. My hard drive, for example, has 2100 cylinders, 16 heads, and 63 sectors. So fdisk creates the partition map according to the real CHS numbers.
The problem comes when booting. The firmware looks at all attached drives as CHS=*,64,32, but if you used fdisk under Linux to create the partition map, the partition map was made to align to the real disk boundaries. The result is that the firmware is unable to read the partition map, thus is unable to find a PReP Boot partition, thus is unable to boot from the hard disk. It boots fine off the floppy or network of course.
(With kernels older than 2.2.13, there was the additional problem that the Linux IDE layer was in the wrong byte order on these machines. This has since been fixed, and you shouldn't be using anything older than 2.2.13 anyways.)
Making it work
You will need to convert your hard drive's CHS to */64/32 in order to use Linux fdisk. To do this, calculate the total number of blocks on your drive: total = cylinders * heads * sectors (round blocks down to be safe). To find your converted cylinders: cylinders = total / 64 heads / 32 sectors. You then pass the fake disk geometry to Linux at the kernel prompt. So my drive (CHS=2100/16/63) has 2150400 blocks. The argument I pass to Linux is hda=1030,64,32. With those arguments, I am able to partition and boot normally.
One other answer is ARC. I mentioned earlier that it is possible to install Windows NT on these machines. The tool used to do this is called ARC (Advanced RISC Computing). The ARC floppy can be used to install Windows NT 4.0, and as part of that it is able to create a partition map that PReP firmware understands.
Install
To install you need a kernel image dd'ed to one floppy disk, and a ramdisk on another. You get the ramdisk from your distribution. However, the special 850 zImage is vital, since important patches which are essential for booting are not yet part of the standard kernel source trees.
- Insert the kernel floppy into your machine at boot time, and you will eventually be presented with a "Linux/PPC boot:" command line. Supply the kernel arguments "root=/dev/fd0 load_ramdisk=1" (and any other arguments your distribution tells you to use).
- The kernel will then boot, and when it's done prompt you to insert the ramdisk floppy. Do so and you will be presented with the installer. Proceed with the install.
- The 850 and 830 still require a specially-hacked kernel to boot. This means that the installer will almost definitely NOT set up your machine properly to boot itself. So after the install, boot your installed system from the kernel floppy (this time specifying the appropriate root= kernel argument for your newly installed hard disk). Once you've booted, use dd to copy from your kernel floppy to the boot partition.
Kernel notes
Old notes:
As of the time of this writing (Mar 25 2001), the kernel.org sources work the best on these machines. Right now you can grab 2.2.14, then Alan Cox's 2.2.15pre and 2.2.16pre patches from the linux/people/alan directory on ftp.kernel.org. These work wonderfully with the single patch to prep_setup.c
You'll definately want to get the patches from David Monro's page.
Newer notes:
The current "stable" Linux source tree is 2.4.9 (21 Aug 2001). It doesn't compile on PPC; however the PPC trees tend to. :) Anyways, the driver for the Intel 8259 interrupt controller is currently very shaky, which means you will very frequently lose IDE interrupts, a very painful way of reminding your box to go really slow. Everything else seems to be working however (though I haven't tested sound in a long time).
In other words I'd stick with 2.2 (even though it's old) at this point, until the i8259 issues get sorted out.