aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorJanneke Nieuwenhuizen <janneke@gnu.org>2023-05-19 14:03:47 +0200
committerJosselin Poiret <dev@jpoiret.xyz>2023-07-13 18:59:17 +0200
commitbbfb41ed9dff845e12ebd597026729f637903ac4 (patch)
treed4ddc615ca33ca685a8ac300a6d9fa430d827bea /gnu/packages
parentc22c29b0c4821ebe2c66a6c76562a41d33ff8392 (diff)
downloadguix-bbfb41ed9dff845e12ebd597026729f637903ac4.tar.gz
guix-bbfb41ed9dff845e12ebd597026729f637903ac4.zip
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>
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/hurd.scm6
-rw-r--r--gnu/packages/patches/gnumach-support-noide.patch25
2 files changed, 31 insertions, 0 deletions
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 419d12939f..3a9797009b 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -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 ''())
diff --git a/gnu/packages/patches/gnumach-support-noide.patch b/gnu/packages/patches/gnumach-support-noide.patch
new file mode 100644
index 0000000000..723d4bcac4
--- /dev/null
+++ b/gnu/packages/patches/gnumach-support-noide.patch
@@ -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 ();