[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
24/89: gnu: gnumach: Support "noide" argument.
From: |
guix-commits |
Subject: |
24/89: gnu: gnumach: Support "noide" argument. |
Date: |
Tue, 20 Jun 2023 05:58:53 -0400 (EDT) |
janneke pushed a commit to branch hurd-team
in repository guix.
commit 0fabe2e0df60b0561508086cfb61d1620628af3b
Author: Janneke Nieuwenhuizen <janneke@gnu.org>
AuthorDate: Fri May 19 14:03:47 2023 +0200
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.
---
doc/guix.texi | 24 ++++++++++++++++++++++-
gnu/local.mk | 1 +
gnu/packages/hurd.scm | 3 ++-
gnu/packages/patches/gnumach-support-noide.patch | 25 ++++++++++++++++++++++++
4 files changed, 51 insertions(+), 2 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index c961f706ec..e004b85483 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -40013,7 +40013,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
diff --git a/gnu/local.mk b/gnu/local.mk
index e18bb36653..560fc55bb6 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1286,6 +1286,7 @@ dist_patch_DATA =
\
%D%/packages/patches/gnome-session-support-elogind.patch \
%D%/packages/patches/gnome-tweaks-search-paths.patch \
%D%/packages/patches/gnumach-add-missing-const_mach_port_name_array_t-type.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 \
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 89ad63dc56..518625bed7 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -67,7 +67,8 @@
(file-name (git-file-name "gnumach" version))
(sha256
(base32
- "0f49zqxf64ds75rmskizpybl2mw7sxs05k59gjp3pgspvr87w7gs"))))
+ "0f49zqxf64ds75rmskizpybl2mw7sxs05k59gjp3pgspvr87w7gs"))
+ (patches (list (search-patch "gnumach-support-noide.patch")))))
(build-system gnu-build-system)
(arguments
`(#:phases
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 ();
- 09/89: gnu: Add libc-locales-for-target and glibc-locales/hurd., (continued)
- 09/89: gnu: Add libc-locales-for-target and glibc-locales/hurd., guix-commits, 2023/06/20
- 04/89: gnu: hurd: Update supported systems., guix-commits, 2023/06/20
- 11/89: squash! gnu: mig: Update to 04bfe7a91223ba15d868f7165e49328b1c6e86c3., guix-commits, 2023/06/20
- 12/89: gnu: hurd: Update to v0.9.git20230216., guix-commits, 2023/06/20
- 18/89: gnu: parted: Support building for the Hurd., guix-commits, 2023/06/20
- 19/89: gnu: hurd: Add rumpkernel., guix-commits, 2023/06/20
- 21/89: services: childhurd: Bump default qemu memory to 2048MB., guix-commits, 2023/06/20
- 23/89: bootloader: grub: Use rumpdisk-style root when booting with "noide"., guix-commits, 2023/06/20
- 15/89: gnu: hurd: Update libpciaccess to 0.17., guix-commits, 2023/06/20
- 17/89: gnu: hurd-minimal: Include libshouldbeinlibc and libstore., guix-commits, 2023/06/20
- 24/89: gnu: gnumach: Support "noide" argument.,
guix-commits <=
- 25/89: gnu: netdde: Resurrect and update to 2.6.32.65-2-e67c284ac1., guix-commits, 2023/06/20
- 26/89: hurd-boot: Cater for netdde., guix-commits, 2023/06/20
- 27/89: system: hurd: Add netdde to %base-packages/hurd., guix-commits, 2023/06/20
- 29/89: gnu: gnumach: Disable builtin networking., guix-commits, 2023/06/20
- 30/89: gnu: commencement: Add autoconf-boot0., guix-commits, 2023/06/20
- 53/89: gnu: libgpg-error: Skip failing test on the Hurd., guix-commits, 2023/06/20
- 64/89: gnu: openssl-1.1: Fix shared build for the Hurd., guix-commits, 2023/06/20
- 63/89: gnu: cairo: Support building for the Hurd., guix-commits, 2023/06/20
- 39/89: gnu: grep: Update hanging and failing tests on the Hurd., guix-commits, 2023/06/20
- 45/89: hurd: Support system init in /libexec/runsystem., guix-commits, 2023/06/20