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 <developm...@efficientek.com>
Reviewed-by: Oskari Pirhonen <xxc3ncore...@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 >
signature.asc
Description: PGP signature
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel