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

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