Blame SOURCES/0057-Update-grubby-man-page-contents-bz1232168.patch

11b490
From ffc9203275b76bbc4d721b54157f68bfec5e1a2d Mon Sep 17 00:00:00 2001
11b490
From: Robert Marshall <rmarshall@redhat.com>
11b490
Date: Fri, 1 Jul 2016 15:18:07 -0400
11b490
Subject: [PATCH 57/60] Update grubby man page contents (#bz1232168)
11b490
11b490
The grubby man page was missing several options that were added in
11b490
previous releases. Added those to the man page as well as updated the
11b490
text on others to provide further clarity.
11b490
11b490
Added an EXAMPLE section containing some basic use cases.
11b490
11b490
Resolves: rhbz#1232168
11b490
---
11b490
 grubby.8 | 208 ++++++++++++++++++++++++++++++++++++++++++++++++++-------------
11b490
 1 file changed, 165 insertions(+), 43 deletions(-)
11b490
11b490
diff --git a/grubby.8 b/grubby.8
11b490
index 005a6c2..5e1b521 100644
11b490
--- a/grubby.8
11b490
+++ b/grubby.8
11b490
@@ -2,50 +2,69 @@
11b490
 
11b490
 .SH NAME
11b490
 
11b490
-grubby \- command line tool for configuring grub, lilo, elilo, yaboot and zipl
11b490
+grubby \- command line tool used to configure bootloader menu entries across multiple architectures
11b490
 
11b490
 .SH SYNOPSIS
11b490
 
11b490
-\fBgrubby\fR [--add-kernel=\fIkernel-path\fR] [--args=\fIargs\fR]
11b490
-       [--bad-image-okay] [--boot-filesystem=\fIbootfs\fR]
11b490
-       [--bootloader-probe] [--config-file \fIpath\fR] [--copy-default]
11b490
-       [--debug] [--default-kernel] [--default-index] [--default-title]
11b490
-       [--grub] [--lilo] [--yaboot] [--silo] [--zipl]
11b490
-       [--info=\fIkernel-path\fR] [--initrd=\fIinitrd-path\fR]
11b490
-       [--make-default] [-o path] [--version] [--set-index=\fIentry-index\fR]
11b490
-       [--remove-kernel=\fIkernel-path\fR] [--remove-args=\fIargs\fR]
11b490
-       [--set-default=\fIkernel-path\fR] [--set-default-index=\fIentry-index\fR]
11b490
-       [--title=entry-title] [--add-multiboot=\fImultiboot-path\fR]
11b490
-       [--mbargs=\fIargs\fR] [--remove-multiboot=\fImultiboot-path\fR]
11b490
-       [--remove-mbargs=\fIargs\fR]
11b490
+\fBgrubby\fR [\fIOPTIONS...\fR]
11b490
 
11b490
 .SH DESCRIPTION
11b490
 
11b490
 .SS General Information
11b490
 
11b490
 \fBgrubby\fR is a command line tool for updating and displaying information
11b490
-about the configuration files for the \fBgrub\fR, \fBlilo\fR, \fBelilo\fR
11b490
-(ia64), \fByaboot\fR (powerpc) and \fBzipl\fR (s390) boot loaders. It
11b490
-is primarily designed to be used from scripts which install new
11b490
-kernels and need to find information about the current boot environment.
11b490
+about the configuration files for various architecture specific bootloaders.
11b490
+It is primarily designed to be used from scripts which install new kernels
11b490
+and need to find information about the current boot environment.
11b490
 
11b490
 .SS Architecture Support
11b490
 
11b490
-On BIOS-based Intel x86 platforms, \fBgrub2\fR is the default bootloader and
11b490
-the configuration file is in \fB/boot/grub2/grub.cfg\fR.  On UEFI-based Intel
11b490
-x86 platforms, \fBgrub2\fR is the default bootloader, and the configuration
11b490
-file is in \fB/boot/efi/EFI/redhat/grub.cfg\fR.  On Intel ia64 platforms,
11b490
-\fBelilo\fR mode is used and the default location for the configuration file
11b490
-is \fB/boot/efi/EFI/redhat/elilo.conf\fR. On PowerPC platforms, systems based
11b490
-on Power8 now support \fBgrub2\fR as a bootloader and store using a default
11b490
-config stored in \fB/boot/grub2/grub.cfg\fR. The earlier Power7 systems use \fByaboot\fR
11b490
-parsing and the configuration file should be in \fB/etc/yaboot.conf\fR.  On
11b490
-s390 platforms the \fBzipl bootloader\fR will read from \fB/etc/zipl.conf\fR.
11b490
+The \fBgrubby\fR executable has full support for the \fBgrub2\fR
11b490
+bootloader on \fBx86_64\fR systems using legacy BIOS or modern
11b490
+UEFI firmware and \fBppc64\fR and \fBppc64le\fR hardware using
11b490
+OPAL or SLOF as firmware.
11b490
+
11b490
+Legacy \fBs390\fR and the current \fBs390x\fR architectures
11b490
+and their \fBzipl\fR bootloader are fully supported.
11b490
+
11b490
+Support for \fByaboot\fR has been deprecated as all ppc architecture
11b490
+hardware since the Power8 system uses \fBgrub2\fR or petitboot
11b490
+which both use the grub2 configuration file format.
11b490
+
11b490
+Legacy bootloaders \fBLILO\fR, \fBSILO\fR, and \fBELILO\fR
11b490
+are deprecated in favor of previously mentioned bootloaders. The
11b490
+\fBSILO\fR bootloader should also be considered unsupported.
11b490
+
11b490
+.SS Default Behavior
11b490
+
11b490
+The default architecture is chosen at compile time. The grubby executable
11b490
+has a series of built in assumptions about what bootloader is being used and
11b490
+where its configuration file lives. If no output format option is specified
11b490
+on the command line then grubby will use these default settings to first
11b490
+search for an existing configuration and, if it is not found, assume that
11b490
+it should be placed in the standard location. These default assumptions are
11b490
+listed in the table below.
11b490
+
11b490
+.TS
11b490
+allbox;
11b490
+lbw6 lbw10 lbw18
11b490
+l l l.
11b490
+ Arch	Bootloader	Configuration File
11b490
+ x86_64 [BIOS]	grub2	/boot/grub2/grub.cfg
11b490
+ x86_64 [UEFI]	grub2	/boot/efi/EFI/redhat/grub.cfg
11b490
+ i386	grub2	/boot/grub2/grub.cfg
11b490
+ ia64	elilo	/boot/efi/EFI/redhat/elilo.conf
11b490
+ ppc [>=Power8]	grub2	/boot/grub2/grub.cfg
11b490
+ ppc [<=Power7]	yaboot	/etc/yaboot.conf
11b490
+ s390	zipl	/etc/zipl.conf
11b490
+ s390x	zipl	/etc/zipl.conf
11b490
+.TE
11b490
+
11b490
 
11b490
 .SS Special Arguments
11b490
 
11b490
 There are a number of ways to specify the kernel used for \fB-\-info\fR,
11b490
-\fB-\-remove-kernel\fR, and \fB-\-update-kernel\fR. Specificying \fBDEFAULT\fR
11b490
+\fB-\-remove-kernel\fR, and \fB-\-update-kernel\fR. Specifying \fBDEFAULT\fR
11b490
 or \fBALL\fR selects the default entry and all of the entries, respectively.
11b490
 If a comma separated list of numbers is given, the boot entries indexed
11b490
 by those numbers are selected. Finally, the title of a boot entry may
11b490
@@ -58,12 +77,17 @@ with that title are used.
11b490
 
11b490
 .TP
11b490
 \fB-\-add-kernel\fR=\fIkernel-path\fR
11b490
-Add a new boot entry for the kernel located at \fIkernel-path\fR.
11b490
+Add a new boot entry for the kernel located at \fIkernel-path\fR. A title for
11b490
+the boot entry must be set using \fB-\-title\fR. Most invocations should also
11b490
+include \fB-\-initrd\fR with memtest86 as a notable exception.
11b490
+
11b490
+The \fB-\-update-kernel\fR
11b490
+option may not be used in the same invocation. 
11b490
 
11b490
 .TP
11b490
 \fB-\-remove-kernel\fR=\fIkernel-path\fR
11b490
 Removes all boot entries which match \fIkernel-path\fR. This may be used
11b490
-along with -\-add-kernel, in which case the new kernel being added will
11b490
+along with \fB-\-add-kernel\fR, in which case the new kernel being added will
11b490
 never be removed.
11b490
 
11b490
 .TP
11b490
@@ -110,13 +134,18 @@ Use \fIinitrd-path\fR as the path to an initial ram disk for a new kernel
11b490
 being added.
11b490
 
11b490
 .TP
11b490
+\fB-\-efi\fR
11b490
+Use linuxefi and initrdefi when constructing bootloader stanzas instead of linux and initrd.
11b490
+
11b490
+.TP
11b490
 \fB-\-set-default\fR=\fIkernel-path\fR
11b490
 The first entry which boots the specified kernel is made the default
11b490
-boot entry.
11b490
+boot entry. This may not be invoked with \fB-\-set-default-index\fR.
11b490
 
11b490
 .TP
11b490
 \fB-\-set-default-index\fR=\fIentry-index\fR
11b490
-Makes the given entry number the default boot entry.
11b490
+Makes the given entry number the default boot entry. This may not
11b490
+be invoked with \fB-\-set-default\fR.
11b490
 
11b490
 .TP
11b490
 \fB-\-make-default\fR
11b490
@@ -130,8 +159,17 @@ Set the position at which to add a new entry created with \fB-\-add-kernel\fR.
11b490
 \fB-\-debug\fR
11b490
 Display extra debugging information for failures.
11b490
 
11b490
+.TP
11b490
+\fB-i\fR, \fB-\-extra-initrd\fR=\fIinitrd-path\fR
11b490
+Use \fIinitrd-path\fR as the path for an auxiliary initrd image.
11b490
+
11b490
 .SS Display Options
11b490
 
11b490
+Passing the display option to grubby will cause it to print out the
11b490
+requested information about the current bootloader configuration and
11b490
+then immediately exit.  These options should not be used in any
11b490
+script intended to update the bootloader configuration.
11b490
+
11b490
 .TP
11b490
 \fB-\-default-kernel\fR
11b490
 Display the full path to the current default kernel and exit.
11b490
@@ -158,34 +196,56 @@ for \fBgrub\fR requires a commented out boot directive \fBgrub.conf\fR
11b490
 identical to the standard directive in the lilo configuration file. If this
11b490
 is not present \fBgrubby\fR will assume grub is not installed (note
11b490
 that \fBanaconda\fR places this directive in \fBgrub.conf\fR files it creates).
11b490
-This option is only available on ia32 platforms.
11b490
+
11b490
+\fIThis option is only available on i386 platforms.\fR
11b490
 
11b490
 .TP
11b490
-\fB-\-version\fR
11b490
+\fB-v\fR, \fB-\-version\fR
11b490
 Display the version of \fBgrubby\fR being run and then exit immediately.
11b490
 
11b490
 .SS Output Format Options
11b490
 
11b490
+Sane default options for the current platform are compiled into grubby on
11b490
+a per platform basis. These defaults determine the format and layout of
11b490
+the generated bootloader configuration file. A different configuration file
11b490
+format may be specified on the command line if the system uses a supported
11b490
+alternative bootloader.
11b490
+
11b490
 .TP
11b490
 \fB-\-elilo\fR
11b490
-Use an \fBelilo\fR style configuration file.
11b490
+Use an \fBelilo\fR style configuration file. This is the default on ia64 platforms. This format is deprecated.
11b490
+
11b490
+.TP
11b490
+\fB-\-extlinux\fR
11b490
+Use an \fBextlinux\fR style configuration file. This format is deprecated.
11b490
 
11b490
 .TP
11b490
 \fB-\-grub\fR
11b490
-Use a \fBgrub\fR style configuration file instead of \fBlilo\fR style. This
11b490
-is the default on ia32 platforms.
11b490
+Use a \fBgrub\fR style configuration file. This is the default on ia32 platforms.
11b490
+
11b490
+.TP
11b490
+\fB-\-grub2\fR
11b490
+Use a \fBgrub2\fR style configuration file. This is the default on \fBx86_64\fR
11b490
+architecture as well as the \fBppc64\fR and \fBppc64le\fR architectures
11b490
+running on Power8 or later hardware.
11b490
 
11b490
 .TP
11b490
 \fB-\-lilo\fR
11b490
 Use a \fBlilo\fR style configuration file.
11b490
 
11b490
 .TP
11b490
+\fB-\-silo\fR
11b490
+Use a \fBsilo\fR style configuration file. This is the default on SPARC systems. This format is legacy, deprecated, and unsupported.
11b490
+
11b490
+.TP
11b490
 \fB-\-yaboot\fR
11b490
-Use an \fByaboot\fR style configuration file.
11b490
+Use a \fByaboot\fR style configuration file. This is the default for
11b490
+the \fBppc\fR architecture on on Power7 and earlier hardware.
11b490
 
11b490
 .TP
11b490
 \fB-\-zipl\fR
11b490
-Use an \fBzipl\fR style configuration file.
11b490
+Use a \fBzipl\fR style configuration file. This is the default on the
11b490
+legacy s390 and current s390x architectures.
11b490
 
11b490
 .SS Override Options
11b490
 
11b490
@@ -199,7 +259,7 @@ that behavior, and is designed primarily for testing.
11b490
 
11b490
 .TP
11b490
 \fB-\-boot-filesystem\fR=\fIbootfs\fR
11b490
-The \fBgrub\fR boot loader expects file paths listed in it's configuration
11b490
+The \fBgrub\fR boot loader expects file paths listed in its configuration
11b490
 path to be relative to the top of the filesystem they are on, rather then
11b490
 relative to the current root filesystem. By default \fBgrubby\fR searches
11b490
 the list of currently mounted filesystems to determine this. If this option
11b490
@@ -207,19 +267,28 @@ is given \fBgrubby\fR acts as if the specified filesystem was the filesystem
11b490
 containing the kernel (this option is designed primarily for testing).
11b490
 
11b490
 .TP
11b490
-\fB-\-config-file\fR=\fIpath\fR
11b490
+\fB-\-env\fR=\fIpath\fR
11b490
+Path for the file where grub environment data is stored.
11b490
+
11b490
+.TP
11b490
+\fB-c\fR, \fB-\-config-file\fR=\fIpath\fR
11b490
 Use \fIpath\fR as the configuration file rather then the default.
11b490
 
11b490
+.TP
11b490
+\fB-o\fR, \fB-\-output-file\fR=\fIfile_path\fR
11b490
+The destination path for the updated configuration file. Use "-" to
11b490
+send it to stdout.
11b490
+
11b490
 .SS Multiboot Options
11b490
 
11b490
-The Multiboot Specification provides a genreic interface for boot
11b490
+The Multiboot Specification provides a generic interface for boot
11b490
 loaders and operating systems.  It is supported by the GRUB bootloader.
11b490
 
11b490
 .TP
11b490
 \fB-\-add-multiboot\fR=\fImultiboot-path\fR
11b490
 Add a new boot entry for the multiboot kernel located at
11b490
 \fImultiboot-path\fR.  Note that this is generally accompanied with a
11b490
-\fI--add-kernel\fR option.
11b490
+\fB--add-kernel\fR option.
11b490
 
11b490
 .TP
11b490
 \fB-\-remove-multiboot\fR=\fImultiboot-path\fR
11b490
@@ -244,11 +313,63 @@ The command line syntax is more than a little baroque. This probably
11b490
 won't be fixed as \fBgrubby\fR is only intended to be called from shell
11b490
 scripts which can get it right.
11b490
 
11b490
+.SH EXAMPLE
11b490
+
11b490
+The following examples assume the following:
11b490
+
11b490
+.TS
11b490
+allbox;
11b490
+rbw15 l.
11b490
+cfg_file	Full path to bootloader config file
11b490
+new_kernel	Full path to kernel image to be installed
11b490
+old_kernel	Full path to old kernel image to be removed
11b490
+current_kernel	Full path to a currently installed kernel
11b490
+entry_title	Title that appears on bootloader menu
11b490
+new_initrd	Full path to initrd for a new kernel
11b490
+kernel_args	Set of arguments for the kernel
11b490
+menu_index	Index number of a menu entry
11b490
+.TE
11b490
+
11b490
+The examples below quote strings that may have spaces or other whitespace in them. It is also
11b490
+perfectly valid to backslash escape these strings if that is more convenient.
11b490
+
11b490
+.PP
11b490
+Add a new kernel entry and copy all options from the current default kernel. This is the behavior
11b490
+that most users will want.
11b490
+.IP
11b490
+\fBgrubby\fR --add-kernel=\fInew_kernel\fR --title="\fIentry_title\fR" --initrd="\fInew_initrd\fR" --copy-default
11b490
+.PP
11b490
+Add a new kernel entry with custom arguments
11b490
+.IP
11b490
+\fBgrubby\fR --add-kernel=\fInew_kernel\fR --title="\fIentry_title\fR" --initrd="\fInew_initrd\fR" --args=\fIkernel_args\fR
11b490
+.PP
11b490
+Remove \fBall menu entries\fR for a specified kernel.
11b490
+.IP
11b490
+\fBgrubby\fR --remove-kernel=\fIold_kernel\fR
11b490
+.PP
11b490
+Target a single menu entry to remove without targetting other entries with the same kernel.
11b490
+.IP
11b490
+\fBgrubby\fR --info=\fIold_kernel\fR
11b490
+
11b490
+\fBgrubby\fR --remove-kernel=\fImenu_index\fR
11b490
+.PP
11b490
+Update the arguments for all entries of a specific kernel. New arguments get added while existing arguments get updated values.
11b490
+.IP
11b490
+\fBgrubby\fR --update-kernel=\fIcurrent_kernel\fR --args="\fIkernel_args\fR"
11b490
+.PP
11b490
+Remove the arguments for a single entry of a specific kernel.
11b490
+.IP
11b490
+\fBgrubby\fR --info=\fIcurrent_kernel\fR
11b490
+
11b490
+\fBgrubby\fR --remove-args=\fImenu_index\fR --args="\fIkernel_args\fR"
11b490
+
11b490
 .SH "SEE ALSO"
11b490
 
11b490
 .BR grub (8),
11b490
 .BR lilo (8),
11b490
 .BR yaboot (8),
11b490
+.BR zipl (8),
11b490
+.BR dracut (8),
11b490
 .BR mkinitrd (8)
11b490
 
11b490
 .SH AUTHORS
11b490
@@ -257,4 +378,5 @@ scripts which can get it right.
11b490
 Erik Troan
11b490
 Jeremy Katz
11b490
 Peter Jones
11b490
+Robert Marshall
11b490
 .fi
11b490
-- 
11b490
2.5.5
11b490