From: Jan Nieuwenhuizen <janneke@gnu.org>
To: Mathieu Othacehe <othacehe@gnu.org>
Cc: "Ludovic Courtès" <ludo@gnu.org>, 41785@debbugs.gnu.org
Subject: [bug#41785] [PATCH] DRAFT services: Add 'hurd-in-vm service-type'.
Date: Fri, 12 Jun 2020 23:33:38 +0200 [thread overview]
Message-ID: <87eeqknf4d.fsf@gnu.org> (raw)
In-Reply-To: <873670l3z9.fsf@gnu.org> (Mathieu Othacehe's message of "Fri, 12 Jun 2020 17:04:58 +0200")
Mathieu Othacehe writes:
Hello Mathieu,
>> + (let ((target (%current-target-system)))
>> + (match file-system-type
>> + ("iso9660" iso9660-image)
>> + (_ (cond
>> + ((and target
>> + (hurd-triplet? target))
>> + hurd-disk-image)
>> + (else
>> + efi-disk-image))))))
>
> I think it would be safe to pass a "target" argument. Then the two
> actual callers could pass (current-target-system) as target
> argument. This is guaranteed to return a correct value, whereas
> %current-target-system is not here.
Okay, sure. I've made that change for now.
>> +@lisp
>> +(service hurd-vm-service-type
>> + (hurd-vm-configuration
>> + (disk-size (* 5000 (expt 2 20))) ;5G
>> + (memory-size 1024))) ;1024MiB
>
> That's really nice! We could really use a (guix units) module or so
> where we would put those definitions: "(define MiB (expt 2 20))". Then
> we could use:
>
> (service hurd-vm-service-type
> (hurd-vm-configuration
> (disk-size (* 5 GiB)
> (memory-size (* 1024 MiB)))
I like it!
> Well, this is really not a blocking thing.
>> +(define* (disk-image os #:key (image-size 'guess) target)
>> + "Return a disk-image for OS with size IMAGE-SIZE, built for TARGET."
>> + (let ((base-image (find-image "ext2")))
>> + (system-image
>> + (image (inherit base-image)
>> + (size image-size)
>> + (operating-system
>> + (with-parameters ((%current-target-system target))
>> + os))))))
>
> Yeah then again, I think it would be nice to use something like the
> "hurd-disk-image" as I proposed here:
> https://lists.gnu.org/archive/html/guix-devel/2020-05/msg00417.html.
>
> This way, no need to call "find-image". You could just write:
>
> (define (image os #:key (image-size 'guess))
> (image
> (inherit hurd-disk-image)
> (size image-size)
> (operating-system os)))
Oh yes...that's great. It seems that until we have that, as Ludo
suggested with this:
--8<---------------cut here---------------start------------->8---
(with-parameters ((%current-target-system target))
(system-image
(image (inherit base-image)
(size disk-size)
(operating-system os))))))
--8<---------------cut here---------------end--------------->8---
we have now something "that works" for the Hurd.
>> + (image hurd-vm-configuration-image ;string
>> + (thunked)
>
> Then the thunked field wouldn't be required.
>
> Mostly comments related to the fact that (gnu image) needs some
> polishing, your patches are really nice here :)
Thank you. I'll be working to prepare a v3 series that works on master
right now; then we can see how to proceed.
Thanks!
Janneke
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
next prev parent reply other threads:[~2020-06-12 21:34 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-10 8:54 [bug#41785] [PATCH] DRAFT services: Add 'hurd-in-vm service-type' Jan (janneke) Nieuwenhuizen
2020-06-10 11:34 ` Mathieu Othacehe
2020-06-11 19:43 ` Ludovic Courtès
2020-06-11 19:59 ` Jan Nieuwenhuizen
2020-06-11 20:01 ` Marius Bakke
2020-06-12 6:39 ` Jan Nieuwenhuizen
2020-06-12 10:51 ` Diego Nicola Barbato
2020-06-13 7:30 ` Jan Nieuwenhuizen
2020-06-11 19:59 ` Ludovic Courtès
2020-06-11 21:57 ` Jan Nieuwenhuizen
2020-06-12 6:46 ` Jan Nieuwenhuizen
2020-06-12 14:45 ` Ludovic Courtès
2020-06-12 21:33 ` Jan Nieuwenhuizen
2020-06-12 15:04 ` Mathieu Othacehe
2020-06-12 21:33 ` Jan Nieuwenhuizen [this message]
2020-06-14 12:10 ` [bug#41785] [PATCH v4] " Jan Nieuwenhuizen
2020-06-14 12:44 ` Mathieu Othacehe
2020-06-14 13:18 ` Jan Nieuwenhuizen
2020-06-14 15:52 ` Mathieu Othacehe
2020-06-14 16:22 ` Mathieu Othacehe
2020-06-14 16:42 ` bug#41785: " Jan Nieuwenhuizen
2020-06-12 14:42 ` [bug#41785] [PATCH] DRAFT " Mathieu Othacehe
2020-06-12 15:39 ` Ludovic Courtès
2020-06-12 21:42 ` [bug#41785] [PATCH v3 1/2] image: Make 'find-image' non-monadic Jan (janneke) Nieuwenhuizen
2020-06-12 21:42 ` [bug#41785] [PATCH v3 2/2] services: Add 'hurd-vm service-type' Jan (janneke) Nieuwenhuizen
2020-06-13 12:49 ` Mathieu Othacehe
2020-06-13 13:10 ` Jan Nieuwenhuizen
2020-06-13 14:35 ` Ludovic Courtès
2020-06-13 15:01 ` Mathieu Othacehe
2020-06-13 10:56 ` [bug#41785] [PATCH v3 1/2] image: Make 'find-image' non-monadic Mathieu Othacehe
2020-06-13 13:05 ` Jan Nieuwenhuizen
2020-06-14 12:37 ` Mathieu Othacehe
2020-06-14 13:12 ` Jan Nieuwenhuizen
2020-06-14 13:32 ` Jan Nieuwenhuizen
2020-06-14 15:44 ` Mathieu Othacehe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87eeqknf4d.fsf@gnu.org \
--to=janneke@gnu.org \
--cc=41785@debbugs.gnu.org \
--cc=ludo@gnu.org \
--cc=othacehe@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).