gnu: gnumach: Support "noide" argument.
* gnu/packages/patches/gnumach-support-noide.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/hurd.scm (gnumach-headers): Use it. * doc/guix.texi (Bootloader Configuration): Document it. Signed-off-by: Josselin Poiret <dev@jpoiret.xyz>
parent
c22c29b0c4
commit
bbfb41ed9d
|
@ -40078,7 +40078,29 @@ For example:
|
|||
@item @code{multiboot-arguments} (default: @code{'()})
|
||||
The list of extra command-line arguments for the multiboot-kernel.
|
||||
|
||||
@item @code{multiboot-modules} (default: @code{'()})
|
||||
For example, when running in QEMU it can be useful to use a text-based
|
||||
console (use options @option{--nographic} @option{--serial mon:stdio}):
|
||||
|
||||
@lisp
|
||||
'("console=com0")
|
||||
@end lisp
|
||||
|
||||
To use the new and still experimental
|
||||
@uref{https://darnassus.sceen.net/~hurd-web/rump_kernel/, rumpdisk
|
||||
user-level disk driver} instead of GNU@tie{}Mach's in-kernel IDE driver,
|
||||
set @code{kernel-arguments} to:
|
||||
|
||||
@lisp
|
||||
'("noide")
|
||||
@end lisp
|
||||
|
||||
Of course, these options can be combined:
|
||||
|
||||
@lisp
|
||||
'("console=com0" "noide")
|
||||
@end lisp
|
||||
|
||||
+@item @code{multiboot-modules} (default: @code{'()})
|
||||
The list of commands for loading Multiboot modules. For example:
|
||||
|
||||
@lisp
|
||||
|
|
|
@ -1287,6 +1287,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/gnome-settings-daemon-gc.patch \
|
||||
%D%/packages/patches/gnome-session-support-elogind.patch \
|
||||
%D%/packages/patches/gnome-tweaks-search-paths.patch \
|
||||
%D%/packages/patches/gnumach-support-noide.patch \
|
||||
%D%/packages/patches/gnupg-default-pinentry.patch \
|
||||
%D%/packages/patches/gnupg-1-build-with-gcc10.patch \
|
||||
%D%/packages/patches/gnutls-skip-trust-store-test.patch \
|
||||
|
|
|
@ -253,6 +253,12 @@ Hurd-minimal package which are needed for both glibc and GCC.")
|
|||
(package
|
||||
(inherit gnumach-headers)
|
||||
(name "gnumach")
|
||||
(source (origin
|
||||
(inherit (package-source gnumach-headers))
|
||||
(patches
|
||||
(append
|
||||
(search-patches "gnumach-support-noide.patch")
|
||||
(origin-patches (package-source gnumach-headers))))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments gnumach-headers)
|
||||
((#:make-flags flags ''())
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
Upstream status: Taken from Debian/upsream.
|
||||
|
||||
https://salsa.debian.org/hurd-team/gnumach/-/blob/master/debian/patches/90_noide.patch
|
||||
|
||||
This supports using `noide' on the gnumach command line, disabling
|
||||
gnumach IDE support and thus forcing use of rumdisk.
|
||||
|
||||
---
|
||||
linux/dev/glue/block.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/linux/dev/glue/block.c
|
||||
+++ b/linux/dev/glue/block.c
|
||||
@@ -207,7 +207,10 @@ int
|
||||
blk_dev_init ()
|
||||
{
|
||||
#ifdef CONFIG_BLK_DEV_IDE
|
||||
- ide_init ();
|
||||
+ extern char *kernel_cmdline;
|
||||
+ if (strncmp(kernel_cmdline, "noide", 5) &&
|
||||
+ !strstr(kernel_cmdline, " noide"))
|
||||
+ ide_init ();
|
||||
#endif
|
||||
#ifdef CONFIG_BLK_DEV_FD
|
||||
floppy_init ();
|
Reference in New Issue