help-guix
[Top][All Lists]
Advanced

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

Re: GuixSD on arm (ng0)


From: David Craven
Subject: Re: GuixSD on arm (ng0)
Date: Tue, 5 Jul 2016 16:03:53 +0200

I don't see guixsd as a linux distro but more as a linux distro
building kit. Sure there are default options for new users, but the
idea behind guix was to be like emacs right? So freedom and
hackability are the most important core values here, including the
freedom of choice of bootloader.

Also on a related issue. At some point we may want something like the
AUR for packages that don't comply with the guix packaging guidelines
(for example linux-firmware). Or that have few users. So if I want to
write my own bootloader and convince my friends to use it - it should
not be in the guix tree, but it would be nice if there were a way to
publish my package. This is something I missed in nixos.

Cheers
David

On Tue, Jul 5, 2016 at 2:35 PM,  <address@hidden> wrote:
> Send Help-Guix mailing list submissions to
>         address@hidden
>
> To subscribe or unsubscribe via the World Wide Web, visit
>         https://lists.gnu.org/mailman/listinfo/help-guix
> or, via email, send a message with subject or body 'help' to
>         address@hidden
>
> You can reach the person managing the list at
>         address@hidden
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Help-Guix digest..."
>
>
> Today's Topics:
>
>    1. Re: Reproducible bootstrapping (Ludovic =?utf-8?Q?Court=C3=A8s?=)
>    2. Re: GuixSD on arm (Ludovic =?utf-8?Q?Court=C3=A8s?=)
>    3. Re: udev rules and system configuration
>       (Ludovic =?utf-8?Q?Court=C3=A8s?=)
>    4. Re: Reproducible bootstrapping (t3sserakt)
>    5. Re: GuixSD on arm (t3sserakt)
>    6. Re: GuixSD on arm (ng0)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Tue, 05 Jul 2016 10:11:12 +0200
> From: address@hidden (Ludovic =?utf-8?Q?Court=C3=A8s?=)
> To: t3sserakt <address@hidden>
> Cc: t3sserakt <address@hidden>,  address@hidden
> Subject: Re: Reproducible bootstrapping
> Message-ID: <address@hidden>
> Content-Type: text/plain; charset=utf-8
>
> t3sserakt <address@hidden> skribis:
>
>> I was talking about reproducible builds like it is mentioned here:
>>
>> https://lwn.net/Articles/663954/
>
> Currently a large fraction (no exact figure yet) of the packages are
> bit-reproducible, but it?s not 100%.  For example, the .go files
> produced by Guile are not bit-reproducible yet, due to
> <http://bugs.gnu.org/20272>.
>
> I haven?t checked recently whether the packages involved in
> ?bootstrap-tarballs? are bit-reproducible.  It would be useful.
>
> However, note that the bootstrap binaries we currently use? were built
> in 2013 for the most part.  To rebuild them, you would need to do that
> from a Guix checkout of that time.
>
> I hope this answers your question.
>
> Ludo?.
>
> ? ftp://alpha.gnu.org:/gnu/guix/bootstrap
>
>
>
> ------------------------------
>
> Message: 2
> Date: Tue, 05 Jul 2016 10:23:07 +0200
> From: address@hidden (Ludovic =?utf-8?Q?Court=C3=A8s?=)
> To: Jookia <address@hidden>
> Cc: ng0 <address@hidden>, address@hidden,  t3sserakt
>         <address@hidden>
> Subject: Re: GuixSD on arm
> Message-ID: <address@hidden>
> Content-Type: text/plain; charset=utf-8
>
> Howdy Jookia,
>
> Jookia <address@hidden> skribis:
>
>> - Patches would get lost regularly.
>
> Lack of responsiveness is terrible, but I think it?s easy to complain
> about it until one gets involved in patch reviews.
>
> Also, some reviews are more difficult than other: adding support for
> another bootloader is not as simple as upgrading a package.
>
>> - GNUness over pragmatism.
>>
>> The main issue I had with doing an ARM port is the bootloader, and this is
>> because everyone I spoke to except Ludovic seemed to be hesitant towards 
>> using a
>> bootloader other than GRUB.
>
> I wrote repeatedly that using U-Boot is fine, especially if GRUB doesn?t
> work on this platform.
>
>> I have a distinct feeling this is due to a bias in building "the GNU system"
>> rather than building a fully free Guix-based system.
>
> There is this bias, which makes a difference from most other distros.  I
> don?t think I/we are blind though: when GNU lacks the right piece of
> software, using another free software package is the right thing to do.
>
>> This experience has put me off of Guix, GNU and free software development.
>
> I think you?re throwing the baby with the bathwater.
>
> Thanks for your feedback,
> Ludo?.
>
>
>
> ------------------------------
>
> Message: 3
> Date: Tue, 05 Jul 2016 10:34:37 +0200
> From: address@hidden (Ludovic =?utf-8?Q?Court=C3=A8s?=)
> To: Ricardo Wurmus <address@hidden>
> Cc: Daniel Pimentel <address@hidden>,  address@hidden
> Subject: Re: udev rules and system configuration
> Message-ID: <address@hidden>
> Content-Type: text/plain; charset=utf-8
>
> Hello!
>
> Ricardo Wurmus <address@hidden> skribis:
>
>> Ludovic Court?s <address@hidden> writes:
>>
>>> Ricardo Wurmus <address@hidden> skribis:
>>
>>>> Here?s an idea, which might be bad: how about adding a feature to load
>>>> and merge a directory tree of configuration files as they are?  For
>>>> example, if I had a directory ?/etc/guix/system/udev/rules.d? then all
>>>> files therein would automatically be considered part of the system
>>>> configuration, maybe after adding ?/etc/guix/system? as a prefix path to
>>>> some new field in the ?operating-system? declaration.
>>>>
>>>> I have a feeling that this will be considered a bad idea, but it also
>>>> seems to me that it would make the configuration of some parts of the
>>>> system easier than embedding file contents as strings in variables in
>>>> ?/etc/config.scm? and modifying services manually.
>
> [...]
>
>> These files are not loaded at system runtime but upon running ?guix
>> system reconfigure?.  Their contents *at that time* would be embedded in
>> the configuration.  Their state *at runtime* would not matter (just like
>> the contents of ?config.scm? don?t matter at runtime).
>>
>> The files would become part of the configuration in the store.  Changing
>> them would always require the additional step of reconfiguring the
>> system.
>
> OK, I had misunderstood your suggestion.  It doesn?t have the drawbacks
> I mentioned.
>
> However, I don?t like the idea of having special directories that are
> automatically scanned.  In my mind, it?s a problem similar to ?macro
> hygiene?: we should not scan files whose name does not appear in
> config.scm.
>
>>> However, what we can do is improve the interface.  Things that come to
>>> mind:
>>>
>>>   1. Change or remove the ?udev-rule? procedure; we should be using
>>>      file-like objects instead, so one could store them alongside
>>>      config.scm and write:
>>>
>>>        (local-file "./my-udev-rule")
>>
>> Is this really so different from the bad idea I proposed?  As soon as we
>> load files outside of ?config.scm? users would need to copy more than
>> just the GuixSD config file to duplicate the system state on another
>> machine.  In this example we would need both ?config.scm? and
>> ?my-udev-rule? in the same directory.
>
> It?s similar to your idea, except that the file is explicitly named in
> the <operating-system> object.
>
> If that helps, we could also allow users to specify a directory
> containing several rules, instead of just a single rule:
>
>   (local-file "./my-udev-rule-directory")
>
>>>   2. Add a ?extra-udev-rule? procedure that you could use like this:
>>>
>>>        (operating-system
>>>          ;; ?
>>>          (services (extra-udev-rule (local-file "./my-udev-rule"))
>>>                    ?))
>>>
>>>      thus avoiding the verbose ?modify-services? stanza.
>>>
>>>   3. (Instead of #2) Introduce a ?udev-rules? field in
>>>      ?operating-system?, just like we do for firmware.
>>>
>>> WDYT?
>>
>> I don?t know.  Although this would simplify configuration I don?t really
>> like either of them for somewhat conflicting reasons.  #3 gives special
>> treatment to udev rules (?What about Xorg config snippets??), and with
>> #2 it seems like an unnecessary implementation detail that this
>> ?extra-udev-rule? procedure is inside of the ?services? field (?How come
>> this is a service??).
>>
>> I also feel that we should avoid adding ?special? syntax.  Actually, I
>> really like how generic this whole ?modify-services? business is.  It?s
>> just a little too verbose to be user-friendly, in my opinion.
>
> I sympathize with that.
>
> In fact, <operating-system> translates to a <service> graph.  The whole
> <operating-system> thing is just ?syntax.?
>
> I would like to have a more formal way to describe this translation.  I
> think this would allow us to fearlessly add or remove fields to
> <operating-system>.  But I don?t know how to achieve it.
>
> In the meantime, we should still address the usability issue that you
> raised, which is why I made these suggestions.
>
> Thoughts?
>
> Thank you,
> Ludo?.
>
>
>
> ------------------------------
>
> Message: 4
> Date: Tue, 05 Jul 2016 10:35:51 +0200
> From: t3sserakt <address@hidden>
> To: address@hidden
> Cc: address@hidden
> Subject: Re: Reproducible bootstrapping
> Message-ID: <address@hidden>
> Content-Type: text/plain; charset=UTF-8; format=flowed
>
> Am 05.07.2016 10:11 schrieb address@hidden:
>> t3sserakt <address@hidden> skribis:
>>
>>> I was talking about reproducible builds like it is mentioned here:
>>>
>>> https://lwn.net/Articles/663954/
>>
>> Currently a large fraction (no exact figure yet) of the packages are
>> bit-reproducible, but it?s not 100%.  For example, the .go files
>> produced by Guile are not bit-reproducible yet, due to
>> <http://bugs.gnu.org/20272>.
>>
>> I haven?t checked recently whether the packages involved in
>> ?bootstrap-tarballs? are bit-reproducible.  It would be useful.
>>
>> However, note that the bootstrap binaries we currently use? were built
>> in 2013 for the most part.  To rebuild them, you would need to do that
>> from a Guix checkout of that time.
>>
>> I hope this answers your question.
>
> Yes. Thank you very much!
>
> t3sserakt
>
>>
>> Ludo?.
>>
>> ? ftp://alpha.gnu.org:/gnu/guix/bootstrap
>
>
>
> ------------------------------
>
> Message: 5
> Date: Tue, 5 Jul 2016 10:53:14 +0200
> From: t3sserakt <address@hidden>
> To: Jookia <address@hidden>, ng0 <address@hidden>
> Cc: address@hidden
> Subject: Re: GuixSD on arm
> Message-ID: <address@hidden>
> Content-Type: text/plain; charset=windows-1252
>
> Am 05.07.16 um 00:18 schrieb Jookia:
>> On Mon, Jul 04, 2016 at 05:14:56PM +0000, ng0 wrote:
>>> t3sserakt writes:
>>>
>>>> Hi Ludo,
>>>>
>>>> I would like to help, but I have no idea where to start.
>>>> I am "just" an application developer, and do not have
>>>> the right knowledge for doing this task alone.
>>>>
>>>> Additionally to that I am busy with helping the
>>>> secushare (gnunet) project.
>>>>
>>>> But if there is somebody who knows in more detail
>>>> what to do, I can help.
>>> I think Jookia was working on this.. or still is.. I am unsure
>>> about the state of Jookia's work.
>>> I'll CC Jookia and we'll see if this thread gets an reply.
>>>
>>> Additionally I CC'ed you t3ss because I don't know if you are
>>> subscribed.
>
> I am not. Thx!
>
>> Hi there!
>>
>> I started on an ARM port a few months ago with the intention of running the
>> system on my Novena, but eventually gave up given the hard development cycle.
>> I haven't talked about this before but I don't expect many people to read 
>> this
>> email, so here goes. The main pain points were these:
>>
>> - Patches would get lost regularly.
>>
>> This is probably the biggest issue, and from reading the mailing list it 
>> doesn't
>> seem to be solved. There was an attempt at adding a patch tracker but I guess
>> that was lost too. I suggested at some point to use a newer version of 
>> Mailman
>> which would help this, but the developers didn't think it useful. The 
>> suggested
>> way to fix this is to reply and get people's attention about your patches 
>> again.
>>
>> I'm not cut out to what feels like nagging people when I don't know the 
>> reasons
>> why they haven't replied. Perhaps this is how things work in other systems, 
>> but
>> as someone that suffers from social anxiety and finds it hard enough to even
>> send patches I can't deal with this, and Guix seems to be doing fine without 
>> me.
>>
>> - Feedback is little to none.
>>
>> As patches were lost and most discussion was done on the mail list, there was
>> basically no discussion on patches or design problems. After getting Guix to
>> boot on my Libreboot machine I went to work on fixing issues with the boot
>> system, such as adding support for legacy Libreboot systems and encrypted
>> bootloaders. This was lost.
>>
>> I also did some work to get LVM+LUKS working on Guix and tried to spark a
>> discussion in to fixing the design issues in system configuration. I think 
>> there
>> was about one reply, and it was lost.
>>
>> Some of the work that I did do and in fact got in somewhat by proxy is GTK+
>> theming. There's a habit of maintainers fixing things themselves rather than
>> taking patches, which I feel is a further hindrance to actually working on 
>> Guix.
>>
>> This gives me the impression that Guix doesn't have enough maintainers to
>> sustain people doing new development upstream, want to do things themselves, 
>> or
>> the project is just bad at communication.
>>
>> - GNUness over pragmatism.
>>
>> The main issue I had with doing an ARM port is the bootloader, and this is
>> because everyone I spoke to except Ludovic seemed to be hesitant towards 
>> using a
>> bootloader other than GRUB. Looking at the code base, I'd need to do make 
>> things
>> less GRUB-specific which I was happy to do, but I didn't want to do it wrong 
>> or
>> end up with my work ignored or thrown away.
>>
>> To be concrete, the conversation generally went like this: "To get the Novena
>> booting Guix I'll need to add support for U-Boot as a bootloader." "I've 
>> heard
>> GRUB works on ARM, have you tried that?" "Yes, it doesn't work from what I've
>> tried." "Perhaps you've done it wrong." "I can't rule that out, but GRUB on 
>> ARM
>> is still early work compared to U-Boot (which GRUB uses) and it'd work for 
>> more
>> boards." then the conversation would drop off.
>>
>> I have a distinct feeling this is due to a bias in building "the GNU system"
>> rather than building a fully free Guix-based system.
>
> I do not really want to start a debate on principles, but isn't the goal
> of GNU
> to have a fully free system?
>
>> I was originally going to
>> do a fork of Guix with my own changes that people could download, but in the 
>> end
>> I just went back to NixOS which runs happily on my Novena and my Libreboot
>> machine. The only reason I wanted to use Guix was so I could contribute 
>> patches
>> upstream and not maintain ones locally like I do with NixOS.
>>
>> - Summary
>>
>> This experience has put me off of Guix, GNU and free software development. I
>> don't blame any one, but more a system that doesn't incorporate people like 
>> me.
>> I'm not going to elaborate more on this, I just had to get it off my chest.
> That reads very sad.
>> I'm willing to send you code and help you with what I've done: It's mostly
>> reworking the bootloader. There's no ARM support yet, but I did identify the
>> points that need changing.
>
> That would be very kind. I would endeavor that your work will not be for
> nothing.
> Like Alex I also had the experience, that you need a lot of patience
> when participating
> in free software development. There are a lot of volunteer with more or
> less time
> for working on a huge amount of tasks.
>
> Maybe right now it is not the time for Guix on arm, but I hope you can
> be encouraged
> to give this community another chance in the future.
>
> t3sserakt
>
>
>
>
> ------------------------------
>
> Message: 6
> Date: Tue, 05 Jul 2016 12:08:32 +0000
> From: ng0 <address@hidden>
> To: address@hidden
> Cc: t3sserakt <address@hidden>, Jookia <address@hidden>
> Subject: Re: GuixSD on arm
> Message-ID: <address@hidden>
> Content-Type: text/plain; charset=utf-8
>
> Hi,
>
> thanks for your reply Jookia.
> This message makes it more clear to me why you quit/no longer
> consider the other project a while (some months?) ago.
>
> While I can not understand all of it, I have sympathy and can
> understand the current decisions you made.
>
> Further below a comment on some topics.
>
> Jookia writes:
>
>> On Mon, Jul 04, 2016 at 05:14:56PM +0000, ng0 wrote:
>>> t3sserakt writes:
>>>
>>> > Hi Ludo,
>>> >
>>> > I would like to help, but I have no idea where to start.
>>> > I am "just" an application developer, and do not have
>>> > the right knowledge for doing this task alone.
>>> >
>>> > Additionally to that I am busy with helping the
>>> > secushare (gnunet) project.
>>> >
>>> > But if there is somebody who knows in more detail
>>> > what to do, I can help.
>>>
>>> I think Jookia was working on this.. or still is.. I am unsure
>>> about the state of Jookia's work.
>>> I'll CC Jookia and we'll see if this thread gets an reply.
>>>
>>> Additionally I CC'ed you t3ss because I don't know if you are
>>> subscribed.
>>
>> Hi there!
>>
>> I started on an ARM port a few months ago with the intention of running the
>> system on my Novena, but eventually gave up given the hard development cycle.
>> I haven't talked about this before but I don't expect many people to read 
>> this
>> email, so here goes. The main pain points were these:
>>
>> - Patches would get lost regularly.
>>
>> This is probably the biggest issue, and from reading the mailing list it 
>> doesn't
>> seem to be solved. There was an attempt at adding a patch tracker but I guess
>> that was lost too. I suggested at some point to use a newer version of 
>> Mailman
>> which would help this, but the developers didn't think it useful. The 
>> suggested
>> way to fix this is to reply and get people's attention about your patches 
>> again.
>>
>> I'm not cut out to what feels like nagging people when I don't know the 
>> reasons
>> why they haven't replied. Perhaps this is how things work in other systems, 
>> but
>> as someone that suffers from social anxiety and finds it hard enough to even
>> send patches I can't deal with this, and Guix seems to be doing fine without 
>> me.
>>
>> - Feedback is little to none.
>>
>> As patches were lost and most discussion was done on the mail list, there was
>> basically no discussion on patches or design problems. After getting Guix to
>> boot on my Libreboot machine I went to work on fixing issues with the boot
>> system, such as adding support for legacy Libreboot systems and encrypted
>> bootloaders. This was lost.
>>
>> I also did some work to get LVM+LUKS working on Guix and tried to spark a
>> discussion in to fixing the design issues in system configuration. I think 
>> there
>> was about one reply, and it was lost.
>>
>> Some of the work that I did do and in fact got in somewhat by proxy is GTK+
>> theming. There's a habit of maintainers fixing things themselves rather than
>> taking patches, which I feel is a further hindrance to actually working on 
>> Guix.
>>
>> This gives me the impression that Guix doesn't have enough maintainers to
>> sustain people doing new development upstream, want to do things themselves, 
>> or
>> the project is just bad at communication.
>
> At the moment Guix has about 35 regular contributors after 4
> years. Gentoo has around 100 (or even more) after 16 or 17 years
> or how long they exist now (even after many went on to other
> distros).
>
> We started using patchworks, it's okay for now, but I'm still not
> completely happy. For me, It helps a bit in addition to marking
> done patches as "expired" in my mail client.
> Though it does not look like everyone is using patchworks, so
> occasionally I go through it, marking resolved patches as what
> they were resolved as. The only problem for me with it is a lack
> of tls on the instance we use it on, and the register process
> reads like you absolutely have to provide a first- and lastname
> and it can't just be one word: in my case all patches send in by
> 'ng0' are now labeled as send by/author 'non such'.
>
> I've got some further feedback regarding contribution and help
> from people who don't use Email and who have a dislike for
> freenode (contrary to what people claim there's is no freenode
> hidden-service left). Feedback I'm taking into consideration for
> a constructive proposal on changes, later when I have had enough
> time to think and write about it.
> It will include some longterm considerations, ideas and a
> translations of an article (which is why it is taking some
> time).
>
> As a short immediate question: why did we choose freenode? why
> not oftc, hackint, or a selfhosted psyced (irc,telnet,xmpp,psyc
> access) instance? I know nothing is constant and frozen, and I
> will give more input on the pro/cons etc in another thread,
> another time.
>
>> - GNUness over pragmatism.
>>
>> The main issue I had with doing an ARM port is the bootloader, and this is
>> because everyone I spoke to except Ludovic seemed to be hesitant towards 
>> using a
>> bootloader other than GRUB. Looking at the code base, I'd need to do make 
>> things
>> less GRUB-specific which I was happy to do, but I didn't want to do it wrong 
>> or
>> end up with my work ignored or thrown away.
>>
>> To be concrete, the conversation generally went like this: "To get the Novena
>> booting Guix I'll need to add support for U-Boot as a bootloader." "I've 
>> heard
>> GRUB works on ARM, have you tried that?" "Yes, it doesn't work from what I've
>> tried." "Perhaps you've done it wrong." "I can't rule that out, but GRUB on 
>> ARM
>> is still early work compared to U-Boot (which GRUB uses) and it'd work for 
>> more
>> boards." then the conversation would drop off.
>>
>> I have a distinct feeling this is due to a bias in building "the GNU system"
>> rather than building a fully free Guix-based system. I was originally going 
>> to
>> do a fork of Guix with my own changes that people could download, but in the 
>> end
>> I just went back to NixOS which runs happily on my Novena and my Libreboot
>> machine. The only reason I wanted to use Guix was so I could contribute 
>> patches
>> upstream and not maintain ones locally like I do with NixOS.
>>
>> - Summary
>>
>> This experience has put me off of Guix, GNU and free software development. I
>> don't blame any one, but more a system that doesn't incorporate people like 
>> me.
>> I'm not going to elaborate more on this, I just had to get it off my chest.
>>
>> I'm willing to send you code and help you with what I've done: It's mostly
>> reworking the bootloader. There's no ARM support yet, but I did identify the
>> points that need changing.
>>
>> Cheers,
>> Jookia.
>
> --
> ??  ng0
> For non-prism friendly talk find me on http://www.psyced.org
> SecuShare ? http://secushare.org
>
>
>
> ------------------------------
>
> Subject: Digest Footer
>
> _______________________________________________
> Help-Guix mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/help-guix
>
>
> ------------------------------
>
> End of Help-Guix Digest, Vol 8, Issue 8
> ***************************************



reply via email to

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