* [BLOG] On migration to the Hurd @ 2020-04-01 21:39 Jan Nieuwenhuizen 2020-04-02 0:56 ` Bengt Richter 2020-04-02 6:32 ` Tanguy Le Carrour 0 siblings, 2 replies; 9+ messages in thread From: Jan Nieuwenhuizen @ 2020-04-01 21:39 UTC (permalink / raw) To: Guix-devel Hello Guix! We are thrilled to have published a post about migrating to the Hurd: https://guix.gnu.org/blog/2020/deprecating-support-for-the-linux-kernel/ Thanks to the merge of ‘wip-hurd’ a few days ago and the awesome joint work today of the Guix maintainers... read more Enjoy! janneke, ludo, rekado, mbakke -- Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BLOG] On migration to the Hurd 2020-04-01 21:39 [BLOG] On migration to the Hurd Jan Nieuwenhuizen @ 2020-04-02 0:56 ` Bengt Richter 2020-04-02 6:32 ` Tanguy Le Carrour 1 sibling, 0 replies; 9+ messages in thread From: Bengt Richter @ 2020-04-02 0:56 UTC (permalink / raw) To: Jan Nieuwenhuizen; +Cc: Guix-devel On +2020-04-01 23:39:29 +0200, Jan Nieuwenhuizen wrote: ^--[1] > Hello Guix! > > We are thrilled to have published a post about migrating to the Hurd: > > https://guix.gnu.org/blog/2020/deprecating-support-for-the-linux-kernel/ > > Thanks to the merge of ‘wip-hurd’ a few days ago and the awesome joint > work today of the Guix maintainers... read more > > Enjoy! [1] No April-fooling? ;-) > janneke, ludo, rekado, mbakke > > -- > Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org > Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com > -- Regards, Bengt Richter ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BLOG] On migration to the Hurd 2020-04-01 21:39 [BLOG] On migration to the Hurd Jan Nieuwenhuizen 2020-04-02 0:56 ` Bengt Richter @ 2020-04-02 6:32 ` Tanguy Le Carrour 2020-04-02 10:55 ` Ludovic Courtès 1 sibling, 1 reply; 9+ messages in thread From: Tanguy Le Carrour @ 2020-04-02 6:32 UTC (permalink / raw) To: Jan Nieuwenhuizen; +Cc: Guix-devel Hi Guix! Le 04/01, Jan Nieuwenhuizen a écrit : > We are thrilled to have published a post about migrating to the Hurd: > > https://guix.gnu.org/blog/2020/deprecating-support-for-the-linux-kernel/ So, I guess I was not the only one to figure out that it was a joke! A good one, but still… a joke! But anyway, I clicked and read the post! And I couldn't help but feel… mmm… nostalgic for the future!? Is that even possible?! The question is now: if not yesterday, when!? Thanks to all the people who will help make it a reality! -- Tanguy ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BLOG] On migration to the Hurd 2020-04-02 6:32 ` Tanguy Le Carrour @ 2020-04-02 10:55 ` Ludovic Courtès 2020-04-03 11:59 ` Tanguy Le Carrour 0 siblings, 1 reply; 9+ messages in thread From: Ludovic Courtès @ 2020-04-02 10:55 UTC (permalink / raw) To: Tanguy Le Carrour; +Cc: Guix-devel Hi! Tanguy Le Carrour <tanguy@bioneland.org> skribis: > Le 04/01, Jan Nieuwenhuizen a écrit : >> We are thrilled to have published a post about migrating to the Hurd: >> >> https://guix.gnu.org/blog/2020/deprecating-support-for-the-linux-kernel/ > > So, I guess I was not the only one to figure out that it was a joke! A > good one, but still… a joke! > > But anyway, I clicked and read the post! And I couldn't help but feel… > mmm… nostalgic for the future!? Is that even possible?! > > The question is now: if not yesterday, when!? > > Thanks to all the people who will help make it a reality! Yup, it can actually become a reality! Yesterday led us to hack some more. The new ‘wip-hurd-vm’ branch is based on ‘core-updates’, which includes Janneke’s Hurd work, notably supporting native builds on GNU/Hurd. On that branch, from a GNU/Linux box, one can run: ./pre-inst-env guix build -f gnu/system/hurd.scm That gives you a QEMU image containing a cross-built GNU/Hurd system, which is pretty cool. Unfortunately, the bootstrap ext2fs.static server currently hangs early on for reasons that haven’t been elucidated yet. For anyone who wants to fiddle with the Hurd, here’s a good hacking opportunity! The branch is almost mergeable, I think. With that in place, it’ll be trivial to provide a “GNU/Hurd VM service” for Guix System running on GNU/Linux, and we can use that to provide GNU/Hurd build VMs on berlin, for instance. Currently, unlike ‘qemu-image’, the new ‘cross-hurd-image’ doesn’t expect a full-blown <operating-system> but simply a bunch of store items. However, we can hopefully use that as a starting point to port Guix System itself to GNU/Hurd. Food for thought! Ludo’. PS: In the meantime, Linux-libre support remains available, fear not! ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BLOG] On migration to the Hurd 2020-04-02 10:55 ` Ludovic Courtès @ 2020-04-03 11:59 ` Tanguy Le Carrour 2020-04-06 7:53 ` Ludovic Courtès 0 siblings, 1 reply; 9+ messages in thread From: Tanguy Le Carrour @ 2020-04-03 11:59 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel Le 04/02, Ludovic Courtès a écrit : > Tanguy Le Carrour <tanguy@bioneland.org> skribis: > > Le 04/01, Jan Nieuwenhuizen a écrit : > >> We are thrilled to have published a post about migrating to the Hurd: > >> > >> https://guix.gnu.org/blog/2020/deprecating-support-for-the-linux-kernel/ > > […] > > The question is now: if not yesterday, when!? > > > > Thanks to all the people who will help make it a reality! > > Yup, it can actually become a reality! > […] > > ./pre-inst-env guix build -f gnu/system/hurd.scm > > That gives you a QEMU image containing a cross-built GNU/Hurd system, > which is pretty cool. > > Unfortunately, the bootstrap ext2fs.static server currently hangs early > on for reasons that haven’t been elucidated yet. For anyone who wants > to fiddle with the Hurd, here’s a good hacking opportunity! I'm not (yet) able to do low-level/system contributions, but I did contribute some patches upstream to make some programs build and work on GNU/Hurd. I think I'll keep on doing this kind of things in the future. Better little than none, right?! :-) Regards -- Tanguy ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BLOG] On migration to the Hurd 2020-04-03 11:59 ` Tanguy Le Carrour @ 2020-04-06 7:53 ` Ludovic Courtès 0 siblings, 0 replies; 9+ messages in thread From: Ludovic Courtès @ 2020-04-06 7:53 UTC (permalink / raw) To: Tanguy Le Carrour; +Cc: Guix-devel Hi Tanguy, Tanguy Le Carrour <tanguy@bioneland.org> skribis: > I'm not (yet) able to do low-level/system contributions, but I did > contribute some patches upstream to make some programs build and work > on GNU/Hurd. I think I'll keep on doing this kind of things in the > future. Better little than none, right?! :-) Definitely, thank you! Ludo’. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BLOG] On migration to the Hurd @ 2020-04-04 1:47 Rene 2020-04-04 7:38 ` Rene 2020-04-04 10:05 ` Jan Nieuwenhuizen 0 siblings, 2 replies; 9+ messages in thread From: Rene @ 2020-04-04 1:47 UTC (permalink / raw) To: Ludovic Courtès, janneke@gnu.org, guix-devel\@gnu.org [-- Attachment #1.1: Type: text/plain, Size: 424 bytes --] Hello Ludovic, Jan, About the bootstrap ext2fs.static server, it seems that it is also required to create a link in /libexec, attached a patch. and now it shows another error: -- Hurd server bootstrap: ext2fs[device:hd0s1] exec startup proc auth. /libexec/console-run: /dev/console: Permission denied /libexec/console-run: cannot execute /libexec/runsystem: Exec format error -- I'll keep checking .. Rene [-- Attachment #1.2: Type: text/html, Size: 813 bytes --] [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-system-hurd-Add-symlink-for-.-hurd-libexec.patch --] [-- Type: text/x-patch; name="0001-system-hurd-Add-symlink-for-.-hurd-libexec.patch", Size: 1212 bytes --] From 536286f6b6817a15826420a793a83a5779fced12 Mon Sep 17 00:00:00 2001 From: Rene Saavedra <pacoon@protonmail.com> Date: Fri, 3 Apr 2020 19:31:01 -0600 Subject: [PATCH] system: hurd: Add symlink for `../hurd/libexec.` * /gnu/system/hurd.scm (hurd-directives): Add symlink in `/libexec/console-run` for `../hurd/libexec`. --- gnu/system/hurd.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index 586bfa0fca..6469e66b2e 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm @@ -94,7 +94,11 @@ menuentry \"GNU\" { ("/hurd" -> ,(file-append (with-parameters ((%current-target-system "i586-pc-gnu")) hurd) - "/hurd")))) + "/hurd")) + ("/libexec" -> ,(file-append (with-parameters ((%current-target-system + "i586-pc-gnu")) + hurd) + "/libexec")))) (qemu-image #:file-system-type "ext2" #:file-system-options '("-o" "hurd") -- 2.21.0 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [BLOG] On migration to the Hurd 2020-04-04 1:47 Rene @ 2020-04-04 7:38 ` Rene 2020-04-04 10:05 ` Jan Nieuwenhuizen 1 sibling, 0 replies; 9+ messages in thread From: Rene @ 2020-04-04 7:38 UTC (permalink / raw) To: Ludovic Courtès, janneke@gnu.org, guix-devel\@gnu.org Hi, > > and now it shows another error: > -- > /libexec/console-run: /dev/console: Permission denied for this error it is required to create the devices with: ./MAKEDEV console tty ... I did this manually in Debian and the error no longer shows. Rene ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BLOG] On migration to the Hurd 2020-04-04 1:47 Rene 2020-04-04 7:38 ` Rene @ 2020-04-04 10:05 ` Jan Nieuwenhuizen 1 sibling, 0 replies; 9+ messages in thread From: Jan Nieuwenhuizen @ 2020-04-04 10:05 UTC (permalink / raw) To: Rene; +Cc: guix-devel@gnu.org [-- Attachment #1: Type: text/plain, Size: 648 bytes --] Rene writes: > Hello Ludovic, Jan, > > About the bootstrap ext2fs.static server, it seems that it is also > required to create a link in /libexec, attached a patch. Ah...great! > and now it shows another error: > -- > Hurd server bootstrap: ext2fs[device:hd0s1] exec startup proc auth. > /libexec/console-run: /dev/console: Permission denied > /libexec/console-run: cannot execute /libexec/runsystem: Exec format error > -- > > I'll keep checking .. With the attached patches (I added a copyright line for you), I now get a prompt! Greetings, janneke PS: you can also pull wip-hurd-vm from https://gitlab.com/janneke/guix.git [-- Attachment #2: 0001-system-hurd-Add-symlink-for-.-hurd-libexec.patch --] [-- Type: text/x-patch, Size: 1489 bytes --] From 56f67343c4108da8c8f0a91844aebd28181dc912 Mon Sep 17 00:00:00 2001 From: Rene Saavedra <pacoon@protonmail.com> Date: Fri, 3 Apr 2020 19:31:01 -0600 Subject: [PATCH 1/3] system: hurd: Add symlink for `../hurd/libexec.` * /gnu/system/hurd.scm (hurd-directives): Add symlink in `/libexec/console-run` for `../hurd/libexec`. --- gnu/system/hurd.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index 586bfa0fca..97c54a2992 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2020 Rene Saavedra <pacoon@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -94,7 +95,11 @@ menuentry \"GNU\" { ("/hurd" -> ,(file-append (with-parameters ((%current-target-system "i586-pc-gnu")) hurd) - "/hurd")))) + "/hurd")) + ("/libexec" -> ,(file-append (with-parameters ((%current-target-system + "i586-pc-gnu")) + hurd) + "/libexec")))) (qemu-image #:file-system-type "ext2" #:file-system-options '("-o" "hurd") -- 2.26.0 [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #3: 0002-gnu-hurd-Have-scripts-use-store-file-names.patch --] [-- Type: text/x-patch, Size: 3594 bytes --] From 248e44e7f42312c92b23d2bc3d10a80a5bb2eadf Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org> Date: Sat, 4 Apr 2020 10:32:22 +0200 Subject: [PATCH 2/3] gnu: hurd: Have scripts use store file names. * gnu/packages/hurd.scm (hurd)[inputs]: Add bash-minimal, coreutils, sed. [arguments]: Use them in new `use-store-file-names' stage. --- gnu/packages/hurd.scm | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 8f087172de..09b09b6397 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -30,6 +30,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (gnu packages autotools) + #:use-module (gnu packages bash) #:use-module (gnu packages flex) #:use-module (gnu packages bison) #:use-module (gnu packages perl) @@ -361,6 +362,36 @@ boot, since this cannot be done from GNU/Linux." (copy-file rc file) (substitute* file (("@HURD@") out)) + #t))) + (add-after 'install 'use-store-file-names + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bash (assoc-ref inputs "bash")) + (coreutils (assoc-ref inputs "coreutils")) + (sed (assoc-ref inputs "sed"))) + (substitute* (list (string-append out "/libexec/runsystem") + (string-append out "/libexec/runsystem.hurd") ; Hmm? + (string-append out "/sbin/MAKEDEV") + (string-append out "/bin/fakeroot") + (string-append out "/bin/remap") + (string-append out "/bin/sush")) + ;; huh, why are shebangs using the build system's bash? + (("^#!.*/bash") (string-append "#! " bash "/bin/bash")) + (("^#!.*/sh") (string-append "#! " bash "/bin/bash")) + (("=/libexec") (string-append "=" out "/libexec")) + (("^SHELL=/bin/sh") + (string-append "SHELL=" bash "/bin/bash")) + (("^PATH=") + (string-append "PATH=" out "/bin" + ":" out "/sbin" + ":" coreutils "/bin" + ":" sed "/bin" + ":/run/current-system/profile/bin" + ":/run/current-system/profile/sbin")) + ) + (substitute* (string-append out "/bin/sush") + (("-/bin/fmt") (string-append "-/" coreutils "/bin/fmt")) + (("-/bin/login") (string-append "-/" coreutils "/bin/legin"))) #t)))) #:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib") @@ -370,8 +401,11 @@ boot, since this cannot be done from GNU/Linux." "--without-parted"))) (build-system gnu-build-system) (inputs - `(("glibc-hurd-headers" ,glibc/hurd-headers) - ("hurd-rc" ,(hurd-rc-script)))) + `(("bash" ,bash-minimal) + ("coreutils" ,coreutils) + ("glibc-hurd-headers" ,glibc/hurd-headers) + ("hurd-rc" ,(hurd-rc-script)) + ("sed" ,sed))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) -- 2.26.0 [-- Attachment #4: 0003-system-hurd-Add-bin-sh-symlink.patch --] [-- Type: text/x-patch, Size: 2255 bytes --] From 293e2c316005f2674b3cad32a2127c27a70b8ff6 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org> Date: Sat, 4 Apr 2020 11:53:13 +0200 Subject: [PATCH 3/3] system: hurd: Add /bin/sh symlink. * gnu/system/hurd.scm (cross-hurd-image): Create /bin/sh symlink. --- gnu/system/hurd.scm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index 97c54a2992..82a9d94d5c 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2020 Rene Saavedra <pacoon@protonmail.com> +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,6 +23,7 @@ #:use-module (guix utils) #:use-module (gnu bootloader grub) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages cross-base) #:use-module (gnu packages hurd) #:use-module (gnu system vm) @@ -45,7 +47,7 @@ (directory-union "gnu+hurd" (cons (with-parameters ((%current-system "i686-linux")) gnumach) - (for-hurd hurd coreutils grep sed))))) + (for-hurd hurd bash-minimal coreutils grep sed))))) (define grub.cfg (let ((hurd (with-parameters ((%current-target-system "i586-pc-gnu")) @@ -99,7 +101,11 @@ menuentry \"GNU\" { ("/libexec" -> ,(file-append (with-parameters ((%current-target-system "i586-pc-gnu")) hurd) - "/libexec")))) + "/libexec")) + ("/bin/sh" -> ,(file-append (with-parameters ((%current-target-system + "i586-pc-gnu")) + bash-minimal) + "/bin/sh")))) (qemu-image #:file-system-type "ext2" #:file-system-options '("-o" "hurd") -- 2.26.0 [-- Attachment #5: Type: text/plain, Size: 154 bytes --] -- Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com ^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2020-04-06 7:53 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-04-01 21:39 [BLOG] On migration to the Hurd Jan Nieuwenhuizen 2020-04-02 0:56 ` Bengt Richter 2020-04-02 6:32 ` Tanguy Le Carrour 2020-04-02 10:55 ` Ludovic Courtès 2020-04-03 11:59 ` Tanguy Le Carrour 2020-04-06 7:53 ` Ludovic Courtès -- strict thread matches above, loose matches on Subject: below -- 2020-04-04 1:47 Rene 2020-04-04 7:38 ` Rene 2020-04-04 10:05 ` Jan Nieuwenhuizen
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).