OpenSolaris Community Creates Kernel for Power Chips
January 16, 2006 Timothy Prickett Morgan
As soon as Sun Microsystems took its Solaris implementation of the Unix operating system open source last summer, the press, analyst, and user communities all started speculating where OpenSolaris might be ported to. By letting go of Solaris, Sun clearly enabled such rampant porting, and probably did so to encourage it, in fact. With the Xeon and Opteron ports already done and being largely supported by Sun’s engineers, the obvious next architecture was IBM‘s and Freescale‘s respective Power architectures. (Freescale is the PowerPC chip business that was spun out by Motorola last year.)
On Sunday evening, January 8, members of the OpenSolaris community announced that they had sorted through the kernel modules of OpenSolaris and created a version of the Solaris kernel that will run on PowerPC processors. Dennis Clarke, who runs an open source software distribution service for Solaris called Blastwave that is spearheading the OpenSolaris-Power development effort, which is code-named “Polaris,” says he wants to be clear so that everyone understands that OpenSolaris has not been booted on PowerPC quite yet.
The OpenSolaris community is working with Genesi, a maker of PowerPC-based workstations that are sold under the brand name of “Pegasos, ” to do the first bootable version of Polaris. Just having the kernel clean and ready for PowerPC is not enough to boot it, obviously. You need all the specs–and I mean all of the specs–to write the drivers for all of the hardware components in the box–and Clarke says that the main memory controller specs are critical because Solaris has a reputation for being rock-solid and the memory controller is one of the most complex hardware/software interfaces in any computer. The Pegasos workstations use the Freescale PowerPC G4 processors and currently support a PowerPC version of Linux. Genesi wants them to support Solaris, too, so it is working with the OpenSolaris community by providing all the detailed specs as well as some hardware to do the first port of Solaris to Power.
IBM has begrudgingly said that it will support Solaris 10 on its BladeCenter blade servers, and there is some mumbling about supporting it on regular xSeries servers, too. But IBM’s endorsement of Solaris 10 has been extremely tepid, even if Sun did try to play it up a few months ago. It is hard to imagine that Big Blue will be all that thrilled about supporting the Polaris on its iSeries and pSeries servers and the JS20 PowerPC-based blade servers. That said, a lot of engineering departments at manufacturers use Sun gear, and a lot of financial services companies and service providers have Sun iron behind their Web and number-crunching jobs. These people like Solaris and the fact that their code works on it more than they care about Sparc-based servers. Any IBM shop with a sizable amount of Solaris workloads that was also looking to do server and platform consolidation would be a little more inclined to move Solaris workloads to Power than try to port their applications to Linux on Power. If you already have Solaris skills and a relationship with Sun as a software provider, why try to start up with Red Hat or Novell?
While Clarke says that the Polaris project has picked a very specific hardware platform for its initial implementation, which makes the porting job a whole lot easier, he adds that support from the hardware vendor is not a necessity–an attitude that I respect and admire. But Clarke is careful to not leave a wrong impression about how difficult such porting is. “There a lot of work to do,” he explains. “Just building the code and getting a clean build does not mean we have all the necessary specs and hardware abstraction layer information to do a full port.” When pressed on whether the OpenSolaris community would need help from IBM and Freescale to get Polaris running on lots of different Power-based computers, Clarke explains that behind the scenes, people who work for those vendors are quietly very enthusiastic about making this happen. But again, he made it clear that IBM and Freescale, as well as the makers of any Power or PowerPC computers, should speed up the process by contributing information and coding expertise.
Exactly when Polaris will first boot is unclear. “It is important to be conservative,” says Clarke. He says that he hopes to have the kernel booted on Genesi machine within six months. Once the kernel is done, the Polaris project has to add a shell and a console, and then they start fleshing out the rest of Polaris. After that, within another three to six months, the entire Blastwave Solaris application software stack moves over–which is comprised of 1,100 open source applications. “Within a year–and I really hope it takes less time–there should be an OpenSolaris PowerPC distribution.” Blastwave’s own distribution will be called Blastware, but the beauty of the OpenSolaris project is that anyone can take the code and port it to any other Power or PowerPC gear–including an AS/400, RS/6000, iSeries, or pSeries server.
If IBM does get on board with such a project, it could dramatically speed up support for the iSeries and pSeries platforms. Getting the Virtualization Engine logical partitioning to play nice with Polaris would be easier with IBM’s help, and if IBM really wanted to, it could probably make it so loading anything other than i5/OS, AIX, or Linux onto its Power-based servers was very difficult. But what seems clear from speaking with Clarke is that the OpenSolaris community wants Solaris to run on all kinds of Power-based machines, and they are going to work until that is accomplished.
If you want to help, contact Clarke at the Blastwave site. The Polaris project is going to need some iSeries and pSeries iron and some very knowledgeable i5/OS and AIX gurus to work on a port to the iSeries and pSeries. And they are also going to need you to put pressure on IBM to do its part to help.
Remember: the more platforms that run on the iSeries, the merrier.