blob: a24d6974cd3295fb2a600e1ced475c713c1594c9 [file] [log] [blame] [view] [raw]
.\" Hey Emacs! This file is -*- nroff -*- source.
.\"
.\" ybin (YaBoot INstaller) installs/updates the yaboot boot loader.
.\" Copyright (C) 2000, 2001 Ethan Benson
.\"
.\" This program is free software; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License
.\" as published by the Free Software Foundation; either version 2
.\" of the License, or (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program; if not, write to the Free Software
.\" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
.\"
.TH YBIN 8 "21 November 2001" "GNU/Linux PowerPC" "System Manager's Manual"
.SH NAME
.B ybin
\- install the yaboot boot loader to a bootstrap partition.
.SH SYNOPSIS
.B ybin
.RB [ \ \-b | \-\-boot\ \fIdevice\ ]
.RB [ \ \-o | \-\-ofboot\ \fIof-path\ ]
.RB [ \ \-i | \-\-install\ \fIboot-file\ ]
.RB [ \ \-C | \-\-config\ \fIconfig-file\ ]
.RB [ \ \-m | \-\-magicboot\ \fIchrp-file\ ]
.RB [ \ \-\-filesystem\ \fIhfs | \fImsdos | \fIraw\ ]
.RB [ \ \-\-nobless\ ]
.RB [ \ \-M | \-\-mount\ ]
.RB [ \ \-\-hide\ ]
.RB [ \ \-\-protect\ ]
.RB [ \ \-\-nonvram\ ]
.RB [ \ \-\-force\ ]
.RB [ \ \-v | \-\-verbose\ ]
.RB [ \ \-\-debug\ ]
.RB [ \ \-h | \-\-help\ ]
.RB [ \ \-V | \-\-version\ ]
.SH DESCRIPTION
This manual page explains
.B ybin
the installer for the
.BR yaboot (8)
boot loader enabling GNU/Linux to be booted by OpenFirmware.
Specifically it copies the
.B yaboot
binary and
.BR yaboot.conf (5)
and usually a \*(lqmagicboot\*(rq script to a
.BR bootstrap (8)
partition.
.B Ybin
will set attributes on the boot loader files and to the
.BR bootstrap (8)
partition itself to allow OpenFirmware to recognise it as bootable,
[usually] without requiring alterations to OpenFirmware's configuration.
.B Ybin
will also set the OpenFirmware boot-device variable to the device path
of the \fBbootstrap\fR(8) partition using \fBnvsetenv\fR(8) when a
NewWorld compatible version of \fBnvsetenv\fR(8) is available.
.B Ybin
requires that the
.BR bootstrap (8)
partition have an HFS filesystem already on it. For IBM
hardware there is no filesystem on the \fBbootstrap\fR(8) partition,
in this case use fstype=raw. When using the raw filesystem type
\fBybin\fR requires that an ELF binary have already been installed on
the \fBbootstrap\fR(8) partition. Use the companion
.BR mkofboot (8)
utility to install the boot loader onto a new
.BR bootstrap (8)
partition.
The \fBbootstrap\fR(8) need not and should not be mounted anywhere on
your filesystem, especially not on top of /boot. \fBYaboot\fR is able
to load the kernels from the ext2fs root partition so that is where
they should be kept. \fBYbin\fR will refuse to operate on the
\fBbootstrap\fR(8) partition if it is mounted.
.SH OPTIONS
.TP
.BR \-b ,\ \-\-boot\ \fIdevice
Install the boot loader onto the specified device, this device should
be that of your \fBbootstrap\fR(8) partition. For example, if your
\fBbootstrap\fR partition is located on your first primary IDE drive in the
second partition, your device would be: \fI/dev/hda2\fR.
.TP
.BR \-o ,\ \-\-ofboot\ \fIof-path
The OpenFirmware device path to the \fBbootstrap\fR(8) partition. This
is needed so the first stage \fIofboot\fR loader can be configured
properly. It should include the OpenFirmware path including the
partition number (but not any filename). Example: if your
\fBbootstrap\fR(8) partition is /dev/hda2 the OF path will likely be
hd:2. As of \fBybin\fR 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 \fBofpath\fR(8) utility.
You should only need to define this option if \fBofpath\fR(8) fails.
.TP
.BR \-i ,\ \-\-install\ \fIboot-file
Use \fIboot-file\fR as the primary boot loader executable, instead of
the default \fI/usr/local/lib/yaboot/yaboot\fR.
.TP
.BR \-C ,\ \-\-config\ \fIconfig-file
Use \fIconfig-file\fR as the \fBybin\fR/\fByaboot\fR(8) configuration
file instead of the default \fI/boot/yaboot.conf\fR.
.TP
.BR \-m ,\ \-\-magicboot\ \fIchrp-script
Use \fIchrp-script\fR as the boot loader \*(lqwrapper\*(rq. This
script is needed to either provide a boot menu for dual boot with
MacOS or to load yaboot (due to an OpenFirmware bug).
.TP
.BR \-\-filesystem\ \fIhfs\fR|\fImsdos\fR|\fIraw
Set the filesystem type that \fBybin\fR expects to find on the
\fBbootstrap\fR(8). The \*(lqraw\*(rq filesystem type causes \fBybin\fR
to copy the bootloader (the value of \fIinstall=\fR directly to the
\fBbootstrap\fR(8) partition without creating a filesystem.
\*(lqraw\*(rq is required on IBM hardware. CAUTION: this will destroy any data or
filesystem on the bootstrap partition (value of \fIboot=\fR) if you
specify something like \fIboot=/dev/sda\fR you will destroy the
partition table and lose ALL data on the disk. The default is HFS.
.TP
.BR \-M ,\ \-\-mount
Do not use the userspace
.BR hfsutils (1)
to modify the \fBbootstrap\fR(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 \*(lqboot-device\*(rq variable to
something like: \*(lqhd:2,ofboot\*(rq (no quotes).
.TP
.BR \-\-nobless
Do not \*(lqbless\*(rq the root directory of the \fBbootstrap\fR(8)
partition's filesystem. Only use this option if the \fBbootstrap\fR(8)
partition is actually a MacOS boot partition. This option is ignored
unless the filesystem is HFS, and is ignored when used with \-\-mount.
.TP
.BR \-\-hide
.br
Set the invisible bit on all the boot loader files once copied to the
\fBbootstrap\fR(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.
.TP
.BR \-\-protect
Set the read-only bit on all boot loader files once copied to the
\fBbootstrap\fR(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.
.TP
.BR \-\-nonvram
Prevent \fBybin\fR from setting the OpenFirmware boot-device
variable with \fBnvsetenv\fR(8).
.TP
.BR \-v ,\ \-\-verbose
This option causes \fBybin\fR to be more verbose as it proceeds.
.TP
.BR \-f ,\ \-\-force
This option suppresses any confirmation questions.
.TP
.BR \-\-debug
This option causes \fBybin\fR to output some boring details useful
only for debugging \fBybin\fR itself.
.TP
.BR \-h ,\ \-\-help
Print out usage information and exit.
.TP
.BR \-V ,\ \-\-version
Print out the version number and exit.
.SH FILES
.nf
/usr/local/lib/yaboot/yaboot \- boot loader executable
/usr/local/lib/yaboot/ofboot \- OpenFirmware boot script
/boot/yaboot.conf \- boot loader/ybin configuration file
.fi
.SH ENVIRONMENT
.TP
.B TMPDIR
.br
The temporary directory \fBybin\fR will use.
.SH SECURITY
Temporary files are created with
.BR mktemp (1).
It is important that your system use a secure
.BR mktemp (1)
program, otherwise \fBybin\fR will be vulnerable to race conditions.
The Debian mktemp is derived from OpenBSD and thus should be secure.
\fI/usr/local/lib/yaboot/ofboot\fR now contains code executed by /bin/sh (by
\fBybin\fR). It is thus critical that it not be writable by anyone but
root. It is also critical that \fI/boot/yaboot.conf\fR not be writable
by anyone but root since a different \fIofboot\fR script could be
specified there.
.SH BUGS
.B Ybin
should be able to take care of OpenFirmware variables as needed on IBM
hardware.
.SH AUTHORS
.B ybin
and this man page was written by Ethan Benson.
.br
.B yaboot
was written by Benjamin Herrenschmidt.
.SH REPORTING BUGS
Report bugs to <erbenson@alaska.net>
.SH SEE ALSO
.BR bootstrap (8),
.BR hfsutils (1),
.BR mkofboot (8),
.BR mktemp (1),
.BR nvsetenv (8),
.BR ofpath (8),
.BR yaboot (8),
.BR yaboot.conf (5),