Kernel: Versions since 2.2.14
Starting with the iMac models, Apple has changed the bootstrap process. The built-in ROM has been moved to a file on your hard disk. This new structure simplifies firmware updates and increases performance.
We use this new feature to load the Linux bootloader, instead of the MacOS ROM file. To give a choice between MacOS and Linux during system startup, the os-chooser script exists.
Yaboot can be used on these machines (only!):
On every so called "NewWorld" machines
Installation of yaboot:
An extra Linux Boot partition, in HFS Format (not HFS+!), is needed. The partition should be 32MB in size. This size gives one the chance to acccess the partition from the Linux side, so that more than one kernel may be placed on it. Copy the folder, "suseboot", from the first CD to this partition. The following files should be in this folder:
yaboot vmlinux ramdisk.image.gz Finder System yaboot.conf os-chooser (optional, if dual-boot is desired)
Open the configuration file, yaboot.conf, with SimpleText, and adapt it to your needs. An example config could look like the following:
default = linux timeout = 200 image = vmlinux label = linux append = "" root = /dev/ image = vmlinux label = install append = "" initrd = ramdisk.image.gz root = /dev/fd0 # your own kernel on the linux side, could look like this #image = ultra0:11,/boot/vmlinux # label = vmlinux # append = "" # root = /dev/hda11 #SuSE's version of yaboot will load the Kernel, vmlinux, and the ramdisk from the same folder where yaboot itself is located. (Unless a full path is specified.)
The file os-chooser gives one the choice between Linux and MacOS during system startup. If the space is held down, the first "Booting ..." line will be executed, if nothing is pressed, the second line will be executed.
<CHRP-BOOT> <COMPATIBLE> iMac,1 PowerMac1,1 PowerBook1,1 PowerMac2,1 PowerMac3,1 PowerBook2,1 PowerBook3,1 </COMPATIBLE> <DESCRIPTION> Linux/PPC Yaboot bootloader </DESCRIPTION> <BOOT-SCRIPT> " get-key-map" " keyboard" open-dev $call-method dup 20 dump 5 + c@ 08 = if " Booting MacOS ..." cr " boot ultra0:6,\\:tbxi" eval else " Booting Yaboot ..." cr " boot ultra0:7,\\yaboot" eval then </BOOT-SCRIPT> </CHRP-BOOT>The most important part is the section of the line:
ultra0:7,\\yabootThis line loads the file yaboot from the active system folder on partition 7 of the first IDE disk. Adapt the lines to fit _your_ needs.
There are two tools in the folder, "suseboot", that are AppleScript programs. These programs will set the correct type and creator information on the relevant files.
"mark os-chooser bootable" sets the correct attributes for the os-chooser script and some other files.
"mark yaboot bootable" sets yaboot itself bootable, so Linux can be booted directly.
When all of the configuration files are setup correctly, it is necessary to change the startup disk to your Linux boot partition. Then os-chooser or yaboot will be booted.
After restarting, one may choose between MacOS and Linux with the space bar. If the mouse pointer appears, then MacOS booting.
Installation on SCSI-only machines: The installation on a SCSI-only system is a little more complex because there are no device aliases like ultra0 or hd. In this case, the device path is determined from the Linux side. Another possibility is to use the Apple tool, "System Disk". This tool can be found at ftp.apple.com (617 kb):
ftp://ftp.apple.com/developer/macosxserver/utilities/SystemDisk2.3.1.smi.binThe Apple licence does not allow us to put this utility on our CD.
You can only boot from SCSI-controllers that are supported in OpenFirmware. The Adaptec 2906, for example, is not bootable.
/cdrom/generate_os_chooserfor example (change the paramters for your needs!):
/cdrom/generate_os_chooser.sh /dev/sda8 /dev/sda7 susebootThis script will generate a proper os-chooser file. Furthermore the file yaboot.conf will be modified, the label "linux" will be activated, and the current root partition will be appended to the file.