Native Linux on the PowerPC
Linux on the PowerPC is a stable and robust development environment. What we need is more users installing it and beginning the work on driver modifications and other missing features. Linux benefits from the work of many programmers across the globe, and PowerPC Linux hopes to have the same advantage.
At this time, making the kernel bullet-proof is the highest priority. Second is speeding it up. After all, a fast kernel that crashes is just a kernel that crashes quickly.
I'd like to take Real-Time Linux, developed here at New Mexico Tech, and make it work on the PPC. The PowerPC makes real-time features easier than the 80x86 with better timer and simpler interrupt interfaces. Integrating with RT-Linux could even serve to optimize the kernel by using soft disables for interrupts rather than costly hardware disables.
As soon I have access to a symmetric multi-processing (SMP) PowerPC machine, I'll begin work on SMP, since there is no support for PowerPC SMP machines now.
The distribution of PPC Linux currently consists of a boot floppy image for the installation, a root floppy image, a file system tar file and a final boot image for the hard disk. Detailed instructions and the associated files for an installation can be found at ftp://ftp.nmt.edu:/pub/people/cort/. This installation is clumsy and requires a network with an NFS server or a tape drive. This isn't as practical as it could be and leaves much room for improvement. The Red Hat package management tools are compiled and work, but they are not yet directly supported by Red Hat; therefore, only the RPM source packages work.
There is no support in PPC Linux for emulating operating systems other than in the PowerMac version, which runs MkLinux binaries as long as they don't make Mach system calls. Other than limited MkLinux support, there are no plans for adding emulation. Support for PowerPC AIX binaries would not be very difficult, but since there are few applications for PowerPC AIX that users would want, adding support would not be worthwhile. However, a stronger case can be made for emulation of MacOS and Windows. There are many applications for both MacOS and MS Windows that users would want to run under PPC Linux. Perhaps MacOS and Windows emulation for the PowerPC could be taken up by others as a project similar to Wine and DOSemu.
There is still a lot of work to be done in many areas of the kernel and at the user level. Device drivers need to be modified and tested to translate from a big-endian CPU to the native format of the device. There are very few devices supported now, and I don't have access to them all to do the work. People with hardware they'd like to see supported and an interest in doing some kernel hacking are needed for this project. Even users who don't want to write code can help by testing kernel changes.
People interested in running PowerPC on their workstations are also needed. Different PowerPC machines are needed to test and verify the system works on as many of the PowerPC machines as possible. People willing to help add support for their own machines would be even better.
X needs changes to support more video cards, and the changes should be integrated with standard XFree. I'm rather keen on the idea of a PPC Linux Netscape as well. Linus Torvalds urged the idea of Linux as a “fun” system at the 1997 Usenix Technical Conference; as an example he cited his work to port Quake to Alpha Linux. Perhaps someone with an interest could take up this cause.
A PowerPC version of LILO that works on the PowerMac and other PowerPC platforms would be very useful. Currently, we only have a PowerMac version, and work on a PREP LILO could begin using the PowerMac version.
Cort Dougan is a graduate student at New Mexico Tech and splits his time between his graduate work, PowerPC Linux and hydroponics farming. He can be reached via email at firstname.lastname@example.org.
- Readers' Choice Awards--Nominate Your Apps & Gadgets Now!
- Memory Ordering in Modern Microprocessors, Part I
- Source Code Scanners for Better Code
- diff -u: What's New in Kernel Development
- RSS Feeds
- Tech Tip: Really Simple HTTP Server with Python
- Non-Linux FOSS: AutoHotkey
- Returning Values from Bash Functions
- Security Hardening with Ansible