From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mathieu Othacehe Subject: Guix System for embedded systems roadmap. Date: Sun, 15 Mar 2020 13:39:13 +0100 Message-ID: <8736a9lrm6.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:45812) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jDSY5-0001hX-1j for guix-devel@gnu.org; Sun, 15 Mar 2020 08:39:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jDSY3-0000Id-O5 for guix-devel@gnu.org; Sun, 15 Mar 2020 08:39:20 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]:43748) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jDSY3-0000E1-F8 for guix-devel@gnu.org; Sun, 15 Mar 2020 08:39:19 -0400 Received: by mail-wr1-x433.google.com with SMTP id b2so11544608wrj.10 for ; Sun, 15 Mar 2020 05:39:16 -0700 (PDT) Received: from cervin ([2a01:e0a:fa:a50:709f:c263:3a05:fdf9]) by smtp.gmail.com with ESMTPSA id u7sm17242644wme.43.2020.03.15.05.39.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Mar 2020 05:39:14 -0700 (PDT) List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane-mx.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org 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