NAME¶
yaboot - PowerMac OpenFirmware boot loader
SYNOPSIS¶
Yaboot is an OpenFirmware ELF executable that bootstraps the Linux
kernel.
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
bootstrap(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 OpenFirmware 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
kernel.
yaboot should preferably be installed on a dedicated
bootstrap(8)
partition (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
bootstrap(8) partition it can be installed on the root of a MacOS boot
partition instead.
yaboot however should not be installed in a
subdirectory of the MacOS filesystem as this is less reliable and more
difficult 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 button 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.crashing.org>.
REPORTING BUGS¶
Bugs in
yaboot should be reported to Ethan Benson
<erbenson@alaska.net>
SEE ALSO¶
bootstrap(8),
yaboot.conf(5),
ybin(8).