Re: Seeding the Linux RNG at first boot

2017-12-11 Thread Ludovic Courtès
Leo Famulari  skribis:

> On Thu, Dec 07, 2017 at 10:07:38PM +0100, Ludovic Courtès wrote:
>> Leo Famulari  skribis:
>> > On the guest side, we would extend urandom-seed-service to also draw on
>> > /dev/hwrng, which is where virtio-rng-pci makes the data from the host
>> > available.
>> 
>> Maybe ‘virtualized-operating-system’ in (gnu system vm) could
>> automatically customize ‘rngd-service-type’ (or add it)?
>
> Yes, we could do that, although I don't think it's necessary to run a
> daemon continuously. It is enough to seed the RNG once.
>
> At the same time we handle the random seed, we could also try reading
> from /dev/hwrng and, if the read is successful, copy some bytes into
> /dev/urandom. We'd have to try reading and handle failure since we
> always create /dev/hwrng regardless of whether the Linux kernel module
> is loaded or not.

OK.

>> > I have an idea for another improvement: to add an argument like
>> > "--entropy-seed=" to `guix system` that could place the value in
>> > '/var/lib/random-seed', where it would be used on first boot.
>> 
>> We could do that, though I very much prefer the idea of a “backdoor” à
>> la virtio-rng-pci, because it allows to stick to bit-reproducible images
>> (well, they’re not bit-reproducible yet I suppose, but let’s not add to
>> it.)
>
> I think it would be most useful for disk images, for which there is no
> host.

OK, in that case the “backdoor” isn’t an option.

> If one always passes the same value to --entropy-seed, it will not
> negatively affect the reproducibility of the image ;)
>
> This would not be something we do for the official release image, but
> merely an optional tool.

Yeah it’d be OK to add this as an option.

When the option is present, ‘guix system’ would hook into the VM
creation code somehow, or to extend ‘activation-service-type’ with code
to create the file.

Maybe we could provide a more generic --copy-file=SOURCE[=DEST] option?
Like --copy-file=./my-seed=/var/lib/random-seed or
--copy-file=$HOME/.ssh/authorized_keys.

Thoughts?

Ludo’.



Re: Iso image size

2017-12-11 Thread Ludovic Courtès
Hello,

Gábor Boskovits  skribis:

> I don't know what we are currently doing to get the installer iso image
> sized down, but I caught some discussion yesterday on irc, that the image
> is actually very well compressible, and checking the sizes it really is.
>
> Might that be possible to do something like compressing the root filesystem
> image on the iso image, and decompress it from initrd before mounting?

Wouldn’t it be complex and memory-intensive?

To me the efforts should go into reducing the size of our packages.  For
example, in ‘core-updates’, guile, glibc, and guix are already
noticeably smaller; likewise, the recently-introduced ‘groff-minimal’
allowed us to get rid of Perl in the installation system closure.  We
should keep working in that direction IMO.

Ludo’.



Reproducible installation images

2017-12-11 Thread Ludovic Courtès
Hi Mark,

Mark H Weaver  skribis:

> l...@gnu.org (Ludovic Courtès) writes:
>
>>   Here are the bootable USB installation images and their signatures[*]:
>> https://alpha.gnu.org/gnu/guix/guixsd-install-0.14.0.i686-linux.iso.xz
>> 
>> https://alpha.gnu.org/gnu/guix/guixsd-install-0.14.0.i686-linux.iso.xz.sig
>> https://alpha.gnu.org/gnu/guix/guixsd-install-0.14.0.x86_64-linux.iso.xz
>> 
>> https://alpha.gnu.org/gnu/guix/guixsd-install-0.14.0.x86_64-linux.iso.xz.sig
>>
>>   Here is the QCOW2 virtual machine (VM) image and its signature:
>> https://alpha.gnu.org/gnu/guix/guixsd-vm-image-0.14.0.x86_64-linux.xz
>> https://alpha.gnu.org/gnu/guix/guixsd-vm-image-0.14.0.x86_64-linux.xz.sig
>>
>>   Here are the binary tarballs and their signatures[*]:
>> https://alpha.gnu.org/gnu/guix/guix-binary-0.14.0.i686-linux.tar.xz
>> https://alpha.gnu.org/gnu/guix/guix-binary-0.14.0.i686-linux.tar.xz.sig
>> https://alpha.gnu.org/gnu/guix/guix-binary-0.14.0.x86_64-linux.tar.xz
>> https://alpha.gnu.org/gnu/guix/guix-binary-0.14.0.x86_64-linux.tar.xz.sig
>> https://alpha.gnu.org/gnu/guix/guix-binary-0.14.0.armhf-linux.tar.xz
>> https://alpha.gnu.org/gnu/guix/guix-binary-0.14.0.armhf-linux.tar.xz.sig
>> https://alpha.gnu.org/gnu/guix/guix-binary-0.14.0.aarch64-linux.tar.xz
>> 
>> https://alpha.gnu.org/gnu/guix/guix-binary-0.14.0.aarch64-linux.tar.xz.sig
>
> To enable independent verification of these installer images, it would
> be helpful to include the precise commands needed to reproduce these
> images, and the git commit to run them on.
>
> What do you think?

The manual already gives those commands:

  https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html 
(bottom)
  
https://www.gnu.org/software/guix/manual/html_node/Building-the-Installation-Image.html

Do you think we should show them more prominently?

However, disk images are likely not bit-reproducible currently,
primarily due to non-determinism in how file systems populate the disk.

They might be reproducible if ‘guix system’ always creates files in the
same order, which is something we could enforce (perhaps that’s already
the case).  If it’s not sufficient, then we should look at what others
in the reproducible-builds.org effort have been doing (Tails achieved
reproducible ISO images, for instance, and I think OpenWrt people were
looking at ext2 reproducibility.)

There may also be lingering non-reproducibility issues in some of the
packages included that need to be addressed.

It would be good to investigate!

Ludo’.



Re: 03/03: gnu: libinput: Update to 1.9.3.

2017-12-11 Thread Ludovic Courtès
Hi,

Efraim Flashner  skribis:

> On Fri, Dec 08, 2017 at 08:36:27PM -0500, Mark H Weaver wrote:
>> efr...@flashner.co.il (Efraim Flashner) writes:
>> 
>> > efraim pushed a commit to branch master
>> > in repository guix.
>> >
>> > commit 5f5083749c1ff2731e84fa7d8eea182ad45c18a5
>> > Author: Efraim Flashner 
>> > Date:   Fri Dec 8 09:25:40 2017 +0200
>> >
>> > gnu: libinput: Update to 1.9.3.
>> > 
>> > * gnu/packages/freedesktop.scm (libinput): Update to 1.9.3.
>> > [build-system]: Switch to meson-build-system.
>> 
>> FYI, switching to 'meson-build-system' here caused around 120+ more
>> dependency failures on armhf-linux, including xf86-input-libinput, since
>> we've never successfully built 'ninja' on armhf-linux.  So, we've
>> essentially just lost graphics support on armhf-linux.
>> 
>>Mark
>
> 1.8.3 is the last version that still has autotools support, it was
> removed in the 1.9 branch. Unfortunately I don't have access to an armhf
> machine to try to fix the armhf build of ninja. I suspect that this is
> going to be an issue going forward, as more packages move to a meson
> build system.
>
> I'm not against downgrading to 1.8.3 in the mean time to keep the
> packages that depend on libinput{,-minimal} available to armhf users,
> but it is something that's going to need to be addressed sooner rather
> than later.

Maybe the safe approach is to revert now so armhf users get graphics
back, take time to investigate and fix the Ninja build failures on ARM
(surely there are patches floating around on the intertubes), and then
reinstate the upgrade.

How does that sound?

(Note that I’m volunteering, but hey!  ;-))

Ludo’.



Re: Reproducible installation images

2017-12-11 Thread ng0
Ludovic Courtès transcribed 2.6K bytes:
> Hi Mark,
> 
> Mark H Weaver  skribis:
> 
> > l...@gnu.org (Ludovic Courtès) writes:
> >
> >>   Here are the bootable USB installation images and their signatures[*]:
> >> https://alpha.gnu.org/gnu/guix/guixsd-install-0.14.0.i686-linux.iso.xz
> >> 
> >> https://alpha.gnu.org/gnu/guix/guixsd-install-0.14.0.i686-linux.iso.xz.sig
> >> 
> >> https://alpha.gnu.org/gnu/guix/guixsd-install-0.14.0.x86_64-linux.iso.xz
> >> 
> >> https://alpha.gnu.org/gnu/guix/guixsd-install-0.14.0.x86_64-linux.iso.xz.sig
> >>
> >>   Here is the QCOW2 virtual machine (VM) image and its signature:
> >> https://alpha.gnu.org/gnu/guix/guixsd-vm-image-0.14.0.x86_64-linux.xz
> >> 
> >> https://alpha.gnu.org/gnu/guix/guixsd-vm-image-0.14.0.x86_64-linux.xz.sig
> >>
> >>   Here are the binary tarballs and their signatures[*]:
> >> https://alpha.gnu.org/gnu/guix/guix-binary-0.14.0.i686-linux.tar.xz
> >> https://alpha.gnu.org/gnu/guix/guix-binary-0.14.0.i686-linux.tar.xz.sig
> >> https://alpha.gnu.org/gnu/guix/guix-binary-0.14.0.x86_64-linux.tar.xz
> >> 
> >> https://alpha.gnu.org/gnu/guix/guix-binary-0.14.0.x86_64-linux.tar.xz.sig
> >> https://alpha.gnu.org/gnu/guix/guix-binary-0.14.0.armhf-linux.tar.xz
> >> 
> >> https://alpha.gnu.org/gnu/guix/guix-binary-0.14.0.armhf-linux.tar.xz.sig
> >> https://alpha.gnu.org/gnu/guix/guix-binary-0.14.0.aarch64-linux.tar.xz
> >> 
> >> https://alpha.gnu.org/gnu/guix/guix-binary-0.14.0.aarch64-linux.tar.xz.sig
> >
> > To enable independent verification of these installer images, it would
> > be helpful to include the precise commands needed to reproduce these
> > images, and the git commit to run them on.
> >
> > What do you think?
> 
> The manual already gives those commands:
> 
>   https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html 
> (bottom)
>   
> https://www.gnu.org/software/guix/manual/html_node/Building-the-Installation-Image.html
> 
> Do you think we should show them more prominently?
> 
> However, disk images are likely not bit-reproducible currently,
> primarily due to non-determinism in how file systems populate the disk.
> 
> They might be reproducible if ‘guix system’ always creates files in the
> same order, which is something we could enforce (perhaps that’s already
> the case).  If it’s not sufficient, then we should look at what others
> in the reproducible-builds.org effort have been doing (Tails achieved
> reproducible ISO images, for instance, and I think OpenWrt people were
> looking at ext2 reproducibility.)
> 
> There may also be lingering non-reproducibility issues in some of the
> packages included that need to be addressed.
> 
> It would be good to investigate!

Definitely, I agree. Should we open a new bug ticket to track this effort?

> Ludo’.
> 
> 

-- 
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
GnuPG: https://c.n0.is/ng0_pubkeys/tree/keys
  WWW: https://n0.is


signature.asc
Description: PGP signature


Re: Dualbooting with guixsd not handling grub installation

2017-12-11 Thread Ludovic Courtès
Hello,

Mathieu Othacehe  skribis:

>>> This could be done by adding a cli argument for reconfigure or allowing
>>> an empty string in (grub-configuration (target "")).
>>>
>>> WDYT?
>>>
>
> An already available option would be to override the grub-installer like
> this :
>
> (define no-op-installer
>   #~(lambda (bootloader device mount)
>   (display "no op")))
>
> (bootloader (bootloader
>  (inherit grub-bootloader)
>  (installer no-op-installer))

We could even define and document it as ‘no-bootloader’ or something
like that.

> I admit this is not ideal, so I would propose two options :
>
> * Allow for target field to be #f and do not call the installer when
> this happends.

Sounds reasonable.

> * Precise the --no-bootloader parameter of guix system to deal with
> multiple cases, for example :
>
> --bootloader=[default|no-config-file|no-install|...]
>
> WDYT ?

What would it do in the ‘no-config-file’ case?  Run ‘grub-install’ (or
similar) without regenerating ‘grub.cfg’?  Does that make sense?

Thanks,
Ludo’.



Problems updating guix to 0.14.0 using guix pull.

2017-12-11 Thread Hartmut Goebel
Hi,

I try updating guix to 0.14.0 using guix pull. This fails

# guix --version
guix (GNU Guix) 20170924.19
# guix pull
… error-message suggesting to run guix package -i guile-git
# guix package -i guile-git
… done
# … set environment variables
# guix pull
…
Updating from Git repository at 'https://git.savannah.gnu.org/git/guix.git
Building from Git commit 8be84d31…
…

-- 
Regards
Hartmut Goebel

| Hartmut Goebel  | h.goe...@crazy-compilers.com   |
| www.crazy-compilers.com | compilers which you thought are impossible |



0xBF773B65.asc
Description: application/pgp-keys


Problems updating guix to 0.14.0 using guix pull (solved)

2017-12-11 Thread Hartmut Goebel
Hi,

Sorry, I just sent the message unfinished, here is the complete one.

When I tried to reproduce this problem, it was gone. Fine for me :-) but
no problem report any more :-(


-- 
Regards
Hartmut Goebel

| Hartmut Goebel  | h.goe...@crazy-compilers.com   |
| www.crazy-compilers.com | compilers which you thought are impossible |




0xBF773B65.asc
Description: application/pgp-keys


Needs enhancement: "is my guix current?"

2017-12-11 Thread Hartmut Goebel
Hi,

on my effort to solve the problems when updating to guix 0.14.0, I
stepped over this simple question:

Is the installed guix the current one, resp. the current one my guix
knows of? Is there anyway to find out whether 20170924.19 or
0.13.0-6.a9468b4 is newer?

guix installed:

    # guix --version
    guix (GNU Guix) 20170924.19

guix knows to my guix:

    # guix package -A guix
    guix    0.13.0-6.a9468b4


From the usability point of view, this information needs to be ovbiously
available. Users should easily be able to to determine which version is
the newer one.

Since I do not know how these different version numbers are generated, I
can't make any suggestions, though. Sorry.

-- 
Regards
Hartmut Goebel

| Hartmut Goebel  | h.goe...@crazy-compilers.com   |
| www.crazy-compilers.com | compilers which you thought are impossible |





Re: Reproducible installation images

2017-12-11 Thread Ludovic Courtès
ng0  skribis:

> Ludovic Courtès transcribed 2.6K bytes:

[...]

>> However, disk images are likely not bit-reproducible currently,
>> primarily due to non-determinism in how file systems populate the disk.
>> 
>> They might be reproducible if ‘guix system’ always creates files in the
>> same order, which is something we could enforce (perhaps that’s already
>> the case).  If it’s not sufficient, then we should look at what others
>> in the reproducible-builds.org effort have been doing (Tails achieved
>> reproducible ISO images, for instance, and I think OpenWrt people were
>> looking at ext2 reproducibility.)
>> 
>> There may also be lingering non-reproducibility issues in some of the
>> packages included that need to be addressed.
>> 
>> It would be good to investigate!
>
> Definitely, I agree. Should we open a new bug ticket to track this effort?

Sure, two even: one for the binary tarball, one for the GuixSD ISO
image.

Ludo’.



Re: Needs enhancement: "is my guix current?"

2017-12-11 Thread Ludovic Courtès
Hi,

Hartmut Goebel  skribis:

> Is the installed guix the current one, resp. the current one my guix
> knows of? Is there anyway to find out whether 20170924.19 or
> 0.13.0-6.a9468b4 is newer?
>
> guix installed:
>
>     # guix --version
>     guix (GNU Guix) 20170924.19

Nowadays a Git commit is recorded, not a date.

Currently ‘guix package’ et al. simply warn you if you haven’t run ‘guix
pull’ in seven days.  It could also check the upstream Git repo for the
latest commit, though that wouldn’t provide much more information, I
think.

Ludo’.



Re: FOSDEM 2018 and announcing a GNU Guix/Guile day!

2017-12-11 Thread Mark Meyer
Hi Manolis,
I'll be in Brussels for FOSDEM and will join you :)

Cheers, Mark

On Tue, Dec 5, 2017, at 18:59, Manolis Ragkousis wrote:
> Hello everyone,
> 
> We now have a wiki page for our FOSDEM GNU Guix/Guile day. [1]
> 
> If you are going to attend please add your name to the wiki, or just
> respond to this email, so we can order enough lunches! Of course
> everyone is welcome to come whether they register or not!
> 
> Also if you know anyone wanting to sponsor the event, please do tell him
> to contact me or Pjotr!
> 
> Looking forward to seeing everyone there!
> 
> Manolis
> 
> [1] https://libreplanet.org/wiki/Group:Guix/FOSDEM2018
> 


-- 
  Mark Meyer
  m...@ofosos.org



Re: Seeding the Linux RNG at first boot

2017-12-11 Thread Leo Famulari
On Mon, Dec 11, 2017 at 10:16:42AM +0100, Ludovic Courtès wrote:
> Leo Famulari  skribis:
> > At the same time we handle the random seed, we could also try reading
> > from /dev/hwrng and, if the read is successful, copy some bytes into
> > /dev/urandom. We'd have to try reading and handle failure since we
> > always create /dev/hwrng regardless of whether the Linux kernel module
> > is loaded or not.
> 
> OK.

Okay, I'll work on adding this to the urandom-seed-service.

> > If one always passes the same value to --entropy-seed, it will not
> > negatively affect the reproducibility of the image ;)
> >
> > This would not be something we do for the official release image, but
> > merely an optional tool.
> 
> Yeah it’d be OK to add this as an option.
> 
> When the option is present, ‘guix system’ would hook into the VM
> creation code somehow, or to extend ‘activation-service-type’ with code
> to create the file.
> 
> Maybe we could provide a more generic --copy-file=SOURCE[=DEST] option?
> Like --copy-file=./my-seed=/var/lib/random-seed or
> --copy-file=$HOME/.ssh/authorized_keys.
> 
> Thoughts?

That sounds good to me. I'll try implementing it.


signature.asc
Description: PGP signature


Re: FOSDEM 2018 and announcing a GNU Guix/Guile day!

2017-12-11 Thread ng0
Pjotr Prins transcribed 1.0K bytes:
> We are hosting a GNU Guix and Guile day on Friday before FOSDEM (that
> is Feb 2nd.). We have a large room for 40 people at http://icab.be/
> for the whole day. In the morning we'll have talks - and in the
> afternoon it is free discussion and hacking. 
> 
> Write Manolis, Ludo or me if you would like to give a talk. 
> 
> We'll want to record them, so if anyone here has a camera and is
> willing to help out we will be very grateful!
> 
> We'll set up a registration page a few weeks in advance because we
> need to know how many lunches to order. Note you can also stay at
> ICAB. It is not expensive and I have heard it is pretty good. 
> 
> FOSDEM is one of the greatest free software events in the world with 2
> days of talks on some 30 tracks https://fosdem.org/2018/! You should
> consider going. Almost everyone I know who attends FOSDEM keeps coming
> back. There is something for everyone! Personally, I get inspired
> *every* time (sometimes detrimental to my free time the rest of the
> year). 
> 
> It is how I got to be part of Guix - it was a talk by Ludo. Hope to
> see you there! 
> 
> Pj.

For those who can not make it to the meeting - I'm still not sure if
it'll be financially and timewise good for me to attend - could you
try to hook the meeting / talk parts into mumble? In other words,
have one laptop joined on a mumble server and (ideally) let those
back at home participate. We've done this with at least the last
GNUnet eV meeting and a couple of secushare meetings.

You can use our mumble server on gnunet.org for this.

-- 
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
GnuPG: https://c.n0.is/ng0_pubkeys/tree/keys
  WWW: https://n0.is


signature.asc
Description: PGP signature


Re: Guix - installation script

2017-12-11 Thread myglc2
On 10/02/2017 at 09:15 Pjotr Prins writes:

> A script that would install the binary install package of Guix would
> be very useful. It should unpack the tarball into /gnu/store and
> /var/guix (checking nothing is there), set the keys and (optionally)
> the build users. Ideally we should have:
>
>wget install.sh
>sudo sh install.sh
>  - fetchin' guix...
>  - unpacking guix...
>  - installing guix...
>  - fetching keys...
>  - set build users...
>  - running guix pull...
>guix package -i hello
>(binary installs...)
>
> They keys of main substitute servers should just work.
>
> I just went through helping someone install Guix remotely and it is
> *too* painful. He is an experienced devop(!) It took hours, mostly
> because he forgot to set the keys correctly (Guix gives no proper
> feedback).
[...]

I don't see how we can recommend Guix with a clear conscience if we
don't automate these tedious steps, at least for a few popular
distributions.

FWIW, the last time I grappled with a binary install (guix-0.9.0 in Mar
2016 on Debian), I found a makefile to be the most handy way to automate
install/uninstall. I'm not posting it because it doesn't work w/ Guix
0.15.0, but happy to provide to anyone interested. - George



Re: Reproducible installation images

2017-12-11 Thread Mark H Weaver
l...@gnu.org (Ludovic Courtès) writes:

> Mark H Weaver  skribis:
>
>> l...@gnu.org (Ludovic Courtès) writes:
>>
>>>   Here are the bootable USB installation images and their signatures[*]:
>>> https://alpha.gnu.org/gnu/guix/guixsd-install-0.14.0.i686-linux.iso.xz
>>> 
>>> https://alpha.gnu.org/gnu/guix/guixsd-install-0.14.0.i686-linux.iso.xz.sig
>>> https://alpha.gnu.org/gnu/guix/guixsd-install-0.14.0.x86_64-linux.iso.xz
>>> 
>>> https://alpha.gnu.org/gnu/guix/guixsd-install-0.14.0.x86_64-linux.iso.xz.sig
>>>
>>>   Here is the QCOW2 virtual machine (VM) image and its signature:
>>> https://alpha.gnu.org/gnu/guix/guixsd-vm-image-0.14.0.x86_64-linux.xz
>>> 
>>> https://alpha.gnu.org/gnu/guix/guixsd-vm-image-0.14.0.x86_64-linux.xz.sig
>>>
>>>   Here are the binary tarballs and their signatures[*]:
>>> https://alpha.gnu.org/gnu/guix/guix-binary-0.14.0.i686-linux.tar.xz
>>> https://alpha.gnu.org/gnu/guix/guix-binary-0.14.0.i686-linux.tar.xz.sig
>>> https://alpha.gnu.org/gnu/guix/guix-binary-0.14.0.x86_64-linux.tar.xz
>>> 
>>> https://alpha.gnu.org/gnu/guix/guix-binary-0.14.0.x86_64-linux.tar.xz.sig
>>> https://alpha.gnu.org/gnu/guix/guix-binary-0.14.0.armhf-linux.tar.xz
>>> https://alpha.gnu.org/gnu/guix/guix-binary-0.14.0.armhf-linux.tar.xz.sig
>>> https://alpha.gnu.org/gnu/guix/guix-binary-0.14.0.aarch64-linux.tar.xz
>>> 
>>> https://alpha.gnu.org/gnu/guix/guix-binary-0.14.0.aarch64-linux.tar.xz.sig
>>
>> To enable independent verification of these installer images, it would
>> be helpful to include the precise commands needed to reproduce these
>> images, and the git commit to run them on.
>>
>> What do you think?
>
> The manual already gives those commands:
>
>   https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html 
> (bottom)
>   
> https://www.gnu.org/software/guix/manual/html_node/Building-the-Installation-Image.html

They give the commands, but they do not provide the git commit that you
ran these commands on.

> However, disk images are likely not bit-reproducible currently,
> primarily due to non-determinism in how file systems populate the disk.

That's true, but it would still allow us to independently create images
as close as possible to the ones you created, and it would allow us to
compare the images and see how they differ.

  Mark