guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Building Docker images of GuixSD


From: Chris Marusich
Subject: Re: Building Docker images of GuixSD
Date: Mon, 30 Oct 2017 19:59:08 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)

address@hidden (Ludovic Courtès) writes:

> Chris Marusich <address@hidden> skribis:
>
>> [    1.345843] FS-Cache: Loaded
>> [    1.362140] 9pnet: Installing 9P2000 support
>> [    1.366118] 9p: Installing v9fs 9p2000 file system support
>> [    1.368730] FS-Cache: Netfs '9p' registered for caching
>> configuring QEMU networking...
>> loading '/gnu/store/jy509dgcsz82y13fmizv2sqaj90s1vfg-linux-vm-loader'...
>> ERROR: In procedure dynamic-link:
>> ERROR: In procedure dynamic-link: file: 
>> "/gnu/store/hwygv5jwd47amhp1m67iy3bkvxqjlbhm-libgcrypt-1.8.1/lib/libgcrypt", 
>> message: "file not found"
>
> The code above is running in the initrd, which means that it’s executed
> by ‘guile-static-stripped’, which does not support dlopening:

Glad I asked!  It would have required much more fumbling around before I
had even though about a possibility like that.  It makes sense now.

> So we should either make a big initrd with the dynamically-linked
>Guile,
> but then we may need to pass “-m 512” or similar to qemu…

I will try this.  I'm running the gexp in a linux vm is only because I
need permission to create some of the device files.  If you try to run
this as a normal builder (e.g., using gexp->derivation), the build will
fail because the builder tries to create device nodes and lacks
permission to do so.

I might also look into building the image in a container, since we also
have some build-side container logic available (e.g.,
call-with-container).

I'll let you know how it goes.

> Or we mount the host store over 9p and exec a dynamically-linked Guile
> from there.

I understand hat by "9p" you mean to share the file system with the VM,
but I don't quite understand what this option entails.  If the initrd
doesn't use the right Guile, why will sharing the store via 9p work?  Do
you mean to exec directly somehow, instead of using an initrd...?

-- 
Chris

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]