From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id OAGjFLsJzmC8EwEAgWs5BA (envelope-from ) for ; Sat, 19 Jun 2021 17:14:03 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id mKheELsJzmDbFQAAB5/wlQ (envelope-from ) for ; Sat, 19 Jun 2021 15:14:03 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id CD8B12200E for ; Sat, 19 Jun 2021 17:14:02 +0200 (CEST) Received: from localhost ([::1]:36370 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lucfZ-0001Cz-L5 for larch@yhetil.org; Sat, 19 Jun 2021 11:14:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60112) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lucdq-0001AN-Nv for guix-devel@gnu.org; Sat, 19 Jun 2021 11:12:14 -0400 Received: from smtpout2.vodafonemail.de ([145.253.239.133]:50994) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lucdf-0004Vm-44 for guix-devel@gnu.org; Sat, 19 Jun 2021 11:12:14 -0400 Received: from smtp.vodafone.de (smtpa08.fra-mediabeam.com [10.2.0.39]) by smtpout2.vodafonemail.de (Postfix) with ESMTP id 5377A12256E; Sat, 19 Jun 2021 17:11:56 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vodafonemail.de; s=vfde-smtpout-mb-15sep; t=1624115516; bh=t9jNy03cA7Iw2o0eEEyvAMGEtHgXsxpubeyC+ST3TUU=; h=Subject:From:In-Reply-To:Date:Cc:References:To; b=pPTh5xCbF6fPt0UNuG6G8KrwmHZmj19fUVEGSENShne3wxXvheu6ZU0xvkkzAG7XQ 9gJJD1hbxMGvo617kPm1kW+Z1LzYAXYzakCiGcvg2LUCIGGLWS2oZ87MQ4O1kC0QCl +2oOXJ69sGPCT1td27j/3qqW9s7eMoaU/lyVyzgY= Received: from macbook-pro.kuh-wiese.my-router.de (ipservice-092-212-012-132.092.212.pools.vodafone-ip.de [92.212.12.132]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.vodafone.de (Postfix) with ESMTPSA id A46FA140183; Sat, 19 Jun 2021 15:11:55 +0000 (UTC) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Subject: Re: Supporting *multiple* bootloaders for arm64 on a single install? From: Stefan In-Reply-To: <20210619140050.0715df69@scratchpost.org> Date: Sat, 19 Jun 2021 17:11:45 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: <6577B35F-1261-4EFF-81E4-E531A3FD6930@vodafonemail.de> References: <87y2bmznak.fsf@ponder> <20210619140050.0715df69@scratchpost.org> To: Danny Milosavljevic X-Mailer: Apple Mail (2.3124) X-purgate-type: clean X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de X-purgate: This mail is considered clean (visit http://www.eleven.de for further information) X-purgate: clean X-purgate-size: 3991 X-purgate-ID: 155817::1624115515-000006F1-32ACC14B/0/0 Received-SPF: pass client-ip=145.253.239.133; envelope-from=stefan-guix@vodafonemail.de; helo=smtpout2.vodafonemail.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Vagrant Cascadian , guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1624115642; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=t9jNy03cA7Iw2o0eEEyvAMGEtHgXsxpubeyC+ST3TUU=; b=GTylFVyYmD2roOCg6tlMrTaUMQXvAkmYT9oWA3s9tT6W3l3hk7O13HU7znosqJYsh5diTS ZZIxbPeFXQXV8KtOPTrY/nS2NtpMDz8gPOAqzV9YXHh4iG39WIHdbYyScOGDTiqEydUMp1 epvj9PdJwtyeAId3vMf7UsAZLfV4lG1uJh95uRum6mNasGzKqWs0uCjGdZcjJ2mQpOLiRO tfVfoi5WYW/n+b4z/aCd8604vVj06kAhFE0hgca/zLJLDqr6Gtr4vsShoTKOZZo3kFwuwW jbQGi1TCs1DRXNl/YMmTLgXNdIEnOc9OKTL2yanl5KzCW1XGfPF0TIuFHL+gkA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1624115642; a=rsa-sha256; cv=none; b=QlhNv0BPFfVGhsOKlMTzRccDJ+324Eux5T5r9IaCZo5heQoZPpZW0VSRwV2P3EUhS5B98x k3csvRYEg5s06MHJ/D90J2Picvq+7PmmADy7yHW+5EfHFX7farTHZ4CEnfMrBof8gU7+ee upO2UgkC9MCMPuAe9KpZ4acHfbZpcc+/jzOxxB76+JBRgSfEbcHUauvG6G3EMQKtjV6xHC 53QqfB1u80UKReGoxeQ2Ej55w4HvKt2QLlNo+1rmmsvN4HsjmEOd+VKFygZA9PRjF23j2y 4SqsbDAsKUEx6CWSTq5DDm444kSl3jQ+QnMHREsTEqAqhuXoKZxP5w1xWXtK+Q== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=vodafonemail.de header.s=vfde-smtpout-mb-15sep header.b=pPTh5xCb; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: -1.12 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=vodafonemail.de header.s=vfde-smtpout-mb-15sep header.b=pPTh5xCb; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: CD8B12200E X-Spam-Score: -1.12 X-Migadu-Scanner: scn1.migadu.com X-TUID: tSPxFOYXyBwj Hi! >> But as I understand it, guix only supports a single bootloader entry.=20= >=20 > That is correct. >=20 >> To support all of the above, I would need three separate bootloader >> instances... one for Pinebook, one for Pinebook Pro, and lastly a >> grub-efi bootloader. >=20 > Stefan wrote a Guix chain bootloader that is in master--but it's meant > to be only used for bootloaders where there is a primary = "bare-metal-loaded" > bootloader and the others are chain-loaded one-after-another from ONE = filesystem > (for example Raspberry Pi and/or EFI bootloaders). >=20 > (It's currently used in order to use an EFI bootloader hosted on = NFS--which > is an awesome way to manage embedded boards) >=20 > The chain bootloader itself is one Guix bootloader. >=20 > I advise you to search for mails by Stefan on the guix-devel mailing = list--those > are very illuminating. By the way, there is = since a month = meanwhile, which now makes the support for the Raspberry Pi complete. = The same bootloader can be used for an NFS root installation and an = installation on micro SD card or an USB drive by just changing the mount = point of the root file-system. Danny, I=E2=80=99d appreciate your review very much. This time you can = apply the patches and just use the = gnu/system/examples/raspberry-pi-64.tmpl with guix system init. :-)=20 >> And somewhere along the way I've lost track of how we get to >> install-pinebook-pro-rk3399-u-boot=E2=80=A6 The same happened to me. I=E2=80=99ll first wait for the patch #48314 to = be accepted, before I=E2=80=99ll look again into creating a disk image = for the Raspberry Pi. > If you do want to chainload grub-efi eventually, that's supported in = Guix master, > see "efi-bootloader-chain". It's meant for the end user to be able to = use. Referring to the patch #48314, the efi-bootloader-chain got simplified. = It basically prepares a profile with all files to be copied as is, no = special =E2=80=9Ccollection=E2=80=9D folder any more. And the installer = of the grub-efi-netboot-(removable-)bootloader is now merely a simple = =E2=80=9C(copy-recursively bootloader-profile)=E2=80=9C procedure. >> A related idea would be to generate an EFI bootable image with >> sufficient emtpy space before the first partition (16MB) and then one >> could manually install the appropriate u-boot, maybe with some helper >> scripts to avoid having to do it completely manually... >=20 > Yeah, that's possible right now. After all, you don't have to load = the generated > guix system disk image on bare metal. Just boot it in qemu and = install u-boot > there for example. Or even edit the image manually by using dd. = (unfortunately, > on almost every ARM system I set up Guix on so far, one or both of = those were > necessary) I believe that the ARM future is UEFI, like on PCs. A lot of = distributions already chainload U-Boot and GRUB an arm systems. There is = a specification for ARM servers which demands UEFI=C2=B9. And there is = even the choice between U-Boot and TianoCore/EDK II. I think meanwhile that it would be beneficial, if, beside a bootloader = field, Guix would accept an optional firmware field. Then the U-Boot or = TianoCore/EDK II (or coreboot) could become some board specific = firmware, and the actual bootloader would be grub-efi installed on an = EFI System Partition. For systems like the Raspberry, which require = their firmware on a FAT partition, there is the already working = efi-bootloader-chain solution. The firmware could only be installed on explicit request. It's not = expected to see frequent changes =E2=80=93 every re-installation is a = risk to brick the system. (For my taste the bootloader is re-installed = too often already.) Bye Stefan =C2=B9 = =