ybin - install the yaboot boot loader to a bootstrap partition.
ybin
[ -b|--boot device ]
[ -o|--ofboot of-path ]
[ -i|--install boot-file ]
[ -C|--config config-file ]
[ -m|--magicboot chrp-file ]
[ --filesystem hfs|msdos|raw ]
[ --nobless ] [ -M|--mount ]
[ --hide ] [ --protect ]
[ --nonvram ]
[ --device OF-dev ]
[ --partition root-part-# ]
[ --timeout timeout ]
[ --image kernel ]
[ --label label ]
[ --root root-dev ]
[ --force ] [ -v|--verbose ]
[ --debug ] [ -h|--help ]
[ -V|--version ]
This manual page explains ybin the installer for the yaboot(8)
boot loader enabling GNU/Linux to be booted by OpenFirmware. Specifically it
copies the yaboot binary and yaboot.conf(5) and usually a
“magicboot” script to a bootstrap(8) partition.
Ybin will set attributes on the boot loader files and to
the bootstrap(8) partition itself to allow OpenFirmware to recognise
it as bootable, [usually] without requiring alterations to OpenFirmware's
configuration.
Ybin will also set the OpenFirmware boot-device variable to
the device path of the bootstrap(8) partition using
nvsetenv(8) when a NewWorld compatible version of nvsetenv(8)
is available.
Ybin requires that the bootstrap(8) partition have
an HFS or MSDOS filesystem already on it. For IBM hardware there is no
filesystem on the bootstrap(8) partition, in this case use
fstype=raw. When using the raw filesystem type ybin requires that an
ELF binary have already been installed on the bootstrap(8) partition.
Use the companion mkofboot(8) utility to install the boot loader onto
a new bootstrap(8) partition.
The bootstrap(8) 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. Ybin will refuse to operate on the
bootstrap(8) partition if it is mounted.
- -b, --boot device
- Install the boot loader onto the specified device, this device should be
that of your bootstrap(8) partition. For example, if your
bootstrap partition is located on your first primary IDE drive in
the second partition, your device would be: /dev/hda2.
- -o, --ofboot of-path
- The OpenFirmware device path to the bootstrap(8) partition. This is
needed so the first stage ofboot loader can be configured properly.
It should include the OpenFirmware path including the partition number
(but not any filename). Example: if your bootstrap(8) partition is
/dev/hda2 the OF path will likely be hd:2. As of ybin 0.18 you no
longer are required to specify this option, if left undefined ybin will
attempt to figure out the OpenFirmware path automatically using the
ofpath(8) utility. You should only need to define this option if
ofpath(8) fails.
- -i, --install boot-file
- Use boot-file as the primary boot loader executable, instead of the
default /usr/local/lib/yaboot/yaboot.
- -C, --config config-file
- Use config-file as the ybin/yaboot(8) configuration
file instead of the default /etc/yaboot.conf.
- -m, --magicboot chrp-script
- Use chrp-script as the boot loader “wrapper”. This
script is needed to either provide a boot menu for dual boot with MacOS or
to load yaboot (due to an OpenFirmware bug).
- --filesystem hfs|msdos|raw
- Set the filesystem type that ybin expects to find on the
bootstrap(8). The “raw” filesystem type causes
ybin to copy the bootloader (the value of install= directly
to the bootstrap(8) partition without creating a filesystem.
“raw” is required on IBM hardware. CAUTION: this will
destroy any data or filesystem on the bootstrap partition (value of
boot=) if you specify something like boot=/dev/sda you will
destroy the partition table and lose ALL data on the disk. The default is
HFS.
- -M, --mount
- Do not use the userspace hfsutils(1) to modify the
bootstrap(8), instead try and mount the filesystem directly. NOTE:
Attributes cannot be set on the filesystem or the boot loader files using
this method, your system will NOT be bootable without modifying
OpenFirmware's “boot-device” variable to something like:
“hd:2,ofboot” (no quotes).
- --nobless
- Do not “bless” the root directory of the bootstrap(8)
partition's filesystem. Only use this option if the bootstrap(8)
partition is actually a MacOS boot partition. This option is ignored
unless the filesystem is HFS, and is ignored when used with --mount.
- --hide
-
Set the invisible bit on all the boot loader files once copied to the
bootstrap(8) partition. This setting is useful if you must install
the boot loader onto a MacOS boot partition and do not with to see the
boot loader files cluttering up the MacOS root directory. This option is
ignored unless the filesystem is HFS, and will not work with --mount.
- --protect
- Set the read-only bit on all boot loader files once copied to the
bootstrap(8) partition. This setting is useful if you must install
the bootloader onto a MacOS boot partition and want to discourage
alterations/deletion of the boot loader. This option works for both HFS
and MSDOS filesystems.
- --nonvram
- Prevent ybin from setting the OpenFirmware boot-device variable
with nvsetenv(8).
- --device openfirmware-dev-path
- This option is used for auto-generation of a yaboot.conf(5). This
specifies the OpenFirmware device of the disk the system will boot from.
The default is “hd:”.
- --partition root-partition-number
- This option is used for auto-generation of a yaboot.conf(5). This
specifies the partition number of the root filesystem. Mac partition
tables are considered a partition themselves, so the first real partition
will be 2, usually the bootstrap(8) partition, followed by the root
partition, number 3.
- --timeout timeout
- This option is used for auto-generation of a yaboot.conf(5). This
specifies the timeout value in tenths of a second. The timeout is how long
yaboot(8) will wait before booting the default (first listed)
image.
- --image kernel-image
- This option is used for auto-generation of a yaboot.conf(5). This
specifies the path to the default kernel to be booted.
- --label label
- This option is used for auto-generation of a yaboot.conf(5). This
specifies the label used to boot the above kernel image. The default is
Linux.
- --root root-device
- This option is used for auto-generation of a yaboot.conf(5). This
specifies the Linux device for the root partition, this is passed to the
kernel at boot time. The default is /dev/hda3.
- -v, --verbose
- This option causes ybin to be more verbose as it proceeds.
- -f, --force
- This option suppresses any confirmation questions.
- --debug
- This option causes ybin to output some boring details useful only
for debugging ybin itself.
- -h, --help
- Print out usage information and exit.
- -V, --version
- Print out the version number and exit.
/usr/local/lib/yaboot/yaboot - boot loader executable
/usr/local/lib/yaboot/ofboot - OpenFirmware boot script
/etc/yaboot.conf - boot loader/ybin configuration file
- TMPDIR
-
The temporary directory ybin will use.
The yaboot.conf(5) auto generation requires a temporary file, this file
is created with mktemp(1). It is important that your system use a
secure mktemp(1) program, otherwise ybin will be vulnerable to
race conditions. The Debian mktemp is derived from OpenBSD and thus should be
secure.
/usr/local/lib/yaboot/ofboot now contains code executed by
/bin/sh (by ybin). It is thus critical that it not be writable by
anyone but root. It is also critical that /etc/yaboot.conf not be
writable by anyone but root since a different ofboot script could be
specified there.
Ybin should be able to take care of OpenFirmware variables as needed on
IBM hardware.
ybin and this man page was written by Ethan Benson.
yaboot was written by Benjamin Herrenschmidt.
Report bugs to <erbenson@alaska.net>
Report bugs in yaboot(8) to <benh@kernel.crashing.org>
bootstrap(8), hfsutils(1), mkofboot(8), mktemp(1),
nvsetenv(8), ofpath(8), yaboot(8), yaboot.conf(5),