* Guix System for embedded systems roadmap.
@ 2020-03-15 12:39 Mathieu Othacehe
2020-03-17 9:44 ` Ludovic Courtès
0 siblings, 1 reply; 4+ messages in thread
From: Mathieu Othacehe @ 2020-03-15 12:39 UTC (permalink / raw)
To: guix-devel
Hello,
At Fosdem 2020, I gave a talk about using GNU Guix as an alternative to
Yocto, focusing on cross-compiling a Guix System. Here's a status and
my personal roadmap on this topic.
* On core-updates, since commit
d594963856690f1aacf228c8a83e406d33bc44ce, cross-compiling a bare-bones
Guix System disk-image for Pine A64 works. This is propably true for
other boards too.
* On the same commit, the produced disk-image weights 1.9 GiB, which is
obviously too big. I'm working on reducing this closure size. See:
https://issues.guix.info/issue/39941 and
https://issues.guix.info/issue/40071.
* While cross-compilation is important, Guix also supports emulated
compilation with --system. Producing a Guix System disk-image with
--system is currently broken and needs to be fix. See
https://lists.gnu.org/archive/html/guix-devel/2019-12/msg00099.html.
* Somehow related to the previous point, producing a disk-image,
currently means spawning a virtual machine. This can be very slow, and
using --system, we currently emulate the execution of a virtual
machine for a foreign architecture.
I'd like to propose an alternative mechanism which would be faster and
not involving virtual machines. Maybe producing the disk-image in a
container?
* Increase board support catalog, even if it's tricky because many
boards need proprietary blobs to boot (such as Raspberry Pis). The
effort started by Danny on wip-buildroot could be resumed.
* Finally, as we discussed during Guix Days[1], it would be nice to have
a webservice, where you could select your board, the packages/services
you want to install, and a disk-image, cross-compiled or not, would be
generated for you! It implies that all the points listed above are
solved, but it could be quite nice :)
Feedback welcome!
Thanks,
Mathieu
[1]:
http://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/doc/guix-days-2020/growing-guix.org
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Guix System for embedded systems roadmap.
2020-03-15 12:39 Guix System for embedded systems roadmap Mathieu Othacehe
@ 2020-03-17 9:44 ` Ludovic Courtès
2020-03-17 13:08 ` Danny Milosavljevic
0 siblings, 1 reply; 4+ messages in thread
From: Ludovic Courtès @ 2020-03-17 9:44 UTC (permalink / raw)
To: Mathieu Othacehe; +Cc: guix-devel
Hello Mathieu,
Mathieu Othacehe <m.othacehe@gmail.com> skribis:
> At Fosdem 2020, I gave a talk about using GNU Guix as an alternative to
> Yocto, focusing on cross-compiling a Guix System. Here's a status and
> my personal roadmap on this topic.
I’m not much of an embedded person, but this looks like a great
application and it’s great to see progress being made!
> * Somehow related to the previous point, producing a disk-image,
> currently means spawning a virtual machine. This can be very slow, and
> using --system, we currently emulate the execution of a virtual
> machine for a foreign architecture.
>
> I'd like to propose an alternative mechanism which would be faster and
> not involving virtual machines. Maybe producing the disk-image in a
> container?
Unfortunately, I don’t think that’s possible. The reason we resort to
VMs is that the Linux kernel doesn’t allow you, for instance, to mount a
file system without being root. So doing things like running Parted,
mounting a file system, and populating it typically requires root
privileges. (In some cases, there are tools like mksquashfs that can do
that from user-space, but it’s very ad-hoc.)
Thoughts?
> * Increase board support catalog, even if it's tricky because many
> boards need proprietary blobs to boot (such as Raspberry Pis). The
> effort started by Danny on wip-buildroot could be resumed.
Speaking of which, I’d love to get my A20 OLinuXino running Guix
System. :-)
I checked what Buildroot had about that board, but I found the
information to be rather scattered and of varying levels of abstraction,
which made it hard to see if there was anything different from what we
do.
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Guix System for embedded systems roadmap.
2020-03-17 9:44 ` Ludovic Courtès
@ 2020-03-17 13:08 ` Danny Milosavljevic
2020-03-18 14:54 ` Ludovic Courtès
0 siblings, 1 reply; 4+ messages in thread
From: Danny Milosavljevic @ 2020-03-17 13:08 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
[-- Attachment #1: Type: text/plain, Size: 814 bytes --]
Hi Ludo,
On Tue, 17 Mar 2020 10:44:25 +0100
Ludovic Courtès <ludo@gnu.org> wrote:
> Speaking of which, I’d love to get my A20 OLinuXino running Guix
> System. :-)
What is the latest state of it?
I used
guix system disk-image -s armhf-linux -e '(@ (gnu system install) a20-olinuxino-micro-installation-os)'
after editing the embedded-installation-os to hardcode /dev/vda .
And it just keeps building basic stuff, like util-linux-with-udev etc.
I think I have managed to build an actual disk image for olinuxino only once
in two years (using guix). Just saying...
Right now, guix will keep building stuff until linux-libre, which will hang at
compilation of some net builtins.
If you want, I can check the image you already have using a serial cable on my
olinuxino micro.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Guix System for embedded systems roadmap.
2020-03-17 13:08 ` Danny Milosavljevic
@ 2020-03-18 14:54 ` Ludovic Courtès
0 siblings, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2020-03-18 14:54 UTC (permalink / raw)
To: Danny Milosavljevic; +Cc: guix-devel
Hi!
Danny Milosavljevic <dannym@scratchpost.org> skribis:
> On Tue, 17 Mar 2020 10:44:25 +0100
> Ludovic Courtès <ludo@gnu.org> wrote:
>
>> Speaking of which, I’d love to get my A20 OLinuXino running Guix
>> System. :-)
>
> What is the latest state of it?
On my side the latest state is: I gave up and installed Debian + Guix.
:-)
> I used
>
> guix system disk-image -s armhf-linux -e '(@ (gnu system install) a20-olinuxino-micro-installation-os)'
>
> after editing the embedded-installation-os to hardcode /dev/vda .
>
> And it just keeps building basic stuff, like util-linux-with-udev etc.
>
> I think I have managed to build an actual disk image for olinuxino only once
> in two years (using guix). Just saying...
I did manage to build an image some time ago, no problem there. I used:
(list (channel
(name 'guix)
(url "https://git.savannah.gnu.org/git/guix.git")
(commit
"d08c3e51ab62575e722aec24fba42a0cb84198cc")))
The thing wouldn’t boot, though.
Ludo’.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-03-18 14:54 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-15 12:39 Guix System for embedded systems roadmap Mathieu Othacehe
2020-03-17 9:44 ` Ludovic Courtès
2020-03-17 13:08 ` Danny Milosavljevic
2020-03-18 14:54 ` Ludovic Courtès
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).