OpenSolaris

You are not signed in. Sign in or register.

OpenSolaris Project: Solaris PowerPC Port

View the leaders for this project
Project Observers

Endorsing communities

Device Drivers

Introduction

Welcome to the OpenSolaris on PowerPC Port Project. The initial goal of this project is to create an OpenSolaris kernel port that executes on 32bit PowerPC based targets. From the beginnings of OpenSolaris there has been quite a bit of interest in this broad topic… and rightly so. The PowerPC and Power architectures, with their multiple variations cover a wide adoption landscape and here is where one specific part of the development lives. This project is part of the endorsing OpenSolaris PowerPC community and it uses the same mailing list.

In order to get this specific project moving forward, for now it will use a simple name… OpenSolaris on PowerPC Port. The project was created and hosted here in order to provide continuity with the OpenSolaris approach in general.

A Bit of History

In 1996 Sun Microsystems officially released a little endian, 32 bit version of Solaris (PowerPC Edition) 2.5.1 on the PReP platform. Engineering development continued into Solaris 2.6 but official support was dropped and this follow on work was never officially released. The 2.5.1 PowerPC source was also not included in OpenSolaris rollout due to legal and practical reasons.

Parts of the source from that early effort provided a template to compose the architecture and platform source areas in the code that is hosted here. Quite a bit has obviously changed since then, but portions of the early kernel init and Open Firmware interface was extremely relevant and helpful to reference.

Development Environment & Target Overview

This project requires a solaris cross development environment. Current SPARC and x86 based work is done natively and pretty much everything is geared towards that approach. Here however the development host machine is an x86 Solaris based system that is used to build bins for the PowerPC based target. Debugging is done on the actual target. In this development environment the host serves not only as the build machine but also as the tftpserver, tip session and nfs mount for the target's kernel. The tool chain is GNU/GCC 3.4.3 and GNU binutils 2.16 with a specific PowerPC cross development configuration for each. The Project Tools link will provide more details. Needless to say this presents new challenges as many of the tools Solaris depends on need to be either x86 or PPC based or sometimes a blend of them.

The current targets used to date are the Genesi Pegasos ODW and the EFIKA from Genesi along with the PowerMac G4 class of desktops and the MacMini from Apple. The general requirement is that the target runs Open Firmware. You may notice that the ODW has been discontinued but it still remains our lead platform for kernel development at this time.

Getting Started

The first thing to do if you're new to the project or just interested is sign up for the forum / mailing list and familiarize yourself with the community members, topics, status of this project and much more.

So there are numerous tasks with a port of any kernel, especially OpenSolaris. The project task map is one place to get an idea of what technically is pending, it's progress and who is involved. There is also detailed background information contained within each task. For a quick overview check out the status page.

The design decisions we begin with are big-endian ordering and 32bit. You can also reference some earlier community notes that are applicable. There is a PowerPC Document library which has quite a bit of relevant reference material in one spot.

We have put together a Quick Guide to Getting Started which includes a status of the source as one of the ways to understand the details of the project. Also you may visit our FAQ page that may be informative.

Announcements

02 Oct 2006 Solaris PowerPC Code Release