7 ms·
PowerPC Solaris on the RS/6000
- azalemeth 6y agoPosts like this, projects like these, and people like Neozeed are part of why I think the GNU project fundamentally is brilliant. Getting GCC running on barely-produced prototype hardware system, on an ancient version of Solaris which itself was a particular pain to install, whilst entertaining and informing the reader about the history of the PowerPC migration circa 1994, is no mean feat. What were the desirable/sexy features of OpenFirmware anyway? I remember typing occasional commands into it on old Macs (especially a Beige G3 running Mac OS 9 and, later, with varying degrees of grumpiness, OS X), mostly with the fear of god of bricking my system. There was also that separate "crash" shell you could bring up once the machine had booted with a magic key combination involving the power button, and pressing something like 'R' would reboot it. I wish Apple was a bit more open about these programming interfaces – a bit like Solaris.
- rrmm 6y agoConceptually I think the nice thing about OpenFirmware was that it was basically a Forth shell and had a bit more utility in bringing up systems and testing bare metal systems. But my interaction with it was mostly like yours.
- LargoLasskhyfv 6y agoThe most desirable feature would have been the possibility to have one very compact and flexible firmware for any expansion card for any host system on any bus system. As it were, the market decided to have it the other way around. I.e. an absolutely common graphics card with an ATI chip for some workstation, or Power Macintosh was a 'speciality'. IIRC Acer or some other vendor beginning with A produced ONE VGA-card for PCs about 20+ years ago. Of course it was a flop, because no real benefit, when plugged into a x86 with BIOS, with no knowledge of that. At least it worked via some shim. Now we have EFI/UEFI/SSBA with all the PC-inspired crap, or U-Boot and similarly insular stuff instead. (shrug) edit: https://en.wikipedia.org/wiki/Open_Firmware https://en.wikipedia.org/wiki/Open_Firmware
- skissane 6y ago> Now we have EFI/UEFI/SSBA with all the PC-inspired crap I know what EFI and UEFI are, but I've never heard of SSBA before, and I can't find anything about it on Google. What is SSBA?
- LargoLasskhyfv 6y agoSorry, typo. SBSA It's basically UEFI for 64bit ARM: https://en.wikipedia.org/wiki/Server_Base_System_Architecture https://en.wikipedia.org/wiki/Server_Base_System_Architectur...
- saagarjha 6y agoIt’s a huge strength of the ecosystem, and something that many new projects seem to ignore (which I can’t really blame, but still, it’s sad). There are so many platforms almost forgotten to history that happen to have a GCC toolchain for them; perhaps a few dozen UNIX tools, but that itself opens up a whole world.
- kev009 6y agoThe beauty of OpenFirmware is that it is extended with Forth, which is extremely compact (so could fit on small PROMs in the computer and fcode for addon cards). If you are designing a PCI card, you can write a bit of fcode that will run on SPARC and PowerPC for instance to expose opaque RAID volumes as bootable disks. Keep in mind the PC BIOS was and is a complete tire fire, and uses something like this https://en.wikipedia.org/wiki/Option_ROM https://en.wikipedia.org/wiki/Option_ROM to approximate support for the above. UEFI is a bit of improvement but massive and obtuse in comparison to OpenFirmware.
- Someone 6y ago“you can write a bit of fcode that will run on SPARC and PowerPC” and x86, and ARM, and CPUs not even invented yet. Performance wouldn’t be optimal compared to native drivers, but decent enough to boot a workable system.
- throw0101a 6y ago> What were the desirable/sexy features of OpenFirmware anyway? When I was admining Solaris boxes, it had useful boot-from-net options, both RARP and later DHCP-based JumpStart: this was many years before PXE. When I started using Mac OS X, during the pre-Intel days, all the various Mac hardware used OpenFirmware as well so that knowledge transferred over. OF was also used on IBM's POWER systems, and the OLPC "XO" computer used it with x86 chips. If ARM ever wanted a common 'BIOS' system for their ecosystem, the OF could be a good choice (there are BSD-licensed options): * https://www.openfirmware.info/Open_Firmware https://www.openfirmware.info/Open_Firmware UEFI is the other main pre-OS system out there. More generally OpenFirmware allowed for platform-independent device drivers: * https://www.netbsd.org/support/hardware/ofw.html https://www.netbsd.org/support/hardware/ofw.html
- linksnapzz 6y agoThere was a trick I saw once, where you could use the editing commands in openboot, plus the fact that it could read UFS volumes, to find the offset of the root entry in the on-disk shadow file and zero or change it if you'd lost the password. When I was in school, the astronomy dept. used a remote telescope in Wyoming. I guess there was dial-up to send commands to open the dome if the weather looked nice, to send coordinates to aim the scope, and to set exposure times for the CCD. The connectivity wasn't enough to download lots of data, so there was a data collection box; a 16mhz Sun IPC workstation in the "lunchbox" form factor, roughly 10"x10"x5". Someone had written a program in OpenFirmware Forth to read data off of whatever storage was on the scope via the IPC's serial port, and write it to the internal SCSI drive. After every observing run, a collaborator would put the IPC in a backpack and jog it up the mountain, so it could be plugged into a scope & terminal, and run the collector code to pull the data. A friend's first real job was maintaining that forth code; he still has nightmares about it. Having system firmware that is that flexible is pretty nice, but really hard to write marketing copy for.
- scruffyherder 6y agoI wish it were my hammering of GCC/GNU stuff in this post, all the credit is to 'PA-RISC' (https://www.youtube.com/channel/UCYyCai0PQQ0O6yA_yQzBY-g https://www.youtube.com/channel/UCYyCai0PQQ0O6yA_yQzBY-g). I'd just started one of those discord things, and suddenly I'm being hit up with guest submissions, and pretty freaking AWESOME ones at that. It makes my current GCC thing look laughable at best, but yeah the future is awesome!
- rwmj 6y agoOn most current Linux systems you can get an OpenFirmware shell (or SLOF, a free reimplementation) by doing: $ qemu-system-ppc64 -m 1024 -serial stdio [.. lots of boot messages ..] E3407: Load failed Type 'boot' and press return to continue booting the system. Type 'reset-all' and press return to reboot the system. Ready! 0 >
- jdofaz 6y agoThis article brought back a memory of a fellow high school student who had somehow obtained a windows NT PowerPC CD that we tried and failed to boot from in a PowerMac 6100.
- opless 6y agohahahaha. I did this on an IBM prep machine, a really straightforward install of NT 3.51. It even managed to run some x86 windows stuff - incredibly slowly (this was ~2005) And it ran the windows 2000 shell preview as well! - though I may have installed NT 4 by then. It ended up running Debian and being a mono test bench until it was retired to being an MP3 player for the home office. Alas it was accidentally recycled along with a host of other stuff I was avoiding to deal with. Still it was fun to play with at the time!
- opless 6y agoit was probably a model 850
- zyztem 6y agoYears later there was another port of OpenSolaris to IBM Power computers called "Polaris": https://www.theregister.co.uk/2006/01/10/solaris_on_power/ https://www.theregister.co.uk/2006/01/10/solaris_on_power/ And even port to IBM z/VM ("Sirius"): https://www.theregister.co.uk/2008/10/17/solaris_on_mainframe/ https://www.theregister.co.uk/2008/10/17/solaris_on_mainfram...
- skissane 6y ago> And even port to IBM z/VM ("Sirius"): Unfortunately that died, because Oracle stopped being willing to cooperate with the port [1]. Of course, I understand why they might not see it as being in their commercial interests to support porting their OS to a competitor's hardware; but, I think their turn away from openness with Solaris accelerated its decline rather than delaying it. [1] https://www.theregister.co.uk/2010/03/29/oracle_solaris_z_ibm_mainframe/ https://www.theregister.co.uk/2010/03/29/oracle_solaris_z_ib... (Disclaimer: ex-Oracle employee, but I was never working on Solaris directly, just on higher-level middleware stuff which sometimes ran on Solaris, and I really don't know anything about this topic beyond what has been reported in the media.)
- johnklos 6y agoIt'd be worthwhile to give pkgsrc a try.
- neilv 6y agoIf you get access to an IBM RS/6000, another thing to play around with on it is the original AIX operating system. Imagine a Unix that got an IBM working-over. When the RS/6000 workstations first came out, AIX was a big contrast to the more seat-of-pants workstation Unix of SunOS 4 (this was before Solaris 2). Some of the AIX changes weren't only enterprise-y server management OS abstractions, but fun: AIX included a nice GUI hypertext browser for its documentation, in 1990 (possibly earlier).
- kev009 6y agoI am always surprised by the negativity that surrounds AIX by layperson UNIX users. AIX actually remains ultramodern when the full timeline is taken into account of remaining UNIX-like OSes like Linux, Solaris, and the BSDs. There's a reason it is one of the few remaining commercial UNIX, and that's because it is good and runs on the best hardware for vertical scaling. Scaling on large SMPs is not an easy task for OS/kernel devs, and something even Linux struggles with to this day on any non-trivial NUMA system. Meanwhile IBM has been offering extremely large NUMA SMP, gobs of I/O bandwidth, and tightly integrated virtualization since the turn of the millennium. AIX uses a database called the ODM for kernel and userspace configuration. This can be thought of something like 'nvlist' in FreeBSD and Solaris (https://github.com/fudosecurity/nvlist https://github.com/fudosecurity/nvlist) but it has a more extensive object type system that is used almost everywhere in the system. This is in turn used to pass complex typed data between the kernel, userspace commands (like say logical volume management), and even an advanced daemon manager not unlike SMF or upstart or even systemd. None of the above probably sounds particularly ground breaking in 2020 with systemd-ified Linux, but keep in mind most of this was in place 30 years earlier in the early 1990s with AIX 3.0. This was a time when, for instance, hardware support in other UNIX and clones still might mean custom compiling a kernel or at least invoking a linker to produce a new binary kernel. Novice AIX users see smit and think "yuck I have to use a TUI to configure the system" but it is easy to do everything from the shell or automation. smit is just a rather gentle tool inspired by other IBM projects such as OS/400 and ISPF for menu driven user interfaces. Keep in mind systems like SCO also sported TUIs like this as it was a fad at the time to make UNIX seem more familiar to PC and minicomputer users. One thing that is super bizarre, the kernel is also fully pagable. I suppose that made sense in the early '90s for diskless workstations where RAM might also be limited but it seems like unnecessary extravagance and complexity these days.
- hestefisk 6y agoI would love love love one of these machines to run Windows NT and some flavour or ancient Unix. I’m in Australia and desperately looking for an old PowerPC. Does anyone know where to dig these machines up? Yes I tried eBay but it is prohibitively expensive to post from overseas to Sydney.
- kev009 6y agoeBay sellers are often silly (I miss when it was an actual auction site instead of a shitty amalgamation of Amazon's 3rd party sellers and craigslist) although a lot of these vintage UNIX machines are now worth at least $100USD or more. Your best bet would be to find a private computer collector in AU or a mailing list like cctalk and express your interest.
- bigger_cheese 6y agoEx-government auctions have stuff occasionally. When I used to live in Canberra every two month or so one would be advertised could get lots of old hardware for dirt cheap. Mostly old Sun Sparc stuff but sometimes HP or IBM power based hardware too. I imagine Sydney would have similar auctions.
- hestefisk 6y agoCan I ask on what web site you have found there auctions?
- bcantrill 6y agoSo, this post (which I loved) brings back a lot of memories for me (having joined Solaris Kernel Development in 1996, when ppc was still a thing -- if barely). If I may, a quick anecdote: back in MPK17 (now Facebook!) my office was next to that of Mike Sullivan, who was one of the lead engineers on on297, our internal name for Solaris 2.6. As part of his nature of running latest bits on everything around him, Mike had in his office (among many other things) a laptop. Over my years of working in Menlo Park, I can remember exactly one theft: one night, that laptop of Mike's -- and the laptop alone -- was stolen. The funny thing (and the reason this story made me think of it): it was a ThinkPad 850, an IBM PReP laptop running an internal build of on297 (to my knowledge the only one that ever existed) -- and I have often wished I could be there when the thief tried to unload what was surely the world's most arcane laptop, if not its most useless...
- tal8d 6y agoppc is still a thing, my project computer is a power9. The only reason it isn't my daily driver is because I can't help but tinker with it. Being able to rewrite the supervisor chip code in order to get that fan curve just so, and having the support of unabridged and NDA free documentation - instead of grinding through reverse engineering... feels good. I highly recommend it, just stick to known working GPUs, the mmu actually does its job.
- aryonoco 6y agoPPC is/was different from POWER. Technically related but they diverged enough that it was a different ISA for all intents and purposes
- hlandau 6y agoTo be clear, you're talking about the original POWER ISA. The PowerPC ISA has subsequently been renamed the Power ISA (not to be confused with the POWER ISA). Confusingly, IBM's POWER CPUs (POWER3, POWER4, POWER5, POWER6, POWER7, POWER8, POWER9) since POWER3 implement the Power ISA (then known as the PowerPC ISA), not the POWER ISA. POWER2 was the last CPU to implement the POWER ISA. https://en.wikipedia.org/wiki/IBM_POWER_instruction_set_architecture https://en.wikipedia.org/wiki/IBM_POWER_instruction_set_arch... https://en.wikipedia.org/wiki/Power_ISA https://en.wikipedia.org/wiki/Power_ISA
- korethr 6y agoAnd here I was, thinking I was a damned fool for wanting to port Illumos to run on Power 9. Well, okay, I probably am still a damned fool for wanting such, but knowing that the Solaris codebase has run on Power before gives me hope that it might actually be possible.
- spijdar 6y agoThere were ultimately two ports of Solaris to PowerPC, this early one and a third party port of OpenSolaris/Solaris 10 to PowerPC. The latter, called Project Polaris, can be found in source form online https://github.com/andreiw/polaris https://github.com/andreiw/polaris Getting this running on ppc64(le) would be no small undertaking, but hey.
- ngcc_hk 6y agoThat is a real surprise !!! Life full of these.
- jerzyt 6y agoIn the late 90's, I had Solaris running on my Toshiba laptop. I loved it. It was a great OS and development platform. At some point it became too difficult to keep up with software upgrades, otherwise, I'd still be using it.