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!
Webinar: 8 Signs You’re Beyond Cron
11am CDT, April 29th
Join Linux Journal and Pat Cameron, Director of Automation Technology at HelpSystems, as they discuss the eight primary advantages of moving beyond cron job scheduling. In this webinar, you’ll learn about integrating cron with an enterprise scheduler.Join us!
- March 2015 Issue of Linux Journal: High-Performance Computing
- Users, Permissions and Multitenant Sites
- Not So Dynamic Updates
- April 2015 Video Preview
- Security in Three Ds: Detect, Decide and Deny
- New Products
- Flexible Access Control with Squid Proxy
- DevOps: Everything You Need to Know
- Tighten Up SSH
- Android Candy: Bluetooth Auto Connect