From mboxrd@z Thu Jan 1 00:00:00 1970 From: Leo Famulari Subject: Re: Guix on Mobile (Was: Interest check: U-Boot bootloader support) Date: Mon, 22 Feb 2016 15:28:49 -0500 Message-ID: <20160222202849.GB14025@jasmine> References: <20160220204325.GA16645@novena-choice-citizen.lan> <87vb5giupe.fsf@grrlz.net> <87povo8w0k.fsf@dustycloud.org> <20160222191927.GA4900@novena-choice-citizen.lan> <20160222211756.6f286f57@scratchpost.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42702) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aXx6G-0007xj-Ug for guix-devel@gnu.org; Mon, 22 Feb 2016 15:28:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aXx6B-0001UV-Tt for guix-devel@gnu.org; Mon, 22 Feb 2016 15:28:56 -0500 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:59866) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aXx6B-0001UO-PL for guix-devel@gnu.org; Mon, 22 Feb 2016 15:28:51 -0500 Content-Disposition: inline In-Reply-To: <20160222211756.6f286f57@scratchpost.org> 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.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Danny Milosavljevic Cc: guix-devel@gnu.org On Mon, Feb 22, 2016 at 09:17:56PM +0100, Danny Milosavljevic wrote: > Hi, > > On Tue, 23 Feb 2016 06:19:27 +1100 > Jookia <166291@gmail.com> wrote: > > > Basically the bootloader would just be Linux to do some hardware init (touch screen, etc) > > Actually, on ARM you usually have to do basic hardware init before Linux runs. > Linux doesn't do it all. Often, booting Linux without U-Boot doesn't work. > > On linux-sunxi, U-Boot initializes some clocks, memory, important regulators, USB, MMC and the framebuffer (I'm sure I forgot some). > > U-Boot started out as just a tiny copy of Linux, but it has diverged a bit since. > > There are also weird things like you aren't allowed to turn stuff you need later off (in, say, U-Boot), because once it's off, you can't turn it on again (because it's off, duh) without rebooting. So kexeced Linux can find itself in a world of hurt. > > (There's a special data-passing mechanism between U-Boot and Linux in order to mitigate that problem - but does it work between Linux and kexec-Linux?) > > > systems with GRUB and U-Boot as Linux tends to initialize hardware better than > > them (neither U-Boot nor Libreboot like either of the EDID values of my screen!) > > and would probably allow faster bootup given you're not initializing the > > hardware twice. > > I also have a screen with wrong EDID. I have a DVI<->HDMI adapter by ATI which contains an EDID chip in order to fake the data in order to get it to work. How insane is that? > > That said, on the general interest: guix is already slooow on a fairly modern X200. If that ran on an armv7, it would probably be much slower. Not fun. > > But might be worth a try. Did someone try the non-GuixSD armv7 thing? Is the speed acceptable? I used a Cubieboard 2 (Allwinner A20 SOC) as a home server for a while, with Guix on Debian. To be honest, it was not much fun for a lot of reasons. For Guix specifically, the experience led me to conclude that copyleft licensing isn't worth much if you can't actually compile from source on your hardware. The Allwinner A20 as used in the Cubieboard 2 is unstable when fully loaded [0]. So, you have to do things like restrict the compilation to a single core, or even just part of a single core. And this was after I installed a heatsink. Systemd makes this really easy; it exposes cgroups to services, so I limited the guix-daemon and all its children that way. Of course, you can cross-compile, or use substitutes from a more powerful armv7 machine that you own. We use the Novena in our build farm, so it *is* possible to get armv7 hardware that is worth using. But you must choose the right hardware. [0] I've heard good things about Olimex's Allwinner implementations.