YABOOT(8) System Manager's Manual YABOOT(8)NAMEyaboot - PowerMac OpenFirmware boot loader
SYNOPSIS
Yaboot is an OpenFirmware ELF executable that bootstraps the Linux ker‐
nel.
DESCRIPTION
This manual page explains the yaboot OpenFirmware boot loader.
yaboot is not a Linux or MacOS executable file. Attempting to execute
yaboot from a Linux shell will only result in a Segmentation Fault.
yaboot is meant to be executed only by OpenFirmware.
yaboot is executed from OpenFirmware in the following manner: boot
hd:2,yaboot where hd: is the OpenFirmware path for the hard disk, and
the 2 is the partition number yaboot is located on. In this example,
the hard disk path is actually an OpenFirmware alias which is present
on all NewWorld PowerMacs. It usually points to the internal ATA hard
disk. If you have a SCSI disk, then you might execute yaboot with this
command: boot /pci@80000000/pci-bridge@d/ADPT,2930CU@2/@1:2,yaboot This
path will vary depending on what kind of SCSI host adapter you have.
For a more detailed explanation of OpenFirmware's [disgusting] paths,
see man bootstrap(8). On IBM hardware yaboot is directly copied to the
bootstrap(8) partition raw, without any filesystem. OpenFirmware will
boot from a type 0x41 PReP Boot parition marked bootable, this must
contain yaboot. On IBM hardware the config file is read directly from
the root filesystem. On PowerMac hardware it must be present on the
bootstrap(8) partition but ybin(8) will take care of that.
Fortunately you do not normally have to execute yaboot manually. If
you have partitioned your disk with a bootstrap(8) partition and used
ybin(8) to install yaboot then you will not have to execute yaboot
yourself. (If this does not work you can also set the boot-device
variable in OpenFirmware to have it boot automatically, see man boot‐
strap(8).)
Once yaboot has been executed by OpenFirmware it will display a boot:
prompt where you may enter a label for a kernel image defined in
yaboot.conf(5). If there is no kernel image defined in yaboot.conf(5)
you can still boot an arbitrary image by specifying its absolute Open‐
Firmware path, similar to the above commands for executing yaboot
itself. Simply omit the boot command and enter only the pathname.
(See EXAMPLES below)
When booting an image (either as a predefined label or absolute path)
any arguments are passed to the image. For example: boot: linux
root=/dev/hda3 which would pass the argument root=/dev/hda3 to the ker‐
nel.
yaboot should preferably be installed on a dedicated bootstrap(8) par‐
tition (type Apple_Bootstrap for PowerMacs, type 0x41 PReP Boot for IBM
hardware). This allows the partition to be modified in such a way that
OpenFirmware will load yaboot or a boot menu automatically with a
default OF configuration. If yaboot cannot be installed on a boot‐
strap(8) partition it can be installed on the root of a MacOS boot par‐
tition instead. yaboot however should not be installed in a subdirec‐
tory of the MacOS filesystem as this is less reliable and more diffi‐
cult to execute from OpenFirmware. See the ybin(8) man page for more
details on installing yaboot (ybin(8) is a utility for installing
yaboot with minimal difficulty).
The yaboot.conf(5) file must be next to the yaboot executable on the
bootstrap(8) partition. ybin(8) will take care of this.
OpenFirmware may be accessed by holding down the command, option, o, f
keys immediately upon power-up.
OpenFirmware's settings may be reset to default values by holding down
the command, option, p, r keys while cold booting.
If you have G4 hardware then your OpenFirmware may already have a
graphical boot selector built in. This selector can be accessed by
holding down the option key when booting the machine. You should see a
screen with buttons for each bootable partition. The current version
(included with ybin(8) 0.13) of ofboot includes a badge icon, the but‐
ton with a penguin icon is your bootstrap(8) partition. Thanks to
Nicholas Humfrey for creating the Badge icon.
The bootstrap(8) partition need not and should not be mounted anywhere
on your filesystem, especially not on top of /boot. Yaboot is able to
load the kernels from the ext2fs root partition so that is where they
should be kept.
EXAMPLES
boot yaboot from internal ATA disk, partition 2:
boot hd:2,yaboot
boot yaboot from partition 2 of a disk with SCSI ID 2 attached to a
Adaptec 2930 SCSI Host adapter (this is on a rev1 blue G3, it may vary
on other models):
boot /pci@80000000/pci-bridge@d/ADPT,2930CU@2/@2:2,yaboot
boot a kernel image located on partition number 3 of internal ATA disk
(from yaboot's boot: prompt):
hd:3,/boot/vmlinux
boot a kernel image located on partition 3 of SCSI disk ID 2 on a
Adaptec 2930 Host adapter (from yaboot's boot: prompt):
/pci@80000000/pci-bridge@d/ADPT,2930CU@2/@2:3,/vmlinux
FILES
/etc/yaboot.conf - boot loader configuration file
BUGS
OpenFirmware
AUTHORS
This man page was written by Ethan Benson <erbenson@alaska.net>.
yaboot was written by Benjamin Herrenschmidt <benh@kernel.crash‐
ing.org>.
REPORTING BUGS
Bugs in yaboot should be reported to Ethan Benson <erbenson@alaska.net>
SEE ALSObootstrap(8), yaboot.conf(5), ybin(8).
GNU/Linux PowerPC 21 November 2001 YABOOT(8)