MkLinux—Linux Comes to the Power Macintosh
May 17, 1996 was a day of celebration among people who are both Macintosh and Linux devotees, for it is the day Apple and the Open Software Foundation let loose the first Developer's Release of the anxiously awaited MkLinux. MkLinux is a PowerPC-native version of Linux that operates on top of a MACH kernel. Back in February, Apple and the Open Software Foundation announced they would work together to port Linux to the PowerMacintosh platform. Since then, the progress of the teams working in Grenoble, France and in Cupertino, California has been anxiously followed.
Keeping up with the project was made easier with the creation of mailing lists and a web site run by Nick Stephen, one of the project's programmers laboring in Grenoble. While obviously very busy, Nick kept an impatient community at bay with progress reports and patient answers to both simple and complex questions.
While being harassed on an almost weekly basis to “release the code so we can begin hacking on it”, the OSF and Apple teams were adamant that nothing would be released until it was at least marginally stable—the growing MkLinux community would have to wait.
On May 17, that wait ended as MkLinux DR1 was released, both on CD-ROM to the attendees at Apple's World Wide Developer's Conference and to the world at large via the Internet. Proving they were on top of what was to become a small whirlwind of discussions and reports, Apple switched the old OSF mailing list to one of their servers and created a bevy of additional mailing lists devoted to specific topics. Apple also hosted the project's main web site, http://www.mklinux.apple.com (Figure 1), and one of several FTP sites where the MkLinux DR1 release could be downloaded onto waiting hard drives. For a developmental release, it was a professional roll-out. Now the question on everyone's mind—“Was the wait worth it?”—could be answered.
The admission price, in terms of computing resources needed for the first MkLinux Developmental Release, is somewhat steep. This is not a Linux you are going to be able to cram into 2MB of RAM and a 40MB hard drive. Apple recommends that those brave persons who try installing DR1 have at least 16MB of RAM and 400MB free on their hard drives. Also, according to Apple, an entire hard drive should be devoted to your MkLinux partitions, if possible. Your choice of platforms is also somewhat limited. At this time, MkLinux runs only on NuBus PowerMacintoshes using the PPC 601 RISC chip. The 603 or 604 chips are not supported, nor is the PCI bus. That situation will soon change.
The packages that have to be procured for the installation are also huge. Apple originally put them on the Internet at ftp://mklinux.apple.com/pub/MkLinux_DR1 for transfer and within a week, other sites had them available for download. Packaged as stuffed MacOS SIT files, the initial MkLinux distribution file, MkLinux_DR1.sit, is 42MB in size. Uncompressed, this expands to over 120MB! Additional packages, all several megabytes in size, are also available for the MACH source code, the Red Hat Package Management (rpm) source packages, the rpm binaries, and the X11 distribution. All in all, while you only need the 42MB MkLinux_DR1.sit file to get started, the full distribution weighs in at nearly 200MB of material.
Realizing that this could prove to be a severe problem to many of the people who want this initial distribution, Apple made a deal with Prime Time Freeware (http://www.ptf.com) to release to the general public the same CD-ROM given out to the attendees of Apple's World Wide Developer's Conference. By sending $10 plus shipping and handling to Prime Time Freeware, you'd be saved the time and aggravation of having to download several megabytes from an increasingly fickle Internet. Given the weight of the distribution, many people opted for the CD-ROM in getting this first version of MkLinux.
Once you have the required packages, either after downloading them from the Internet or getting them off the CD-ROM, what happens? The first job is to format and partition your drive. The Apple/OSF team wrote MkLinux to use the same type of partitions as Apple's A/UX product in order to make it (theoretically) easy to partition your drives, since most Mac partitioning software supports creating A/UX partitions. As with any developmental release, for some of us this worked, and for some of us it didn't. As an example of the support the community gave not only itself but the MkLinux team, Philip Machanick of the University of the Witwatersrand in South Africa kept track of those types of hard drives and partitioning programs people reported were working and not working with the DR1 release. By the time you read this, the need for keeping such a list should be long past. Apple recommends that you partition at least a 300MB root partition. This can be divided into a 100MB root partition and a 200MB /usr partition, if you want to. You must also have a swap partition that is at least 32MB in size, but not larger than 64MB. Because of how Uhix type “upgrades” are done, it is best to separate the root and /usr partitions.
Once the drive partitioning is completed—a job that Apple's release notes call the most difficult process of the installation—you run the “Install MkLinux” application to begin the actual file copying process. When this Macintosh application runs, it asks several questions. Most importantly, the installer needs to know the SCSI drive number of the hard drive with the MkLinux partitions. Once that is secured, it goes on to find each of the partitions you've created and asks if you wish to use them. The application is so careful in making sure you want to do what you say that some users felt they were put through an electronic version of the Inquisition during installation. However, once all the questions are answered to the satisfaction of the installer, it copies the needed files to the newly created MkLinux partitions. It also modifies the Macintosh System Folder by adding one Control Panel and two System Extensions. Together, these files act as the Macintosh version of LILO, enabling you to specify which OS will boot up on system startup. The entire installation, once started, takes about fifteen minutes to complete.
Once the files are copied, you need to invoke the new MkLinux Control Panel to tell the Macintosh which OS you'd like to use for booting. At present, the options for the Mac LILO program are rather limited. When you bring the Control Panel up, you have a choice of selecting one of two radio buttons: MacOS or MkLinux (Figure 2). Once you make this selection, there is a button available to enable rebooting right then and there.
Depending on which radio button you choose in the MkLinux Control Panel, a couple of different things can happen. If you choose to reboot MacOS, you won't even know MkLinux is available to you (save for the space its partitions consume on your hard drive). If, however, you're brave and elect to boot MkLinux, very early in the Macintosh boot process, the MkLinux LILO screen appears on the screen. This colorful and well-constructed dialog box (Figure 3) gives you the choice of booting MkLinux or booting MacOS. The countdown in the lower right-hand corner of the dialog box gives you ten seconds to make up your mind before, by default, the machine boots MkLinux.
Assuming you boot MkLinux, your screen turns black, and the white-lettered lines of a Linux system booting up scroll up your screen. After a short pause, the screen will again clear and print:
MkLinux for Power Macintosh. Brought to you by Apple Computer, Inc. Kernel 1.2.13 on a osfmach3_ppc login:
Congratulations! You're now running native Linux on a PowerMacintosh!
Despite being distributed by Prime Time Freeware, MkLinux is not yet ready for prime time. As already noted, many people have had problems right from the start, being unable to even boot from their drives. Sources at Apple say this problem will be solved by the time you read this article, but if you're considering purchasing a new drive, you will want to check whether the one you're considering has been used successfully by someone else before spending money on it.
Video support in the first Developer's Release is a bit sparse. Only on-board video and the HPV card are supported, and this has caused some problems with people who have “AV” Macintosh systems.
Floppy drives and, more unfortunately, serial output, are not supported with this first release. Thus, while you can play around with networking if you have access to Ethernet, those of us who connect to the Internet via PPP will have to wait a bit. The lack of serial support also limits printing options.
On the SCSI bus, only hard drives and CD-ROMs are supported at the moment. The release notes say other devices, such as the Iomega ZIP drive, have not been tested, but I have not gotten mine to work, and I know of no one on the Internet who has.
Finally, as with any developer's release, your mileage may vary with respect to getting various programs and systems working. For example, while I have not gotten Emacs to work, I know of several people who've had no problem with it. On the other hand, Apple's own Errata, as of May 25, mentions a problem regarding a shell script that will cause you to be logged out the first time you log on as root; I have never encountered this problem.
However, the MkLinux teams at Apple and OSF got a lot of things right. The installation procedure (assuming you have a MkLinux-friendly drive) is one of the smoothest installations I've ever been through for a software package of this size. Considering this is a developer's release, it has been remarkably stable. While there have been some surprises, usually either some work-around has been developed or the situation is put right on the “to-do” list by the Apple/OSF teams.
According to Michael Burg at Apple, MkLinux will go through at least one more developer's release, scheduled near the end of the summer, before the Reference Release is distributed in September. The MkLinux world has proven that it moves as quickly as the Intel Linux world, with updates and patches appearing on Apple's FTP site ftp://ftp.mklinux.apple.com/pub/) on a weekly basis. According to a schedule that Michael Burg released to the Internet in early June, most of the bugs and omissions from DR1—such as video console and driver issues, SCSI driver bugs, and the lack of serial support—should be solved and implemented by the time you read this article. PCI bus support is scheduled for the Reference Release with support for the PPC 603e platforms coming some time in autumn.
After autumn, what's next? To a large extent, like any Linux, that depends on us. Apple and the OSF have released the full source code for this project to anyone who wants it, respecting the spirit that has guided Linux since Linus Torvalds first released it. Some Intel Linux hackers have wondered whether there is enough of a critical mass of MkLinux programmers to keep the project alive. Based on the beginnings of the community that has come alive around this first developer's release, I don't think we'll disappoint our Intel brethren.
The Macintosh is a computer which, through its eleven years of life, has inspired a lot of love and dedication. With MkLinux, we have the opportunity, as the saying goes, to “fall in love all over again.”
Richard Kinne (firstname.lastname@example.org) is using the MkLinux project to re-acquaint himself with the Unix operating system after having been exiled to VAX/VMS-land for ten years. He works as the User Services Consultant for the State University of New York at Morrisville. When not writing or hacking with his significant other, he enjoys Star Trek, Babylon 5 and playing with his cats.