Yellow Dog Linux on the iMac
Running Linux on a Macintosh is a little different than with Intel. On the Intel side, most folks use LILO. On the Mac, the boot loader of choice used to be BootX, but now yaboot is also available.
BootX runs under MacOS and can be set up as an extension, so like LILO, you are offered the choice of booting MacOS or Linux. Unlike LILO, you are already well into the MacOS boot-up GUI before you get the opportunity to choose Linux, although you do have a nifty graphical screen, allowing you to enter some options that control the boot process (see Figure 2).
yaboot works at a lower level, more like LILO, giving you a boot prompt at power-up. The Champion Server documentation steps you through the setup for both of these programs, with special notes as to options for the various Mac hardware platforms.
While I'm on the subject of documentation, let me take a moment to comment on the Yellow Dog manual. Although only a loose-leaf three-hole package, it is very well done with clear instructions covering the full install. As mentioned above, it also lists special considerations for the various Mac/PPC hardware platforms. They also have a FAQ area on their web site (see Figure 4) and the usual mailing lists, monitored by YDL staff. Questions are answered fairly quickly.
I started using Linux on the PPC with another distribution, and had considerable trouble getting basic things like the keyboard, video and mouse, which I had taken for granted on Intel, to work. Setting up X can sometimes be a true challenge on the PPC, and since the Mac has no text mode, you can end up in a situation where you don't even have a visible command prompt. YDL wisely opted to boot the system in run level 3 with only the command prompt, so you can set up and test your X configuration before committing to booting straight into X with run level 5.
I already had a BootX setup from my old install and chose to keep it. Older iMacs have an ATI Mach64 video card, and Yellow Dog recommends adding the stanza video=atyfb:vmode:17 to your kernel arguments and unchecking the “No Video Driver” option. I also have a non-standard iProRaidTV SCSI card/TV tuner installed in the mezzanine slot of my Revision B iMac, so I have an additional ncr53c8xx=safe:y option to force the card to wait for the SCSI bus to settle during the boot process. This also disables some of the advanced features of the card, but it does work—usually.
For BootX, take a copy of the Linux kernel (vmlinux—PPC does not use compressed kernel images) and put it in your system folder or the kernel folder under your BootX install. I generally use the system folder along with the BootX extension, so I can go right into Linux early in the Mac OS boot process.
I ran the BootX program, checked my kernel parameters and pressed the “Linux” button. The Mac OS screen changed to a black screen with the ever-present Tux in the upper-right-hand corner, and I observed the normal stream of boot messages identifying and configuring my hardware—until it hit the iProRaid card. At this point, I ended up in a somewhat familiar endless loop of SCSI resets and was forced to power down the machine to get out. YDL apparently uses the sym53c8xx SCSI driver in their stock kernel, and it did not recognize my “safe” kernel parameter. (Both of these drivers are very similar, as I believe Symbios bought the old NCR chipset technology. The NCR/Symbios cards are very popular and inexpensive; I've got three of them in various Intel machines.) I tried replacing ncr with sym in my kernel arguments, as well as sym53c875=0, but nothing seemed to stop that endless SCSI bus reset.
But all was not lost. I've got my own home-compiled 2.2.14 kernel with the NCR driver, as well as modules for the video portion of the card, so I used it instead, and soon I was up and running, looking at the root login prompt. Although an annoyance for me, I do realize my machine is non-standard, and if it weren't for the iProRaid card, I would have been up and running much sooner. What would be nice is being offered both a monolithic kernel and a modular one, with a choice of modules to install.
|Non-Linux FOSS: libnotify, OS X Style||Jun 18, 2013|
|Containers—Not Virtual Machines—Are the Future Cloud||Jun 17, 2013|
|Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer||Jun 12, 2013|
|Weechat, Irssi's Little Brother||Jun 11, 2013|
|One Tail Just Isn't Enough||Jun 07, 2013|
|Introduction to MapReduce with Hadoop on Linux||Jun 05, 2013|
- Containers—Not Virtual Machines—Are the Future Cloud
- Non-Linux FOSS: libnotify, OS X Style
- Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer
- RSS Feeds
- Introduction to MapReduce with Hadoop on Linux
- Validate an E-Mail Address with PHP, the Right Way
- Weechat, Irssi's Little Brother
- Tech Tip: Really Simple HTTP Server with Python
- New Products
- Help with Designing or Debugging CORBA Applications
- Welcome to 1998
42 min 34 sec ago
- notifier shortcomings
1 hour 6 min ago
2 hours 43 min ago
- Android User
2 hours 44 min ago
- Reply to comment | Linux Journal
4 hours 37 min ago
7 hours 27 min ago
- This is a good post. This
12 hours 40 min ago
- Great, This is really amazing
12 hours 42 min ago
- These posts are really good
12 hours 43 min ago
- It’s a really great site you
12 hours 46 min ago
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?