diff mbox series

[bug#63527,v4,8/8] system: hurd: Boot with pci.arbiter and rumpdisk.

Message ID 91b78533b3abd24c04f3f09463bc061f56cf4805.1684402361.git.janneke@gnu.org
State New
Headers show
Series Rumpdisk support for the Hurd, really! | expand

Commit Message

Janneke Nieuwenhuizen May 18, 2023, 9:39 a.m. UTC
Be sure to give the Hurd enough (virtual) memory

* gnu/system.scm (hurd-multiboot-modules): Add commands for pci.arbiter and
rumpdisk.
---
 gnu/system.scm | 25 ++++++++++++++++++++-----
 1 file changed, 20 insertions(+), 5 deletions(-)

Comments

Ludovic Courtès May 18, 2023, 5:18 p.m. UTC | #1
Janneke Nieuwenhuizen <janneke@gnu.org> skribis:

>  (define (hurd-multiboot-modules os)
>    (let* ((hurd (operating-system-hurd os))
> +         (pci-arbiter-command
> +          (list (file-append hurd "/hurd/pci-arbiter.static")
> +                "pci-arbiter"
> +                "--host-priv-port='${host-port}'"
> +                "--device-master-port='${device-port}'"
> +                "--next-task='${disk-task}'"
> +                "'$(pci-task=task-create)'"
> +                "'$(task-resume)'"))
> +         (rumpdisk-command
> +          (list (file-append hurd "/hurd/rumpdisk.static")
> +                "rumpdisk"
> +                "--next-task='${fs-task}'"
> +                "'$(disk-task=task-create)'"))
>           (root-file-system-command
>            (list (file-append hurd "/hurd/ext2fs.static")
>                  "ext2fs"
>                  "--multiboot-command-line='${kernel-command-line}'"
> -                "--host-priv-port='${host-port}'"
> -                "--device-master-port='${device-port}'"
>                  "--exec-server-task='${exec-task}'"
>                  "--store-type=typed"
>                  "--x-xattr-translator-records"
> -                "'${root}'" "'$(task-create)'" "'$(task-resume)'"))
> +                "'${root}'"
> +                "'$(fs-task=task-create)'"))
>           (target (%current-target-system))

Wo0t, impressive!
diff mbox series

Patch

diff --git a/gnu/system.scm b/gnu/system.scm
index 354f58f55b..23addf41e9 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -10,7 +10,7 @@ 
 ;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
 ;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de>
 ;;; Copyright © 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
-;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <jannek@gnu.org>
+;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <jannek@gnu.org>
 ;;; Copyright © 2020, 2022 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
 ;;; Copyright © 2021 raid5atemyhomework <raid5atemyhomework@protonmail.com>
@@ -1486,16 +1486,28 @@  (define (operating-system-multiboot-modules os)
 
 (define (hurd-multiboot-modules os)
   (let* ((hurd (operating-system-hurd os))
+         (pci-arbiter-command
+          (list (file-append hurd "/hurd/pci-arbiter.static")
+                "pci-arbiter"
+                "--host-priv-port='${host-port}'"
+                "--device-master-port='${device-port}'"
+                "--next-task='${disk-task}'"
+                "'$(pci-task=task-create)'"
+                "'$(task-resume)'"))
+         (rumpdisk-command
+          (list (file-append hurd "/hurd/rumpdisk.static")
+                "rumpdisk"
+                "--next-task='${fs-task}'"
+                "'$(disk-task=task-create)'"))
          (root-file-system-command
           (list (file-append hurd "/hurd/ext2fs.static")
                 "ext2fs"
                 "--multiboot-command-line='${kernel-command-line}'"
-                "--host-priv-port='${host-port}'"
-                "--device-master-port='${device-port}'"
                 "--exec-server-task='${exec-task}'"
                 "--store-type=typed"
                 "--x-xattr-translator-records"
-                "'${root}'" "'$(task-create)'" "'$(task-resume)'"))
+                "'${root}'"
+                "'$(fs-task=task-create)'"))
          (target (%current-target-system))
          (libc (if target
                    (with-parameters ((%current-target-system #f))
@@ -1512,7 +1524,10 @@  (define (hurd-multiboot-modules os)
           ;;       (file-append hurd "/hurd/exec") "'$(exec-task=task-create)'")
           (list (file-append hurd "/hurd/exec.static") "exec"
                 "'$(exec-task=task-create)'")))
-    (list root-file-system-command exec-server-command)))
+    (list pci-arbiter-command
+          rumpdisk-command
+          root-file-system-command
+          exec-server-command)))
 
 (define* (operating-system-boot-parameters os root-device
                                            #:key system-kernel-arguments?)