grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2] docs: Improve initrd documentation


From: Oskari Pirhonen
Subject: Re: [PATCH v2] docs: Improve initrd documentation
Date: Mon, 3 Jul 2023 22:20:47 -0500

On Mon, Jul 03, 2023 at 20:18:17 -0500, Glenn Washburn wrote:
> Remove reference to "initial ramdisk" and replace with "initrd". This then
> covers the case of ramdisk and ramfs, which is the usual method with kernels
> 2.6 and greater. Add sentence with URL to initrd documentation Linux kernel.
> Also, add a section documenting how to have the initrd command generate a
> new-style initrd via a specially crafted argument and include an example.
> 
> Update initrd16 to refer to the initrd section and make note that initrd16
> is only on the pc platform.
> 
> Signed-off-by: Glenn Washburn <development@efficientek.com>

Reviewed-by: Oskari Pirhonen <xxc3ncoredxx@gmail.com>

- Oskari

> ---
> Range-diff against v1:
> 1:  a32e624ba41b ! 1:  28cda0c394d6 docs: Improve initrd documentation
>     @@ docs/grub.texi: load a defective boot loader, such as SCO UnixWare 7.1.
>      +@uref{https://docs.kernel.org/filesystems/ramfs-rootfs-initramfs.html,
>      +documentation} on them.
>      +
>     -+A new-style initrd (for kernels greater than 2.6) containing one file
>     ++A new-style initrd (for kernels newer than 2.6) containing one file
>      +with leading path components can also be generated at run time. This
>      +can be done by prefixing an argument with @code{newc:} followed by the
>      +path of the file in the new initrd, a @code{:}, and then the GRUB file
>     @@ docs/grub.texi: load a defective boot loader, such as SCO UnixWare 7.1.
>       
>       
>      @@ docs/grub.texi: also @ref{GNU/Linux}.
>     - Load, in order, all initial ramdisks for a Linux kernel image to be 
> booted in
>     + @subsection initrd16
>     + 
>     + @deffn Command initrd16 file [file @dots{}]
>     +-Load, in order, all initial ramdisks for a Linux kernel image to be 
> booted in
>     ++Load, in order, all initrds 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}.
>      +(@pxref{linux16}) has been run.  See also @ref{GNU/Linux} and the 
> @command{initrd}
>     -+(@pxref{initrd}) for more details.
>     ++command (@pxref{initrd}) for more details on arguments.
>       
>      -This command is only available on x86 systems.
>      +This command is only available on the pc platform for x86 systems.
> 
>  docs/grub.texi | 48 +++++++++++++++++++++++++++++++++++++++++-------
>  1 file changed, 41 insertions(+), 7 deletions(-)
> 
> diff --git a/docs/grub.texi b/docs/grub.texi
> index b39b72230c6f..0a665ee7825f 100644
> --- a/docs/grub.texi
> +++ b/docs/grub.texi
> @@ -4076,10 +4076,43 @@ load a defective boot loader, such as SCO UnixWare 
> 7.1.
>  @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}.
> +Load, in order, all initrds 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 @ref{GNU/Linux} for more info on booting GNU/Linux.  For more
> +information on initrds see the GNU/Linux kernel
> +@uref{https://docs.kernel.org/filesystems/ramfs-rootfs-initramfs.html,
> +documentation} on them.
> +
> +A new-style initrd (for kernels newer than 2.6) containing one file
> +with leading path components can also be generated at run time. This
> +can be done by prefixing an argument with @code{newc:} followed by the
> +path of the file in the new initrd, a @code{:}, and then the GRUB file
> +path to the file data to be be included.
> +
> +For example:
> +@example
> +initrd newc:/etc/ssh/config:(hd0,2)/home/user/.ssh/config \
> +       newc:/etc/ssh/ssh_host_rsa_key:/etc/ssh/ssh_host_rsa_key \
> +       /boot/initrd.gz \
> +       newc:/init:/home/user/init.fixed
> +@end example
> +
> +This command will generate two new-style initrds on the fly. The first
> +contains the path @samp{/etc/ssh/config} with the contents of
> +@samp{(hd0,2)/home/user/.ssh/config} and the path
> +@samp{/etc/ssh/ssh_host_rsa_key} with the contents of
> +@samp{/etc/ssh/ssh_host_rsa_key} on the @var{root} device. Parent directory
> +paths will automatically be generated as needed. This first generated initrd
> +will then have @samp{/boot/initrd.gz} concatenated after it. Next, another
> +new-style archive will be generated with the contents of 
> @samp{/home/user/init.fixed}
> +in the path @samp{/init} and appended to the previous concatenation. Finally,
> +the result will be sent to the kernel when booted.
> +
> +Keep in mind that paths that comes later will take precendence. So in the
> +example above, the generated path @samp{/init} will overwrite any 
> @samp{/init}
> +in @samp{/boot/initrd.gz}. This can be useful when changing the main initrd
> +is undesirable or difficult.
>  @end deffn
>  
>  
> @@ -4087,12 +4120,13 @@ also @ref{GNU/Linux}.
>  @subsection initrd16
>  
>  @deffn Command initrd16 file [file @dots{}]
> -Load, in order, all initial ramdisks for a Linux kernel image to be booted in
> +Load, in order, all initrds 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}.
> +(@pxref{linux16}) has been run.  See also @ref{GNU/Linux} and the 
> @command{initrd}
> +command (@pxref{initrd}) for more details on arguments.
>  
> -This command is only available on x86 systems.
> +This command is only available on the pc platform for x86 systems.
>  @end deffn
>  
>  
> -- 
> 2.34.1
> 

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]