unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: Mathieu Othacehe <m.othacehe@gmail.com>
Cc: guix-devel@gnu.org
Subject: Re: Image generation
Date: Tue, 28 Apr 2020 23:10:54 +0200	[thread overview]
Message-ID: <87wo5zs4dd.fsf@gnu.org> (raw)
In-Reply-To: <878sior7fw.fsf@gmail.com> (Mathieu Othacehe's message of "Tue, 21 Apr 2020 20:59:31 +0200")

Howdy!

Mathieu Othacehe <m.othacehe@gmail.com> skribis:

> I made some progress on the image generation topic. As discussed
> previously, the goal is to use the same principles as genimage[1], to
> achieve faster image generation, without resorting to VM.

Awesome.

> A very related topic, is to bring the possibility to create Guix System
> images with custom layouts. That includes position, size and type of the
> bootloader partition, offset of the root partition and so on. While this
> is not really important for desktop usage, it is almost mandatory for
> embedded usage.
>
> The wip-disk-image branch allows to define a Guix System image along the
> lines of:
>
> (define my-image
>   (image
>    (format 'disk-image)
>    (operating-system my-os)
>    (partitions
>     (list (partition
>            (size (* 40 (expt 2 20)))
>            (label "GNU-ESP")
>            (file-system "vfat")
>            (flags '(esp))
>            (initializer (gexp initialize-efi-partition)))
>           (partition
>            (size 'guess)
>            (label "Guix_image")
>            (file-system "ext4")
>            (flags '(boot))
>            (initializer (gexp initialize-root-partition)))))))

That’s really cool!  I’ve been willing to have something like that
forever, but the current <partition> record is buried on the build side,
which makes it inconvenient to use like you do above.

> On this branch, it is already possible to generate an EFI disk-image,
> with the traditional command:
>
> ./pre-inst-env guix system disk-image gnu/system/examples/desktop.tmpl
>
> On my computer, this takes 6m50 versus 2h30 for the master version. I
> tested the image in QEMU, everything seems fine.

Oh, this much on ‘master’?  Anyway, the speedup is undoubtedly there and
it’s really great.

> Now there's still plenty of work. This branch needs some more
> cleaning. Then we need to:
>
> * Add support for ISO images.

I see you did that in the meantime.

> * Extend support to grub (non-efi), extlinux and u-boot bootloaders.
> * Check everything works with --system and --target arguments.

Yeah.

I saw your message to janneke, and indeed, I think there’s room for
cooperation: janneke has come up with something that’s very close to
“normal” Guix System for GNU/Hurd, and one of the main stumbling blocks
in my mind is building the image and in particular getting proper GRUB
suppotr for multiboot OSes.

> I've re-implemented some parts of genimage in (gnu build disk-image)
> module. Now, we could also go further and remove the use of this tool
> completely.

I think it’s great.  :-)

Please do ping us when you want a closer review!

Ludo’.

      parent reply	other threads:[~2020-04-28 21:11 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-21 18:59 Image generation Mathieu Othacehe
2020-04-21 19:16 ` Leo Famulari
2020-04-24  9:31   ` Mathieu Othacehe
2020-04-28 21:15     ` Ludovic Courtès
2020-04-24  9:27 ` Mathieu Othacehe
2020-04-28 21:01   ` Ludovic Courtès
2020-04-28 21:10 ` Ludovic Courtès [this message]

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=87wo5zs4dd.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=m.othacehe@gmail.com \
    /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).