NAME¶
ybin - install the yaboot boot loader to a bootstrap partition.
SYNOPSIS¶
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 ] [
--force ]
[
-v|
--verbose ] [
--debug ]
[
-h|
--help ] [
-V|
--version ]
DESCRIPTION¶
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
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.
OPTIONS¶
- -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/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).
- -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.
FILES¶
/usr/lib/yaboot/yaboot - boot loader executable
/usr/lib/yaboot/ofboot - OpenFirmware boot script
/etc/yaboot.conf - boot loader/ybin configuration file
ENVIRONMENT¶
- TMPDIR
-
The temporary directory ybin will use.
SECURITY¶
Temporary files are 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/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.
BUGS¶
Ybin should be able to take care of OpenFirmware variables as needed on
IBM hardware.
AUTHORS¶
ybin and this man page was written by Ethan Benson.
yaboot was written by Benjamin Herrenschmidt.
REPORTING BUGS¶
Report bugs to <erbenson@alaska.net>
SEE ALSO¶
bootstrap(8),
hfsutils(1),
mkofboot(8),
mktemp(1),
nvsetenv(8),
ofpath(8),
yaboot(8),
yaboot.conf(5),