All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] Various docs improvements
@ 2022-05-12  2:56 Glenn Washburn
  2022-05-12  2:56 ` [PATCH 1/7] docs: Fix spelling typo and remove unnecessary spaces Glenn Washburn
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Glenn Washburn @ 2022-05-12  2:56 UTC (permalink / raw)
  To: grub-devel, Daniel Kiper; +Cc: Glenn Washburn

The first 4 patches need no explanation. The 5th patch creates a new section
just for loader commands and moves loader commands to that section from the
general commands section. Patch #6 adds an itemized list of currently
under-documented loader commands to the text part of the loader command
section. And patch #7 adds a new section for undocumented commands and
contains an itemized list of undocumented commands (now minimally documented!)

These two lists of undocumented commands was partially generated by grepping
for command registration in the source and pulling out the registered command
name and help string. The hope is that these two lists will make it easier for
non-programmers (or anyone) to contribute to GRUB by choosing a command to
flesh out. Also, I wanted this list so that I have a way to quickly see all
the available commands to choose potentially interesting ones for use. So
far I've found some commands that I didn't know existed.

I don't particularly like how patch #6 renders to html, with the justification
of the two itemized lists (one of the undocumented loader commands and the
other the documented loader commands) being different. I'm open to suggestiong
on how this might be improved.

Glenn

Glenn Washburn (7):
  docs: Fix spelling typo and remove unnecessary spaces
  docs: Make note that sendkey is only available on i386-pc
  docs: Make note of i386-pc specific usage of halt command
  docs: Markup loader commands with @command tag
  docs: Create command section for loader commands
  docs: Add under documented loader commands to beginning of loader
    section
  docs: Add section for general undocumented commands

 docs/grub-dev.texi |  10 +-
 docs/grub.texi     | 376 +++++++++++++++++++++++++++++++--------------
 2 files changed, 269 insertions(+), 117 deletions(-)

-- 
2.34.1



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 1/7] docs: Fix spelling typo and remove unnecessary spaces
  2022-05-12  2:56 [PATCH 0/7] Various docs improvements Glenn Washburn
@ 2022-05-12  2:56 ` Glenn Washburn
  2022-05-12  2:56 ` [PATCH 2/7] docs: Make note that sendkey is only available on i386-pc Glenn Washburn
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Glenn Washburn @ 2022-05-12  2:56 UTC (permalink / raw)
  To: grub-devel, Daniel Kiper; +Cc: Glenn Washburn

Signed-off-by: Glenn Washburn <development@efficientek.com>
---
 docs/grub-dev.texi | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/docs/grub-dev.texi b/docs/grub-dev.texi
index 617e155a0..47a8e3826 100644
--- a/docs/grub-dev.texi
+++ b/docs/grub-dev.texi
@@ -967,13 +967,13 @@ If it works next stage is to have heap, console and timer.
 
 To have the heap working you need to determine which regions are suitable for
 heap usage, allocate them from firmware and map (if applicable). Then call
-grub_mm_init_region (vois *start, grub_size_t s) for every of this region.
+grub_mm_init_region (void *start, grub_size_t s) for every of this region.
 As a shortcut for early port you can allocate right after _end or have
 a big static array for heap. If you do you'll probably need to come back to
 this later. As for output console you should distinguish between an array of
 text, terminfo or graphics-based console. Many of real-world examples don't
 fit perfectly into any of these categories but one of the models is easier
-to be used as base. In second and third case you should add your platform to 
+to be used as base. In second and third case you should add your platform to
 terminfokernel respectively videoinkernel group. A good example of array of
 text is i386-pc (kern/i386/pc/init.c and term/i386/pc/console.c).
 Of terminfo is ieee1275 (kern/ieee1275/init.c and term/ieee1275/console.c).
@@ -1930,7 +1930,7 @@ use in GRUB at this time:
 @item BDF 
 Inefficient storage; uses ASCII to describe properties and 
 hexadecimal numbers in ASCII for the bitmap rows.
-@item PCF  
+@item PCF
 Many format variations such as byte order and bitmap padding (rows
 padded to byte, word, etc.) would result in more complex code to
 handle the font format.
@@ -2051,8 +2051,8 @@ bit in the byte.  For the sake of compact storage, rows are not padded
 to byte boundaries (i.e., a single byte may contain bits belonging to
 multiple rows).  The last byte of the bitmap @strong{is} padded with zero
 bits in the bits positions to the right of the last used bit if the
-bitmap data does not fill the last byte.  
-         
+bitmap data does not fill the last byte.
+
 The length of the @strong{bitmap data} field is (@var{width} * @var{height} + 7) / 8
 using integer arithmetic, which is equivalent to ceil(@var{width} *
 @var{height} / 8) using real number arithmetic.
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/7] docs: Make note that sendkey is only available on i386-pc
  2022-05-12  2:56 [PATCH 0/7] Various docs improvements Glenn Washburn
  2022-05-12  2:56 ` [PATCH 1/7] docs: Fix spelling typo and remove unnecessary spaces Glenn Washburn
@ 2022-05-12  2:56 ` Glenn Washburn
  2022-05-12  2:56 ` [PATCH 3/7] docs: Make note of i386-pc specific usage of halt command Glenn Washburn
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Glenn Washburn @ 2022-05-12  2:56 UTC (permalink / raw)
  To: grub-devel, Daniel Kiper; +Cc: Glenn Washburn

Signed-off-by: Glenn Washburn <development@efficientek.com>
---
 docs/grub.texi | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/docs/grub.texi b/docs/grub.texi
index 11c66160e..c5310fdec 100644
--- a/docs/grub.texi
+++ b/docs/grub.texi
@@ -5103,7 +5103,9 @@ Insert keystrokes into the keyboard buffer when booting.  Sometimes an
 operating system or chainloaded boot loader requires particular keys to be
 pressed: for example, one might need to press a particular key to enter
 "safe mode", or when chainloading another boot loader one might send
-keystrokes to it to navigate its menu.  
+keystrokes to it to navigate its menu.
+
+Note: This command is currently only available on the i386-pc target.
 
 You may provide up to 16 keystrokes (the length of the BIOS keyboard
 buffer).  Keystroke names may be upper-case or lower-case letters, digits,
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 3/7] docs: Make note of i386-pc specific usage of halt command
  2022-05-12  2:56 [PATCH 0/7] Various docs improvements Glenn Washburn
  2022-05-12  2:56 ` [PATCH 1/7] docs: Fix spelling typo and remove unnecessary spaces Glenn Washburn
  2022-05-12  2:56 ` [PATCH 2/7] docs: Make note that sendkey is only available on i386-pc Glenn Washburn
@ 2022-05-12  2:56 ` Glenn Washburn
  2022-05-12  2:56 ` [PATCH 4/7] docs: Markup loader commands with @command tag Glenn Washburn
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Glenn Washburn @ 2022-05-12  2:56 UTC (permalink / raw)
  To: grub-devel, Daniel Kiper; +Cc: Glenn Washburn

The --no-apm option is only available on the i396-pc target.

Signed-off-by: Glenn Washburn <development@efficientek.com>
---
 docs/grub.texi | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/docs/grub.texi b/docs/grub.texi
index c5310fdec..e003be7ca 100644
--- a/docs/grub.texi
+++ b/docs/grub.texi
@@ -4567,10 +4567,10 @@ type are omitted, then the partition will be inactive.
 @node halt
 @subsection halt
 
-@deffn Command halt @option{--no-apm}
-The command halts the computer. If the @option{--no-apm} option
-is specified, no APM BIOS call is performed. Otherwise, the computer
-is shut down using APM.
+@deffn Command halt [@option{--no-apm}[
+The command halts the computer. On the i386-pc target, the @option{--no-apm}
+option, or short @option{-n}, is specified, no APM BIOS call is performed.
+Otherwise, the computer is shut down using APM on that target.
 @end deffn
 
 
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 4/7] docs: Markup loader commands with @command tag
  2022-05-12  2:56 [PATCH 0/7] Various docs improvements Glenn Washburn
                   ` (2 preceding siblings ...)
  2022-05-12  2:56 ` [PATCH 3/7] docs: Make note of i386-pc specific usage of halt command Glenn Washburn
@ 2022-05-12  2:56 ` Glenn Washburn
  2022-05-12  2:56 ` [PATCH 5/7] docs: Create command section for loader commands Glenn Washburn
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Glenn Washburn @ 2022-05-12  2:56 UTC (permalink / raw)
  To: grub-devel, Daniel Kiper; +Cc: Glenn Washburn

Also, add period to terminate sentence.

Signed-off-by: Glenn Washburn <development@efficientek.com>
---
 docs/grub.texi | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/docs/grub.texi b/docs/grub.texi
index e003be7ca..d96f08722 100644
--- a/docs/grub.texi
+++ b/docs/grub.texi
@@ -1005,13 +1005,14 @@ kopenbsd payload this is disabled by default. Aditionally behaviour of
 initial ramdisk depends on command line options. Several distributors provide
 the image for this purpose or it's integrated in their standard ramdisk and
 activated by special option. Consult your kernel and distribution manual for
-more details. Other loaders like appleloader, chainloader (BIOS, EFI, coreboot),
-freedos, ntldr and plan9 provide no possibility of loading initial ramdisk and
+more details. Other loaders like @command{appleloader}, @command{chainloader}
+(BIOS, EFI, coreboot), @command{freedos}, @command{ntldr}, @command{plan9}
+and @command{truecrypt} provide no possibility of loading initial ramdisk and
 as far as author is aware the payloads in question don't support either initial
 ramdisk or discovering loopback boot in other way and as such not bootable this
 way. Please consider alternative boot methods like copying all files
 from the image to actual partition. Consult your OS documentation for
-more details
+more details.
 
 @node LVM cache booting
 @section Booting from LVM cache logical volume
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 5/7] docs: Create command section for loader commands
  2022-05-12  2:56 [PATCH 0/7] Various docs improvements Glenn Washburn
                   ` (3 preceding siblings ...)
  2022-05-12  2:56 ` [PATCH 4/7] docs: Markup loader commands with @command tag Glenn Washburn
@ 2022-05-12  2:56 ` Glenn Washburn
  2022-05-12  2:56 ` [PATCH 6/7] docs: Add under documented loader commands to beginning of loader section Glenn Washburn
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Glenn Washburn @ 2022-05-12  2:56 UTC (permalink / raw)
  To: grub-devel, Daniel Kiper; +Cc: Glenn Washburn

Move loader commands documented in the general commands list into the
loader command section.

Signed-off-by: Glenn Washburn <development@efficientek.com>
---
 docs/grub.texi | 220 ++++++++++++++++++++++++++-----------------------
 1 file changed, 116 insertions(+), 104 deletions(-)

diff --git a/docs/grub.texi b/docs/grub.texi
index d96f08722..eea575e0c 100644
--- a/docs/grub.texi
+++ b/docs/grub.texi
@@ -3830,6 +3830,7 @@ shell}.
 
 @menu
 * Menu-specific commands::
+* Loader commands::
 * General commands::
 * Command-line and menu entry commands::
 * Networking commands::
@@ -3917,6 +3918,121 @@ All options are the same as in the @command{menuentry} command
 @end deffn
 
 
+@node Loader commands
+@section The list of various loader commands
+
+These commands are used to load necessary components to boot desired OS.
+
+@menu
+* chainloader::                 Chain-load another boot loader
+* initrd::                      Load a Linux initrd
+* initrd16::                    Load a Linux initrd (16-bit mode)
+* linux::                       Load a Linux kernel
+* linux16::                     Load a Linux kernel (16-bit mode)
+@comment * xen_*::              Xen boot commands for AArch64
+* xen_hypervisor::              Load xen hypervisor binary (only on AArch64)
+* xen_module::                  Load xen modules for xen hypervisor (only on AArch64)
+@end menu
+
+
+@node chainloader
+@subsection chainloader
+
+@deffn Command chainloader [@option{--force}] file
+Load @var{file} as a chain-loader. Like any other file loaded by the
+filesystem code, it can use the blocklist notation (@pxref{Block list
+syntax}) to grab the first sector of the current partition with @samp{+1}.
+If you specify the option @option{--force}, then load @var{file} forcibly,
+whether it has a correct signature or not. This is required when you want to
+load a defective boot loader, such as SCO UnixWare 7.1.
+@end deffn
+
+
+@node initrd
+@subsection initrd
+
+@deffn Command initrd file [file @dots{}]
+Load, in order, all initial ramdisks for a Linux kernel image, and set
+the appropriate parameters in the Linux setup area in memory.  This may only
+be used after the @command{linux} command (@pxref{linux}) has been run.  See
+also @ref{GNU/Linux}.
+@end deffn
+
+
+@node initrd16
+@subsection initrd16
+
+@deffn Command initrd16 file [file @dots{}]
+Load, in order, all initial ramdisks for a Linux kernel image to be booted in
+16-bit mode, and set the appropriate parameters in the Linux setup area in
+memory.  This may only be used after the @command{linux16} command
+(@pxref{linux16}) has been run.  See also @ref{GNU/Linux}.
+
+This command is only available on x86 systems.
+@end deffn
+
+
+@node linux
+@subsection linux
+
+@deffn Command linux file @dots{}
+Load a Linux kernel image from @var{file}.  The rest of the line is passed
+verbatim as the @dfn{kernel command-line}.  Any initrd must be reloaded
+after using this command (@pxref{initrd}).
+
+On x86 systems, the kernel will be booted using the 32-bit boot protocol.
+Note that this means that the @samp{vga=} boot option will not work; if you
+want to set a special video mode, you will need to use GRUB commands such as
+@samp{set gfxpayload=1024x768} or @samp{set gfxpayload=keep} (to keep the
+same mode as used in GRUB) instead.  GRUB can automatically detect some uses
+of @samp{vga=} and translate them to appropriate settings of
+@samp{gfxpayload}.  The @command{linux16} command (@pxref{linux16}) avoids
+this restriction.
+@end deffn
+
+
+@node linux16
+@subsection linux16
+
+@deffn Command linux16 file @dots{}
+Load a Linux kernel image from @var{file} in 16-bit mode.  The rest of the
+line is passed verbatim as the @dfn{kernel command-line}.  Any initrd must
+be reloaded after using this command (@pxref{initrd16}).
+
+The kernel will be booted using the traditional 16-bit boot protocol.  As
+well as bypassing problems with @samp{vga=} described in @ref{linux}, this
+permits booting some other programs that implement the Linux boot protocol
+for the sake of convenience.
+
+This command is only available on x86 systems.
+@end deffn
+
+
+@node xen_hypervisor
+@subsection xen_hypervisor
+
+@deffn Command xen_hypervisor file  [arguments] @dots{}
+Load a Xen hypervisor binary from @var{file}. The rest of the line is passed
+verbatim as the @dfn{kernel command-line}. Any other binaries must be
+reloaded after using this command.
+This command is only available on AArch64 systems.
+@end deffn
+
+
+@node xen_module
+@subsection xen_module
+
+@deffn Command xen_module [--nounzip] file [arguments]
+Load a module for xen hypervisor at the booting process of xen.
+The rest of the line is passed verbatim as the module command line.
+Modules should be loaded in the following order:
+ - dom0 kernel image
+ - dom0 ramdisk if present
+ - XSM policy if present
+This command is only available on AArch64 systems.
+@end deffn
+
+
 @node General commands
 @section The list of general commands
 
@@ -4034,7 +4150,6 @@ you forget a command, you can run the command @command{help}
 * blocklist::                   Print a block list
 * boot::                        Start up your operating system
 * cat::                         Show the contents of a file
-* chainloader::                 Chain-load another boot loader
 * clear::                       Clear the screen
 * cmosclean::                   Clear bit in CMOS
 * cmosdump::                    Dump CMOS contents
@@ -4058,12 +4173,8 @@ you forget a command, you can run the command @command{help}
 * halt::                        Shut down your computer
 * hashsum::                     Compute or check hash checksum
 * help::                        Show help messages
-* initrd::                      Load a Linux initrd
-* initrd16::                    Load a Linux initrd (16-bit mode)
 * insmod::                      Insert a module
 * keystatus::                   Check key modifier status
-* linux::                       Load a Linux kernel
-* linux16::                     Load a Linux kernel (16-bit mode)
 * list_env::                    List variables in environment block
 * list_trusted::                List trusted public keys
 * load_env::                    Load variables from environment block
@@ -4105,10 +4216,7 @@ you forget a command, you can run the command @command{help}
 @comment * vbeinfo::                     List available video modes
 * verify_detached::             Verify detached digital signature
 * videoinfo::                   List available video modes
-@comment * xen_*::              Xen boot commands for AArch64
 * wrmsr::                       Write values to model-specific registers
-* xen_hypervisor::              Load xen hypervisor binary (only on AArch64)
-* xen_module::                  Load xen modules for xen hypervisor (only on AArch64)
 @end menu
 
 
@@ -4246,19 +4354,6 @@ endings.
 @end deffn
 
 
-@node chainloader
-@subsection chainloader
-
-@deffn Command chainloader [@option{--force}] file
-Load @var{file} as a chain-loader. Like any other file loaded by the
-filesystem code, it can use the blocklist notation (@pxref{Block list
-syntax}) to grab the first sector of the current partition with @samp{+1}.
-If you specify the option @option{--force}, then load @var{file} forcibly,
-whether it has a correct signature or not. This is required when you want to
-load a defective boot loader, such as SCO UnixWare 7.1.
-@end deffn
-
-
 @node clear
 @subsection clear
 
@@ -4612,30 +4707,6 @@ about each of the commands whose names begin with those @var{patterns}.
 @end deffn
 
 
-@node initrd
-@subsection initrd
-
-@deffn Command initrd file [file @dots{}]
-Load, in order, all initial ramdisks for a Linux kernel image, and set
-the appropriate parameters in the Linux setup area in memory.  This may only
-be used after the @command{linux} command (@pxref{linux}) has been run.  See
-also @ref{GNU/Linux}.
-@end deffn
-
-
-@node initrd16
-@subsection initrd16
-
-@deffn Command initrd16 file [file @dots{}]
-Load, in order, all initial ramdisks for a Linux kernel image to be booted in
-16-bit mode, and set the appropriate parameters in the Linux setup area in
-memory.  This may only be used after the @command{linux16} command
-(@pxref{linux16}) has been run.  See also @ref{GNU/Linux}.
-
-This command is only available on x86 systems.
-@end deffn
-
-
 @node insmod
 @subsection insmod
 
@@ -4658,42 +4729,6 @@ only if checking key modifier status is supported.
 @end deffn
 
 
-@node linux
-@subsection linux
-
-@deffn Command linux file @dots{}
-Load a Linux kernel image from @var{file}.  The rest of the line is passed
-verbatim as the @dfn{kernel command-line}.  Any initrd must be reloaded
-after using this command (@pxref{initrd}).
-
-On x86 systems, the kernel will be booted using the 32-bit boot protocol.
-Note that this means that the @samp{vga=} boot option will not work; if you
-want to set a special video mode, you will need to use GRUB commands such as
-@samp{set gfxpayload=1024x768} or @samp{set gfxpayload=keep} (to keep the
-same mode as used in GRUB) instead.  GRUB can automatically detect some uses
-of @samp{vga=} and translate them to appropriate settings of
-@samp{gfxpayload}.  The @command{linux16} command (@pxref{linux16}) avoids
-this restriction.
-@end deffn
-
-
-@node linux16
-@subsection linux16
-
-@deffn Command linux16 file @dots{}
-Load a Linux kernel image from @var{file} in 16-bit mode.  The rest of the
-line is passed verbatim as the @dfn{kernel command-line}.  Any initrd must
-be reloaded after using this command (@pxref{initrd16}).
-
-The kernel will be booted using the traditional 16-bit boot protocol.  As
-well as bypassing problems with @samp{vga=} described in @ref{linux}, this
-permits booting some other programs that implement the Linux boot protocol
-for the sake of convenience.
-
-This command is only available on x86 systems.
-@end deffn
-
-
 @node list_env
 @subsection list_env
 
@@ -5532,29 +5567,6 @@ Note: The command is not allowed when lockdown is enforced (@pxref{Lockdown}).
       This is done to prevent subverting various security mechanisms.
 @end deffn
 
-@node xen_hypervisor
-@subsection xen_hypervisor
-
-@deffn Command xen_hypervisor file  [arguments] @dots{}
-Load a Xen hypervisor binary from @var{file}. The rest of the line is passed
-verbatim as the @dfn{kernel command-line}. Any other binaries must be
-reloaded after using this command.
-This command is only available on AArch64 systems.
-@end deffn
-
-@node xen_module
-@subsection xen_module
-
-@deffn Command xen_module [--nounzip] file [arguments]
-Load a module for xen hypervisor at the booting process of xen.
-The rest of the line is passed verbatim as the module command line.
-Modules should be loaded in the following order:
- - dom0 kernel image
- - dom0 ramdisk if present
- - XSM policy if present
-This command is only available on AArch64 systems.
-@end deffn
-
 @node Networking commands
 @section The list of networking commands
 
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 6/7] docs: Add under documented loader commands to beginning of loader section
  2022-05-12  2:56 [PATCH 0/7] Various docs improvements Glenn Washburn
                   ` (4 preceding siblings ...)
  2022-05-12  2:56 ` [PATCH 5/7] docs: Create command section for loader commands Glenn Washburn
@ 2022-05-12  2:56 ` Glenn Washburn
  2022-05-12  2:56 ` [PATCH 7/7] docs: Add section for general undocumented commands Glenn Washburn
  2022-05-19 18:43 ` [PATCH 0/7] Various docs improvements Daniel Kiper
  7 siblings, 0 replies; 9+ messages in thread
From: Glenn Washburn @ 2022-05-12  2:56 UTC (permalink / raw)
  To: grub-devel, Daniel Kiper; +Cc: Glenn Washburn

Signed-off-by: Glenn Washburn <development@efficientek.com>
---
 docs/grub.texi | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/docs/grub.texi b/docs/grub.texi
index eea575e0c..91512e317 100644
--- a/docs/grub.texi
+++ b/docs/grub.texi
@@ -3922,6 +3922,42 @@ All options are the same as in the @command{menuentry} command
 @section The list of various loader commands
 
 These commands are used to load necessary components to boot desired OS.
+Many of the loader commands are not sufficiently documented. The following is
+a list of commands that could use more documentation:
+
+@itemize @bullet
+@item @command{appleloader} -  Boot BIOS-based system.
+@item @command{freedos} - Load FreeDOS kernel.sys.
+@item @command{kfreebsd_loadenv} - Load FreeBSD env.
+@item @command{kfreebsd_module_elf} - Load FreeBSD kernel module (ELF).
+@item @command{kfreebsd_module} - Load FreeBSD kernel module.
+@item @command{kfreebsd} - Load kernel of FreeBSD.
+@item @command{knetbsd_module_elf} - Load NetBSD kernel module (ELF).
+@item @command{knetbsd_module} - Load NetBSD kernel module.
+@item @command{knetbsd} - Load kernel of NetBSD.
+@item @command{kopenbsd} - Load kernel of OpenBSD.
+@item @command{kopenbsd_ramdisk} -  Load kOpenBSD ramdisk.
+@item @command{legacy_initrd_nounzip} - Simulate grub-legacy `modulenounzip' command
+@item @command{legacy_initrd} - Simulate grub-legacy `initrd' command
+@item @command{legacy_kernel} - Simulate grub-legacy `kernel' command
+@item @command{module2} - Load a multiboot 2 module.
+@item @command{module} - Load a multiboot module.
+@item @command{multiboot2} - Load a multiboot 2 kernel.
+@item @command{multiboot} - Load a multiboot kernel.
+@item @command{ntldr} - Load NTLDR or BootMGR.
+@item @command{plan9} - Load Plan9 kernel.
+@item @command{pxechainloader} - Load a PXE image.
+@item @command{truecrypt} - Load Truecrypt ISO.
+@item @command{xnu_kernel64} - Load 64-bit XNU image.
+@item @command{xnu_kernel} - Load XNU image.
+@item @command{xnu_kextdir} -  Load XNU extension directory.
+@item @command{xnu_kext} - Load XNU extension.
+@item @command{xnu_mkext} - Load XNU extension package.
+@item @command{xnu_ramdisk} -  Load XNU ramdisk. It will be available in OS as md0.
+@item @command{xnu_resume} - Load an image of hibernated XNU.
+@item @command{xnu_splash} - Load a splash image for XNU.
+@end itemize
+
 
 @menu
 * chainloader::                 Chain-load another boot loader
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 7/7] docs: Add section for general undocumented commands
  2022-05-12  2:56 [PATCH 0/7] Various docs improvements Glenn Washburn
                   ` (5 preceding siblings ...)
  2022-05-12  2:56 ` [PATCH 6/7] docs: Add under documented loader commands to beginning of loader section Glenn Washburn
@ 2022-05-12  2:56 ` Glenn Washburn
  2022-05-19 18:43 ` [PATCH 0/7] Various docs improvements Daniel Kiper
  7 siblings, 0 replies; 9+ messages in thread
From: Glenn Washburn @ 2022-05-12  2:56 UTC (permalink / raw)
  To: grub-devel, Daniel Kiper; +Cc: Glenn Washburn

The section is an itemized list of commands that are not listed else where
in the command sections.

Signed-off-by: Glenn Washburn <development@efficientek.com>
---
 docs/grub.texi | 101 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 101 insertions(+)

diff --git a/docs/grub.texi b/docs/grub.texi
index 91512e317..3b5522b0a 100644
--- a/docs/grub.texi
+++ b/docs/grub.texi
@@ -3834,6 +3834,7 @@ shell}.
 * General commands::
 * Command-line and menu entry commands::
 * Networking commands::
+* Undocumented commands::
 @end menu
 
 
@@ -5818,6 +5819,106 @@ net_set_vlan efinet1 0
 @end deffn
 
 
+@node Undocumented commands
+@section The list of commands currently undocumented
+Unfortunately, not all GRUB commands are documented at this time due to
+developer resource constraints. One way to contribute back to the GRUB
+project would be to help document these commands, and submit patches or
+ideas to the mailing list. The following is a (most likely incomplete)
+list of undocumented or poorly documented commands and not all of them
+are allowed for all platforms. Running the command help from within the
+GRUB shell may provide more information on parameters and usage.
+
+@itemize @bullet
+@item @command{all_functional_test} - Run all functional tests.
+@item @command{backtrace} - Print backtrace.
+@item @command{boottime} - Show boot time statistics.
+@item @command{cacheinfo} - Get disk cache info.
+@item @command{cbmemc} - Show CBMEM console content.
+@item @command{cmosset} -  Set bit at BYTE:BIT in CMOS.
+@item @command{coreboot_boottime} - Show coreboot boot time statistics.
+@item @command{dump} - Show memory contents.
+@item @command{efiemu_loadcore} - Load and initialize EFI emulator.
+@item @command{efiemu_prepare} - Finalize loading of EFI emulator.
+@item @command{efiemu_unload} - Unload EFI emulator.
+@item @command{exit} - Exit from GRUB.
+@item @command{extract_entries_configfile} - Load another config file but take only menu entries.
+@item @command{extract_entries_source} - Load another config file without changing context but take only menu entries.
+@item @command{extract_legacy_entries_configfile} - Parse legacy config in new context taking only menu entries
+@item @command{extract_legacy_entries_source} - Parse legacy config in same context taking only menu entries
+@item @command{extract_syslinux_entries_configfile} - Execute syslinux config in new context taking only menu entries
+@item @command{extract_syslinux_entries_source} - Execute syslinux config in same context taking only menu entries
+@item @command{fakebios} - Create BIOS-like structures for backward compatibility with existing OS.
+@item @command{file} - Check if FILE is of specified type.
+@item @command{fix_video} - Fix video problem.
+@item @command{fpswa} - Display FPSWA version.
+@item @command{functional_test} - Run all loaded functional tests.
+@item @command{fwsetup} - Reboot into firmware setup menu.
+@item @command{gdbstub_break} - Break into GDB
+@item @command{gdbstub} -  Start GDB stub on given port
+@item @command{gdbstub_stop} - Stop GDB stub
+@item @command{hdparm} - Get/set ATA disk parameters.
+@item @command{hexdump} - Show raw contents of a file or memory.
+@item @command{hexdump_random} - Hexdump random data.
+@item @command{inb} - Read 8-bit value from PORT.
+@item @command{inl} - Read 32-bit value from PORT.
+@item @command{inw} - Read 16-bit value from PORT.
+@item @command{jpegtest} - Tests loading of JPEG bitmap.
+@item @command{keymap} - Load a keyboard layout.
+@item @command{legacy_check_password} - Simulate grub-legacy `password' command in menu entry mode
+@item @command{legacy_configfile} - Parse legacy config in new context
+@item @command{legacy_password} - Simulate grub-legacy `password' command
+@item @command{legacy_source} -  Parse legacy config in same context
+@item @command{loadbios} - Load BIOS dump.
+@item @command{lsacpi} - Show ACPI information.
+@item @command{lsapm} - Show APM information.
+@item @command{lscoreboot} - List coreboot tables.
+@item @command{lsdev} - List devices.
+@item @command{lsefi} - Display EFI handles.
+@item @command{lsefimmap} - Display EFI memory map.
+@item @command{lsefisystab} - Display EFI system tables.
+@item @command{lsmmap} - List memory map provided by firmware.
+@item @command{lspci} - List PCI devices.
+@item @command{lssal} - Display SAL system table.
+@item @command{lsspd} - Print Memory information.
+@item @command{macppcbless} - Bless DIR of HFS or HFS+ partition for PPC macs.
+@item @command{mactelbless} - Bless FILE of HFS or HFS+ partition for intel macs.
+@item @command{net_set_vlan} - Set an interface's vlan id.
+@item @command{outb} - Write 8-bit VALUE to PORT.
+@item @command{outl} - Write 32-bit VALUE to PORT.
+@item @command{outw} - Write 16-bit VALUE to PORT.
+@item @command{pcidump} - Show raw dump of the PCI configuration space.
+@item @command{pngtest} - Tests loading of PNG bitmap.
+@item @command{read_byte} - Read 8-bit value from ADDR.
+@item @command{read_dword} - Read 32-bit value from ADDR.
+@item @command{read_word} - Read 16-bit value from ADDR.
+@item @command{setpci} - Manipulate PCI devices.
+@item @command{suspend} - Return to IEEE1275 prompt.
+@item @command{syslinux_configfile} - Execute syslinux config in new context
+@item @command{syslinux_source} - Execute syslinux config in same context
+@item @command{test_blockarg} - Print and execute block argument., 0
+@item @command{testload} - Load the same file in multiple ways.
+@item @command{testspeed} - Test file read speed.
+@item @command{tgatest} - Tests loading of TGA bitmap.
+@item @command{time} - Measure time used by COMMAND
+@item @command{tr} - Translate SET1 characters to SET2 in STRING.
+@item @command{usb} - Test USB support.
+@item @command{vbeinfo} - List available video modes. If resolution is given show only modes matching it.
+@item @command{vbetest} - Test video subsystem.
+@item @command{videotest} - Test video subsystem in mode WxH.
+@item @command{write_byte} - Write 8-bit VALUE to ADDR.
+@item @command{write_dword} - Write 32-bit VALUE to ADDR.
+@item @command{write_word} - Write 16-bit VALUE to ADDR.
+@item @command{xen_cat} - List Xen storage.
+@item @command{xen_ls} - List Xen storage.
+@item @command{xnu_devprop_load} - Load `device-properties' dump.
+@item @command{xnu_uuid} - Transform 64-bit UUID to format suitable for XNU. If -l is given keep it lowercase as done by blkid.
+@item @command{zfs-bootfs} - Print ZFS-BOOTFSOBJ or store it into VARIABLE
+@item @command{zfsinfo} - Print ZFS info about DEVICE.
+@item @command{zfskey} - Import ZFS wrapping key stored in FILE.
+@end itemize
+
+
 @node Internationalisation
 @chapter Internationalisation
 
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH 0/7] Various docs improvements
  2022-05-12  2:56 [PATCH 0/7] Various docs improvements Glenn Washburn
                   ` (6 preceding siblings ...)
  2022-05-12  2:56 ` [PATCH 7/7] docs: Add section for general undocumented commands Glenn Washburn
@ 2022-05-19 18:43 ` Daniel Kiper
  7 siblings, 0 replies; 9+ messages in thread
From: Daniel Kiper @ 2022-05-19 18:43 UTC (permalink / raw)
  To: Glenn Washburn; +Cc: grub-devel

On Wed, May 11, 2022 at 09:56:17PM -0500, Glenn Washburn wrote:
> The first 4 patches need no explanation. The 5th patch creates a new section
> just for loader commands and moves loader commands to that section from the
> general commands section. Patch #6 adds an itemized list of currently
> under-documented loader commands to the text part of the loader command
> section. And patch #7 adds a new section for undocumented commands and
> contains an itemized list of undocumented commands (now minimally documented!)
>
> These two lists of undocumented commands was partially generated by grepping
> for command registration in the source and pulling out the registered command
> name and help string. The hope is that these two lists will make it easier for
> non-programmers (or anyone) to contribute to GRUB by choosing a command to
> flesh out. Also, I wanted this list so that I have a way to quickly see all
> the available commands to choose potentially interesting ones for use. So
> far I've found some commands that I didn't know existed.
>
> I don't particularly like how patch #6 renders to html, with the justification
> of the two itemized lists (one of the undocumented loader commands and the
> other the documented loader commands) being different. I'm open to suggestiong
> on how this might be improved.
>
> Glenn
>
> Glenn Washburn (7):
>   docs: Fix spelling typo and remove unnecessary spaces
>   docs: Make note that sendkey is only available on i386-pc
>   docs: Make note of i386-pc specific usage of halt command
>   docs: Markup loader commands with @command tag
>   docs: Create command section for loader commands
>   docs: Add under documented loader commands to beginning of loader
>     section
>   docs: Add section for general undocumented commands

For all the patches Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>...

Thank you for doing this!

Daniel


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-05-19 18:43 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-12  2:56 [PATCH 0/7] Various docs improvements Glenn Washburn
2022-05-12  2:56 ` [PATCH 1/7] docs: Fix spelling typo and remove unnecessary spaces Glenn Washburn
2022-05-12  2:56 ` [PATCH 2/7] docs: Make note that sendkey is only available on i386-pc Glenn Washburn
2022-05-12  2:56 ` [PATCH 3/7] docs: Make note of i386-pc specific usage of halt command Glenn Washburn
2022-05-12  2:56 ` [PATCH 4/7] docs: Markup loader commands with @command tag Glenn Washburn
2022-05-12  2:56 ` [PATCH 5/7] docs: Create command section for loader commands Glenn Washburn
2022-05-12  2:56 ` [PATCH 6/7] docs: Add under documented loader commands to beginning of loader section Glenn Washburn
2022-05-12  2:56 ` [PATCH 7/7] docs: Add section for general undocumented commands Glenn Washburn
2022-05-19 18:43 ` [PATCH 0/7] Various docs improvements Daniel Kiper

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.