Subject: Re: [bug#28288] [PATCH 1/5] vm: Add support for registering closures to make-iso9660-image.

From: Christopher Baines <[email-masked]>
Date: Wed, 6 Sep 2017 08:05:32 +0100

On Tue, 05 Sep 2017 15:17:32 +0200
[email-masked] (Ludovic Courtès) wrote:

> Hi!
> 
> Christopher Baines <[email-masked]> skribis:
> 
> > This mimics the functionality in the root-partition-initializer
> > used in creating the QEMU image. This helps when trying to run guix
> > system init from the generated ISO image.
> >
> > * gnu/build/vm.scm (make-iso9660-image): Add support for
> > registering closures.  
> 
> [...]
> 
> > +    (when register-closures?
> > +      (display "registering closures...\n")
> > +      (for-each (lambda (closure)
> > +                  (register-closure
> > +                   "/tmp/root"
> > +                   (string-append "/xchg/" closure)
> > +                   #:deduplicate? #f))
> > +                closures))  
> 
> Was there any specific reason for #:deduplicate? #f here?

Yep, the image creation process fails if this is not specified.

error: cannot link
`/tmp/root/gnu/store/.links/1wj8bqv0ygz606a0day0gk7w37prsnbg5z2im2yf025r0y6lqfs0'
to
`/tmp/root/gnu/store/00lgsgxvv1hfhl22yqmzsa3lrs5qa9my-firmware/lib/firmware/b43-open':
Invalid cross-device link

There is probably another way around this though. I'm not sure what
impact skipping the deduplication has on the size of the image.

> Otherwise LGTM!
> Ludo’.