Message ID | 82af884b2c75d17e8548854300458e49fda8a755.1684855847.git.janneke@gnu.org |
---|---|
State | New |
Headers | show |
Series | [bug#63527,v5,01/11] gnu: Add libpciaccess-0.17. | expand |
Janneke Nieuwenhuizen <janneke@gnu.org> skribis: > * 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. [...] > +@lisp > +'("console=com0"") ^ Extra quote. > +To use the new (experimental) rumpdisk (See > +@url{https://darnassus.sceen.net/~hurd-web/rump_kernel/, GNU Hurd rump > +kernel}) instead of the legacy gnumach buitin IDE support: Nitpick: 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: Ludo’.
Ludovic Courtès writes: > Janneke Nieuwenhuizen <janneke@gnu.org> skribis: > >> * 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. > > [...] > >> +@lisp >> +'("console=com0"") > ^ > Extra quote. Oops. >> +To use the new (experimental) rumpdisk (See >> +@url{https://darnassus.sceen.net/~hurd-web/rump_kernel/, GNU Hurd rump >> +kernel}) instead of the legacy gnumach buitin IDE support: > > Nitpick: > > 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: I like it! Thanks.
diff --git a/doc/guix.texi b/doc/guix.texi index f4cca66d76..11ce9340ae 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -39779,6 +39779,27 @@ Bootloader Configuration @item @code{multiboot-arguments} (default: @code{()}) The list of extra command-line arguments for the multiboot-kernel. +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 (experimental) rumpdisk (See +@url{https://darnassus.sceen.net/~hurd-web/rump_kernel/, GNU Hurd rump +kernel}) instead of the legacy gnumach buitin IDE support: + +@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: diff --git a/gnu/local.mk b/gnu/local.mk index 052b76ea7e..e633afa4b4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1277,6 +1277,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 536df96e00..c44c51818e 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -80,7 +80,8 @@ (define-public gnumach-headers (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 ();