The other day a friend of mine wanted to see if I could install Slackware64 14.1 on a MacBook that he received. It was an older model, and the previous owner had wiped out the disks trying to get various Linuxen installed.
My friend already had a freshly minted copy of the DVD ready for us, but when we tried to boot it up, all we say was this message:
1. 2. Select CD-ROM Boot Type:
Of course, it didn't help that the keyboard did not respond. Looking around, I noticed some advice on fixing this in various forums, but it didn't quite work, because none of these options was available in building my own custom ISO image. I had also considered getting reFind installed on the system, but I realized that installing reFind on a MacBook without Mac OS X installed is really hard. :-)
After some thinking and pondering about the message, I stared at the command to build a Slackware ISO for a while. It hit me then that the normal command used to build the ISO creates two boot paths, one for traditional systems, and one for EFI. Here's the normal boot command:
mkisofs -o /tmp/slackware-dvd.iso \ -R -J -A "Slackware Install" \ -hide-rr-moved \ -v -d -N \ -no-emul-boot -boot-load-size 4 -boot-info-table \ -sort isolinux/iso.sort \ -b isolinux/isolinux.bin \ -c isolinux/isolinux.boot \ -eltorito-alt-boot -no-emul-boot -eltorito-platform 0xEF \ -eltorito-boot isolinux/efiboot.img \ -m 'source' \ -V "SlackDVD" .
eltorito lines here cause the problem. Specifically, the MacBook doesn't seem to be able to figure out how to boot from the CD given two different options.
The solution to this problem is easy: remove the alternative boot images and boot using the traditional methods. In that case, the new command to build the ISO looks like this:
mkisofs -o /tmp/slackware-dvd.iso \ -R -J -A "Slackware Install" \ -hide-rr-moved \ -v -d -N \ -no-emul-boot -boot-load-size 4 -boot-info-table \ -sort isolinux/iso.sort \ -b isolinux/isolinux.bin \ -c isolinux/isolinux.boot \ -m 'source' \ -V "SlackDVD" .
After using this new ISO, the MacBook builds and boots and installs without a hitch. Happy slacking!
Please consider supporting my work through GitTip.