Day 3: Conferences: Porting linux to the PowerMac



Gary Thomas ported the kernel to the PReP platform and Paul took over to write a native port to the PCI machines as he didn't want to be running the Mach port from Apple.

[picture]
Paul Mackerras

Paul Mackerras worked on the port to PCI PowerMacs, so he gave this presentation (you can find his slides in the middle of the picture gallery)

The first powermacs still had old hardware and bus, like nubus. The newer ones come with PCI bus, DMA controller, and especially open firmware
Paul concentrated on the newer PCI machines as they were easier to support and because Apple wrote the version of linux running on top of Mach on the older PPC machines.

Open Firmware already has a few things built-in, like some filesystems (ISO 9660), tftp support for network booting and so forth (it happens to be based on the forth language BTW :-) ).
O.F. is quite nice since the bootstrap loader for linux can just use it to read blocks on disk and read the ext2 partition in order to load the kernel. Likewise it was very useful during development time because it made it possible to display characters on the screen before the console driver was working.
The bad news is that the first implementations of O.F. on macs, there were annoying bugs (Apple doesn't use many features to boot MacOS, so their code wasn't well tested). Later machines, like the iMac, have a flashable EPROM but since the old machines also need to be supported, BootX was written to boot linux on those machines (it bootstraps from MacOS).

There was some effort in the past with PReP and CHRP (PowerPC Reference Platform and Common Hardware Reference Platform) and the good news is that Apple documented some of their chips at that time.

In december 96, there were 5000 downloads of Paul's port in the first week after the announcement when the boot loader was there, as well as disk support and so forth (the previous version only had NFS-root support which meant you had to have a second machine to boot linux on the Mac)
Currently, there are 100.000 to 500.000 users of linux on PPC. The MkLinux project is more or less dead now and Paul's project has taken over. Two reasons that were given for this is that the Mach overhead was not negligeable on those machines and also Paul's port had better driver support (like sound and floppy). The funny story is that the Apple Mklinux team actually used some code from Paul's port because apparently they couldn't figure out how to change the screen resolution (which Paul had to reserve engineer)

There is some support for laptops. The Powermacs laptops seem to work and the G3 ones mostly work, but won't wake up from sleep. On the laptop front, it's pretty much the same than for PCs: some work, some work with a few problems, and some don't :-)

[picture] [picture]
[picture]



[library] Picture library [back] Back to Main Page [next] Next page


[ms free site] Email
Link to Home Page

99/05/24 (09:31): Version 1.0