From unknown Sun Jun 22 11:43:55 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#55343] Add support for 32bit UEFI Resent-From: Denis 'GNUtoo' Carikli Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 09 May 2022 23:18:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 55343 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 55343@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.165213822413063 (code B ref -1); Mon, 09 May 2022 23:18:02 +0000 Received: (at submit) by debbugs.gnu.org; 9 May 2022 23:17:04 +0000 Received: from localhost ([127.0.0.1]:59698 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1noCch-0003Od-Fm for submit@debbugs.gnu.org; Mon, 09 May 2022 19:17:03 -0400 Received: from lists.gnu.org ([209.51.188.17]:41576) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1noCcg-0003OP-DW for submit@debbugs.gnu.org; Mon, 09 May 2022 19:17:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43898) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1noCcg-0006Wa-99 for guix-patches@gnu.org; Mon, 09 May 2022 19:17:02 -0400 Received: from cyberdimension.org ([2001:910:1314:ffff::1]:43268 helo=gnutoo.cyberdimension.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256) (Exim 4.90_1) (envelope-from ) id 1noCce-000729-2s for guix-patches@gnu.org; Mon, 09 May 2022 19:17:01 -0400 Received: from gnutoo.cyberdimension.org (localhost [127.0.0.1]) by cyberdimension.org (OpenSMTPD) with ESMTP id 01ba9775 for ; Mon, 9 May 2022 23:16:07 +0000 (UTC) Received: from primarylaptop.localdomain (localhost [::1]) by gnutoo.cyberdimension.org (OpenSMTPD) with ESMTP id e998cc2a for ; Mon, 9 May 2022 23:16:07 +0000 (UTC) Date: Tue, 10 May 2022 01:18:12 +0200 From: Denis 'GNUtoo' Carikli Message-ID: <20220510011812.15710e0b@primarylaptop.localdomain> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.33; i686-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/BDtFVo0Mikk2C+IWMygS2.D"; protocol="application/pgp-signature"; micalg=pgp-sha256 Received-SPF: pass client-ip=2001:910:1314:ffff::1; envelope-from=GNUtoo@cyberdimension.org; helo=gnutoo.cyberdimension.org X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) --Sig_/BDtFVo0Mikk2C+IWMygS2.D Content-Type: multipart/mixed; boundary="MP_/w+wtIuqLooNM/FaFkx_v8pB" --MP_/w+wtIuqLooNM/FaFkx_v8pB Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi, I was lent a tablet with an x86_64 CPU and a 32bit UEFI. As I wanted to test Guix on it, I ended up making patches to add support for 32bit UEFI. This also enabled me to learn more about UEFI in the process. In these patches (that will be sent right after this mail), I added a grub-efi32 package that makes sure it is compiled for 32bit, even on 64bit systems, and to use it, I added and a new 'efi32-raw' image type. I've copied (with dd) a system image that I made with this command on a x86_64 Guix: > guix system image -t efi32-raw system.scm to an USB key that I then booted on a Dell Venue Pro 8. I've attached the system.scm used for the tests (it's based on the desktop.tmpl in the Guix source code). I validated that the device booted fine up to gdm. I also validated that the grub image generated with this package was 32bit with the following commands (on both i686 and x86_64 computers): > /gnu/store/[...]-grub-efi32-2.06/bin/grub-mkimage \ > -O i386-efi -p / -o /tmp/grub.img > $ file /tmp/grub.img=20 > /tmp/grub.img: PE32 executable (EFI application) Intel 80386 (stripped > to external PDB), for MS Windows I've not yet tried to create an image with grub-efi32 on i686 but I assume that it's not necessarily an issue since grub system image also has targets like novena-raw that don't work for x86. I also don't have ARM UEFI machines so I still added support for that but I could not test it. Also, for some reasons guix lint fails on i686 while it works fine for x86_64: > $ ./pre-inst-env guix lint grub-efi32 > gnu/packages/bootloaders.scm:337:2: grub-efi32@2.06: label > 'ld-wrapper' does not match package name 'ld-wrapper-i386' > gnu/packages/bootloaders.scm:337:2: grub-efi32@2.06: label 'binutils' > does not match package name 'binutils-i386' > gnu/packages/bootloaders.scm:337:2: grub-efi32@2.06: label 'qemu' > does not match package name 'qemu-minimal' > gnu/packages/bootloaders.scm:337:2: grub-efi32@2.06: label 'gettext' > does not match package name 'gettext-minimal' > gnu/packages/bootloaders.scm:337:2: grub-efi32@2.06: file names of > patches should start with the package name Backtrace:rub-efi32@2.06 > [gnu-description]... In ice-9/boot-9.scm: 1752:10 17 > (with-exception-handler _ _ #:unwind? _ # _) In unknown file: 16 > (apply-smob/0 #) In ice-9/boot-9.scm: 724:2 15 > (call-with-prompt _ _ #) In > ice-9/eval.scm: 619:8 14 (_ #(#(#))) > In guix/ui.scm: 2230:7 13 (run-guix . _) > 2193:10 12 (run-guix-command _ . _) > In ice-9/boot-9.scm: > 1752:10 11 (with-exception-handler _ _ #:unwind? _ # _) > 1752:10 10 (with-exception-handler _ _ #:unwind? _ # _) > In guix/store.scm: > 658:37 9 (thunk) > In srfi/srfi-1.scm: > 634:9 8 (for-each # > =E2=80=A6) In guix/scripts/lint.scm: > 65:4 7 (run-checkers _ _ #:store _) > In srfi/srfi-1.scm: > 634:9 6 (for-each # > =E2=80=A6) In guix/scripts/lint.scm: > 74:21 5 (_ _) > In guix/lint.scm: > 1093:2 4 (check-gnu-synopsis+description # grub-efi32@2.=E2=80=A6>) In srfi/srfi-1.scm: > 730:15 3 (find # > =E2=80=A6) In guix/gnu-maintenance.scm: > 100:21 2 (_ #< name: "3dldf" > mundane-nam=E2=80=A6>) In ice-9/boot-9.scm: > 1685:16 1 (raise-exception _ #:continuable? _) > 1685:16 0 (raise-exception _ #:continuable? _) >=20 > ice-9/boot-9.scm:1685:16: In procedure raise-exception: > error: : unbound variable Denis. --MP_/w+wtIuqLooNM/FaFkx_v8pB Content-Type: text/x-scheme Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename=system.scm (use-modules (gnu) (gnu system nss) (guix utils)) (use-service-modules desktop sddm xorg) (use-package-modules certs gnome) (operating-system (host-name "dell-venue-8-pro") (timezone "Europe/Paris") (locale "en_US.utf8") (keyboard-layout (keyboard-layout "us" "altgr-intl")) ;; This device has a 32bit UEFI (bootloader (bootloader-configuration (bootloader grub-efi32-bootloader) (targets '("/boot/efi")) (keyboard-layout keyboard-layout))) ;; Specify a mapped device for the encrypted root partition. ;; The UUID is that returned by 'cryptsetup luksUUID'. (mapped-devices (list (mapped-device (source (uuid "12345678-1234-1234-1234-123456789abc")) (target "my-root") (type luks-device-mapping)))) (file-systems (append (list (file-system (device (file-system-label "my-root")) (mount-point "/") (type "ext4") (dependencies mapped-devices)) (file-system (device (uuid "1234-ABCD" 'fat)) (mount-point "/boot/efi") (type "vfat"))) %base-file-systems)) ;; Specify a swap file for the system, which resides on the ;; root file system. (swap-devices (list (swap-space (target "/swapfile")))) (users (cons (user-account (name "parinux") (comment "Parinux") (group "parinux")) %base-user-accounts)) (groups (cons* (user-group (name "parinux")) %base-groups)) ;; This is where we specify system-wide packages. (packages (append (list ;; for HTTPS access nss-certs ;; for user mounts gvfs) %base-packages)) ;; Add GNOME and Xfce---we can choose at the log-in screen ;; by clicking the gear. Use the "desktop" services, which ;; include the X11 log-in service, networking with ;; NetworkManager, and more. (services (if (target-x86-64?) (append (list (service gnome-desktop-service-type) (service xfce-desktop-service-type) (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout)))) %desktop-services) ;; FIXME: Since GDM depends on Rust (gdm -> gnome-shell -> = gjs ;; -> mozjs -> rust) and Rust is currently unavailable on ;; non-x86_64 platforms, we use SDDM and Mate here instead = of ;; GNOME and GDM. (append (list (service mate-desktop-service-type) (service xfce-desktop-service-type) (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout)) sddm-service-type)) %desktop-services))) ;; Allow resolution of '.local' host names with mDNS. (name-service-switch %mdns-host-lookup-nss)) --MP_/w+wtIuqLooNM/FaFkx_v8pB-- --Sig_/BDtFVo0Mikk2C+IWMygS2.D Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEeC+d2+Nrp/PU3kkGX138wUF34mMFAmJ5oTQACgkQX138wUF3 4mNenQ//aHcM9wxnsvVqPmDEneHyXYe6AETFstXWaPC3EPcdKnRLu7UbYsnpX/x5 kPnHNNJgaHNQSHPLgsVZJXAuWCE5P0PB5ZgFlyRVLwF838sDLpzZvOeVPYhgQRKC AP+OVV5bm/t1uMwk7UOyfszu/tIdEm55eqad+CZIYWD3mAUbBweWNK38kpgOdUMs vWuT6/t4s1QpMw5Nw/yUnSwby8vDOCgMUB84JZnm2ka0tVgf732f6P8196y+pg9h ebGGcmAwACMb556+GRMEvyb7HmZBHuEda5DNTVmiO8z6knIKWH8QQv7w8WxtdbmR OHE3pHHSBfuQN3NAMeFJYZ60KlFvzhk8ePI4T//PqOT+M4DGIstcoc87OTjxIpI7 BbRzmZdUeh1sat2am9Oz8qME6QyELdvgd4WK236wuOLNIrNRP2jZOR1IInNDdTjb mOunAOHxqUpLFatZINijWQjmVcD3Z1UzNUETHNzOacvA6CR+y9snxAyg15NKo/os o1Wg2rN6/GcTdNvTuDhipnn3hyatqVE2adUn2MXuAVml9FbK2ZMOkTCCS8luwE9g QV3oXo3hX4n3D2huhmFjQg3svwj7a25G8Nc0FkQbRPyAtJzMkdFLHuaeG5F7mg9T obl76ye55p9i8YhqZwV6kLUn5ZWV1G+VnAaJ5L97vwmmaHgAoW8= =EwHg -----END PGP SIGNATURE----- --Sig_/BDtFVo0Mikk2C+IWMygS2.D-- From unknown Sun Jun 22 11:43:55 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#55343] [PATCH 1/2] utils: Define 'target-x86?' predicate. Resent-From: Denis 'GNUtoo' Carikli Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 09 May 2022 23:24:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55343 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 55343@debbugs.gnu.org Cc: Denis 'GNUtoo' Carikli Received: via spool by 55343-submit@debbugs.gnu.org id=B55343.165213860713777 (code B ref 55343); Mon, 09 May 2022 23:24:03 +0000 Received: (at 55343) by debbugs.gnu.org; 9 May 2022 23:23:27 +0000 Received: from localhost ([127.0.0.1]:59719 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1noCit-0003a5-Iq for submit@debbugs.gnu.org; Mon, 09 May 2022 19:23:27 -0400 Received: from cyberdimension.org ([80.67.179.20]:35764 helo=gnutoo.cyberdimension.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1noCir-0003Zw-M7 for 55343@debbugs.gnu.org; Mon, 09 May 2022 19:23:26 -0400 Received: from gnutoo.cyberdimension.org (localhost [127.0.0.1]) by cyberdimension.org (OpenSMTPD) with ESMTP id d3da63cb; Mon, 9 May 2022 23:22:37 +0000 (UTC) Received: from primarylaptop.localdomain (localhost [::1]) by gnutoo.cyberdimension.org (OpenSMTPD) with ESMTP id 4abafe96; Mon, 9 May 2022 23:22:37 +0000 (UTC) From: Denis 'GNUtoo' Carikli Date: Tue, 10 May 2022 01:24:50 +0200 Message-Id: <20220509232451.30605-1-GNUtoo@cyberdimension.org> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220510011812.15710e0b@primarylaptop.localdomain> References: <20220510011812.15710e0b@primarylaptop.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * guix/utils.scm (target-x86?): New predicate. --- guix/utils.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/guix/utils.scm b/guix/utils.scm index 44c46cb4a9..a9d8819770 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2018 Steve Sprang ;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2022 Denis 'GNUtoo' Carikli ;;; ;;; This file is part of GNU Guix. ;;; @@ -91,6 +92,7 @@ (define-module (guix utils) target-mingw? target-x86-32? target-x86-64? + target-x86? target-arm32? target-aarch64? target-arm? @@ -683,6 +685,10 @@ (define* (target-x86-64? #:optional (target (or (%current-target-system) architecture (x86_64)?" (string-prefix? "x86_64-" target)) +(define* (target-x86? #:optional (target (or (%current-target-system) + (%current-system)))) + (or (target-x86-32? target) (target-x86-64? target))) + (define* (target-arm32? #:optional (target (or (%current-target-system) (%current-system)))) (string-prefix? "arm" target)) base-commit: 37e44d48baf976f6bfcd885b2e10da4ab7be4af9 -- 2.36.0 From unknown Sun Jun 22 11:43:55 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#55343] [PATCH 2/2] image: Add new efi32-raw format for 32bit UEFI on 64bit systems Resent-From: Denis 'GNUtoo' Carikli Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 09 May 2022 23:24:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55343 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 55343@debbugs.gnu.org Cc: Denis 'GNUtoo' Carikli Received: via spool by 55343-submit@debbugs.gnu.org id=B55343.165213862013804 (code B ref 55343); Mon, 09 May 2022 23:24:04 +0000 Received: (at 55343) by debbugs.gnu.org; 9 May 2022 23:23:40 +0000 Received: from localhost ([127.0.0.1]:59721 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1noCiu-0003aK-TB for submit@debbugs.gnu.org; Mon, 09 May 2022 19:23:40 -0400 Received: from cyberdimension.org ([80.67.179.20]:35764 helo=gnutoo.cyberdimension.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1noCis-0003Zw-KF for 55343@debbugs.gnu.org; Mon, 09 May 2022 19:23:27 -0400 Received: from gnutoo.cyberdimension.org (localhost [127.0.0.1]) by cyberdimension.org (OpenSMTPD) with ESMTP id b62f8160; Mon, 9 May 2022 23:22:37 +0000 (UTC) Received: from primarylaptop.localdomain (localhost [::1]) by gnutoo.cyberdimension.org (OpenSMTPD) with ESMTP id 4f30fcfb; Mon, 9 May 2022 23:22:37 +0000 (UTC) From: Denis 'GNUtoo' Carikli Date: Tue, 10 May 2022 01:24:51 +0200 Message-Id: <20220509232451.30605-2-GNUtoo@cyberdimension.org> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220509232451.30605-1-GNUtoo@cyberdimension.org> References: <20220510011812.15710e0b@primarylaptop.localdomain> <20220509232451.30605-1-GNUtoo@cyberdimension.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/bootloader/grub.scm (grub-efi32-bootloader): New variable. (install-grub-efi32): New variable * gnu/build/bootloader.scm (install-efi32-loader): New variable. (install-efi32-loader): New variable. * gnu/build/image.scm (initialize-efi32-partition): New variable * gnu/packages/bootloaders.scm (grub-efi32): New variable. * gnu/system/image.scm (esp32-partition): New variable (efi32-disk-image): New variable (efi32-raw-image-type): New variable. (partition-image): Add partition-image keyword --- gnu/bootloader/grub.scm | 32 +++++++++++++++++++++++++ gnu/build/bootloader.scm | 46 +++++++++++++++++++++++++++++++++++- gnu/build/image.scm | 9 +++++++ gnu/packages/bootloaders.scm | 13 ++++++++++ gnu/system/image.scm | 19 +++++++++++++++ 5 files changed, 118 insertions(+), 1 deletion(-) diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm index 120cd55012..1ea356030f 100644 --- a/gnu/bootloader/grub.scm +++ b/gnu/bootloader/grub.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2019, 2020 Miguel Ángel Arruga Vivas ;;; Copyright © 2020 Maxim Cournoyer ;;; Copyright © 2020 Stefan +;;; Copyright © 2022 Denis 'GNUtoo' Carikli ;;; ;;; This file is part of GNU Guix. ;;; @@ -54,6 +55,7 @@ (define-module (gnu bootloader grub) grub-bootloader grub-efi-bootloader + grub-efi32-bootloader grub-efi-netboot-bootloader grub-mkrescue-bootloader grub-minimal-bootloader @@ -608,6 +610,29 @@ (define install-grub-efi "--bootloader-id=Guix" "--efi-directory" target-esp))))) +(define install-grub-efi32 + #~(lambda (bootloader efi-dir mount-point) + ;; There is nothing useful to do when called in the context of a disk + ;; image generation. + (when efi-dir + ;; Install GRUB onto the EFI partition mounted at EFI-DIR, for the + ;; system whose root is mounted at MOUNT-POINT. + (let ((grub-install (string-append bootloader "/sbin/grub-install")) + (install-dir (string-append mount-point "/boot")) + ;; When installing Guix, it's common to mount EFI-DIR below + ;; MOUNT-POINT rather than /boot/efi on the live image. + (target-esp (if (file-exists? (string-append mount-point efi-dir)) + (string-append mount-point efi-dir) + efi-dir))) + ;; Tell 'grub-install' that there might be a LUKS-encrypted /boot or + ;; root partition. + (setenv "GRUB_ENABLE_CRYPTODISK" "y") + (invoke/quiet grub-install "--boot-directory" install-dir + "--bootloader-id=Guix" + (cond ((target-x86?) "--target=i386-efi") + ((target-arm?) "--target=arm-efi")) + "--efi-directory" target-esp))))) + (define (install-grub-efi-netboot subdir) "Define a grub-efi-netboot bootloader installer for installation in SUBDIR, which is usually efi/Guix or efi/boot." @@ -734,6 +759,13 @@ (define grub-efi-bootloader (name 'grub-efi) (package grub-efi))) +(define grub-efi32-bootloader + (bootloader + (inherit grub-efi-bootloader) + (installer install-grub-efi32) + (name 'grub-efi32) + (package grub-efi32))) + (define grub-efi-netboot-bootloader (bootloader (inherit grub-efi-bootloader) diff --git a/gnu/build/bootloader.scm b/gnu/build/bootloader.scm index 9a89fe55cb..d41143d98e 100644 --- a/gnu/build/bootloader.scm +++ b/gnu/build/bootloader.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2019 Ludovic Courtès +;;; Copyright © 2022 Denis 'GNUtoo' Carikli ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,7 +26,8 @@ (define-module (gnu build bootloader) #:use-module (rnrs io ports) #:use-module (rnrs io simple) #:export (write-file-on-device - install-efi-loader)) + install-efi-loader + install-efi32-loader)) ;;; @@ -81,6 +83,29 @@ (define (install-efi grub grub-config esp) ;; Graft the configuration file onto the image. (string-append "boot/grub/grub.cfg=" grub-config)))) +(define (install-efi32 grub grub-config esp) + "Write a self-contained GRUB EFI 32bit loader to the mounted ESP using GRUB-CONFIG." + (let* ((system %host-type) + ;; Hard code the output location to a well-known path recognized by + ;; compliant firmware. See "3.5.1.1 Removable Media Boot Behaviour": + ;; http://www.uefi.org/sites/default/files/resources/UEFI%20Spec%202_6.pdf + (grub-mkstandalone (string-append grub "/bin/grub-mkstandalone")) + (efi-directory (string-append esp "/EFI/BOOT")) + ;; Map grub target names to boot file names. + (efi-targets (cond ((target-x86?) + '("i386-efi" . "BOOTIA32.EFI")) + ((target-arm?) + '("arm-efi" . "BOOTARM.EFI"))))) + ;; grub-mkstandalone requires a TMPDIR to prepare the firmware image. + (setenv "TMPDIR" esp) + + (mkdir-p efi-directory) + (invoke grub-mkstandalone "-O" (car efi-targets) + "-o" (string-append efi-directory "/" + (cdr efi-targets)) + ;; Graft the configuration file onto the image. + (string-append "boot/grub/grub.cfg=" grub-config)))) + (define (install-efi-loader grub-efi esp) "Install in ESP directory the given GRUB-EFI bootloader. Configure it to load the Grub bootloader located in the 'Guix_image' root partition." @@ -99,3 +124,22 @@ (define (install-efi-loader grub-efi esp) configfile /boot/grub/grub.cfg~%"))) (install-efi grub-efi grub-config esp) (delete-file grub-config))) + +(define (install-efi32-loader grub-efi32 esp) + "Install in ESP directory the given GRUB-EFI 32bit bootloader. Configure it +to load the Grub bootloader located in the 'Guix_image' root partition." + (let ((grub-config "grub.cfg")) + (call-with-output-file grub-config + (lambda (port) + ;; Create a tiny configuration file telling the embedded grub where to + ;; load the real thing. XXX This is quite fragile, and can prevent + ;; the image from booting when there's more than one volume with this + ;; label present. Reproducible almost-UUIDs could reduce the risk + ;; (not eliminate it). + (format port + "insmod part_msdos~@ + insmod part_gpt~@ + search --set=root --label Guix_image~@ + configfile /boot/grub/grub.cfg~%"))) + (install-efi32 grub-efi32 grub-config esp) + (delete-file grub-config))) diff --git a/gnu/build/image.scm b/gnu/build/image.scm index 81caa424f8..bae747494f 100644 --- a/gnu/build/image.scm +++ b/gnu/build/image.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 Marius Bakke ;;; Copyright © 2020, 2022 Tobias Geerinckx-Rice ;;; Copyright © 2020 Mathieu Othacehe +;;; Copyright © 2022 Denis 'GNUtoo' Carikli ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,6 +41,7 @@ (define-module (gnu build image) convert-disk-image genimage initialize-efi-partition + initialize-efi32-partition initialize-root-partition make-iso9660-image)) @@ -162,6 +164,13 @@ (define* (initialize-efi-partition root "Install in ROOT directory, an EFI loader using GRUB-EFI." (install-efi-loader grub-efi root)) +(define* (initialize-efi32-partition root + #:key + grub-efi32 + #:allow-other-keys) + "Install in ROOT directory, an EFI 32bit loader using GRUB-EFI32." + (install-efi32-loader grub-efi32 root)) + (define* (initialize-root-partition root #:key bootcfg diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 7ea6f5a647..f133d9f604 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2020, 2021 Pierre Langlois ;;; Copyright © 2021 Vincent Legoll ;;; Copyright © 2021 Brice Waegeneire +;;; Copyright © 2022 Denis 'GNUtoo' Carikli ;;; ;;; This file is part of GNU Guix. ;;; @@ -332,6 +333,18 @@ (define-public grub-efi "/bin/mcopy\""))) #t)))))))))) +(define-public grub-efi32 + (package + (inherit grub-efi) + (name "grub-efi32") + (synopsis "GRand Unified Boot loader (UEFI 32bit version)") + (arguments + `(,@(substitute-keyword-arguments (package-arguments grub-efi) + ((#:configure-flags flags + ''()) `(cons* ,(cond ((target-x86?) "--target=i386") + ((target-arm?) "--target=arm")) + ,flags))))))) + ;; Because grub searches hardcoded paths it's easiest to just build grub ;; again to make it find both grub-pc and grub-efi. There is a command ;; line argument which allows you to specify ONE platform - but diff --git a/gnu/system/image.scm b/gnu/system/image.scm index 42e215f614..e35c54ca50 100644 --- a/gnu/system/image.scm +++ b/gnu/system/image.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020, 2021 Mathieu Othacehe ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2022 Denis 'GNUtoo' Carikli ;;; ;;; This file is part of GNU Guix. ;;; @@ -65,6 +66,7 @@ (define-module (gnu system image) root-label esp-partition + esp32-partition root-partition efi-disk-image @@ -74,6 +76,7 @@ (define-module (gnu system image) image-with-os efi-raw-image-type + efi32-raw-image-type qcow2-image-type iso-image-type uncompressed-iso-image-type @@ -109,6 +112,11 @@ (define esp-partition (flags '(esp)) (initializer (gexp initialize-efi-partition)))) +(define esp32-partition + (partition + (inherit esp-partition) + (initializer (gexp initialize-efi32-partition)))) + (define root-partition (partition (size 'guess) @@ -122,6 +130,11 @@ (define efi-disk-image (format 'disk-image) (partitions (list esp-partition root-partition)))) +(define efi32-disk-image + (image + (format 'disk-image) + (partitions (list esp32-partition root-partition)))) + (define iso9660-image (image (format 'iso9660) @@ -163,6 +176,11 @@ (define efi-raw-image-type (name 'efi-raw) (constructor (cut image-with-os efi-disk-image <>)))) +(define efi32-raw-image-type + (image-type + (name 'efi32-raw) + (constructor (cut image-with-os efi32-disk-image <>)))) + (define qcow2-image-type (image-type (name 'qcow2) @@ -352,6 +370,7 @@ (define (partition-image partition) #$(image-shared-store? image)) #:system-directory #$os #:grub-efi #+grub-efi + #:grub-efi32 #+grub-efi32 #:bootloader-package #+(bootloader-package bootloader) #:bootloader-installer -- 2.36.0 From unknown Sun Jun 22 11:43:55 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#55343] [PATCH 2/2] image: Add new efi32-raw format for 32bit UEFI on 64bit systems Resent-From: Maxime Devos Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 10 May 2022 09:33:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55343 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: Denis 'GNUtoo' Carikli , 55343@debbugs.gnu.org Received: via spool by 55343-submit@debbugs.gnu.org id=B55343.165217518112549 (code B ref 55343); Tue, 10 May 2022 09:33:01 +0000 Received: (at 55343) by debbugs.gnu.org; 10 May 2022 09:33:01 +0000 Received: from localhost ([127.0.0.1]:60359 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1noMEn-0003GL-4y for submit@debbugs.gnu.org; Tue, 10 May 2022 05:33:01 -0400 Received: from laurent.telenet-ops.be ([195.130.137.89]:38194) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1noMEk-0003G8-Ns for 55343@debbugs.gnu.org; Tue, 10 May 2022 05:32:59 -0400 Received: from ptr-bvsjgyhxw7psv60dyze.18120a2.ip6.access.telenet.be ([IPv6:2a02:1811:8c09:9d00:3c5f:2eff:feb0:ba5a]) by laurent.telenet-ops.be with bizsmtp id UxYw2700M4UW6Th01xYwf7; Tue, 10 May 2022 11:32:56 +0200 Message-ID: From: Maxime Devos Date: Tue, 10 May 2022 11:32:52 +0200 In-Reply-To: <20220509232451.30605-2-GNUtoo@cyberdimension.org> References: <20220510011812.15710e0b@primarylaptop.localdomain> <20220509232451.30605-1-GNUtoo@cyberdimension.org> <20220509232451.30605-2-GNUtoo@cyberdimension.org> Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-981KYbIHleKNzOfq8ldp" User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1652175176; bh=NONGqNDlCsIQbioMw9N9WbsZR+jIKA4nIodZBofTJ+0=; h=Subject:From:To:Date:In-Reply-To:References; b=Gz/kPQsdpK042pwHOnOIJlJ7ZcaxxIfkW0gERX1Bi+HZcCdI4wBfLBT9lz6+HiqYj nXDqiVApDZLyxU1xpVC1zSVrivH1QAWK6EU9TTB5kIGuwKpbsWoFPtNS+IOvMP56bV ok7ADIWpc7Xifak/+QVYyIW4Qno26EkpXhqbYinfKleZ1ID65TWt003Qh//hLj0dYm jAx3O2Say5FulAp8eeQZGiZHTCEPzJzRn2qgUsOQ426Rw/Inff6JHKyFRphn8i1KDS QWCrrCNucROj1ipqCM58OCiGpRDKL5+ewiIghR6wHH8neQFMRe5fEUapWm1FNA+mso MDoJEFshPWiDQ== X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-981KYbIHleKNzOfq8ldp Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 RGVuaXMgJ0dOVXRvbycgQ2FyaWtsaSBzY2hyZWVmIG9wIGRpIDEwLTA1LTIwMjIgb20gMDE6MjQg WyswMjAwXToKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqAgKCgjOmNvbmZpZ3VyZS1mbGFncyBmbGFn cwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJycoKSkgYChjb25zKiAsKGNvbmQgKCh0YXJn ZXQteDg2PykgIi0tdGFyZ2V0PWkzODYiKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKCh0YXJnZXQtYXJtPykgIi0t dGFyZ2V0PWFybSIpKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgICxmbGFncykpKSkpKSkKCklzbid0IHRoaXMganVzdCBncnViIGJ1dCBjb21w aWxlZCBmb3IgdGhlIDMyLWJpdCB2YXJpYW50IG9mIHRoZSBzeXN0ZW0/CklmIHNvLCBjYW4gd2Ug cmV1c2UgR3VpeCBidWlsdC1pbiBjcm9zcy1jb21waWxhdGlvbiBhbmQgbmF0aXZlCmNvbXBpbGF0 aW9uIG1lY2hhbmlzbXMgaGVyZT8gIE1heWJlCgogIChsaXN0ICM6dGFyZ2V0ICJpMzg2IikKCm9y CgogIChsaXN0ICM6dGFyZ2V0ICJpNjg2LWxpbnV4LWdudSIpIDsgaWYgaTM4NiBpcyBpbnZhbGlk CgpvcgoKICAobGlzdCAjOnN5c3RlbSAiaTY4Ni1saW51eCkKCm9yCgogIChsaXN0ICM6c3lzdGVt ICJpNTg2LWdudSIpCgoKT3IgZG8geW91IG1lYW4gdG8gdXNlICdncnViJyBhcyBhIGNyb3NzLWNv bXBpbGVyIGhlcmUgKGluc3RlYWQgb2YKc29tZXRoaW5nIHRoYXQgaXMgYmVpbmcgY3Jvc3MtY29t cGlsZWQpLCBsaWtlICdnY2MnPwoKR3JlZXRpbmdzLApNYXhpbWUK --=-981KYbIHleKNzOfq8ldp Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYnoxRBccbWF4aW1lZGV2 b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7mkbAQDHvPW4kSjHGU3KVU1xVitaVJn8 JSzGYSmKGLnEeajdkwD/Ym1u42Yy5rHZOqzlkrfenTWF4kuAVNJ68y+otA9qyg8= =aiv3 -----END PGP SIGNATURE----- --=-981KYbIHleKNzOfq8ldp-- From unknown Sun Jun 22 11:43:55 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#55343] [PATCH 2/2] image: Add new efi32-raw format for 32bit UEFI on 64bit systems Resent-From: Denis 'GNUtoo' Carikli Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 10 May 2022 21:38:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55343 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: Maxime Devos Cc: 55343@debbugs.gnu.org Received: via spool by 55343-submit@debbugs.gnu.org id=B55343.165221867329398 (code B ref 55343); Tue, 10 May 2022 21:38:01 +0000 Received: (at 55343) by debbugs.gnu.org; 10 May 2022 21:37:53 +0000 Received: from localhost ([127.0.0.1]:35338 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1noXYH-0007e5-B2 for submit@debbugs.gnu.org; Tue, 10 May 2022 17:37:53 -0400 Received: from cyberdimension.org ([80.67.179.20]:35814 helo=gnutoo.cyberdimension.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1noXYF-0007dx-Pw for 55343@debbugs.gnu.org; Tue, 10 May 2022 17:37:52 -0400 Received: from gnutoo.cyberdimension.org (localhost [127.0.0.1]) by cyberdimension.org (OpenSMTPD) with ESMTP id 720a23a6; Tue, 10 May 2022 21:36:53 +0000 (UTC) Received: from primarylaptop.localdomain (localhost [::1]) by gnutoo.cyberdimension.org (OpenSMTPD) with ESMTP id bbbee57e; Tue, 10 May 2022 21:36:53 +0000 (UTC) Date: Tue, 10 May 2022 23:39:10 +0200 From: Denis 'GNUtoo' Carikli Message-ID: <20220510233910.683f8454@primarylaptop.localdomain> In-Reply-To: References: <20220510011812.15710e0b@primarylaptop.localdomain> <20220509232451.30605-1-GNUtoo@cyberdimension.org> <20220509232451.30605-2-GNUtoo@cyberdimension.org> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.33; i686-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/OUDjcvkTNe8QYgWx0TX9g.b"; protocol="application/pgp-signature"; micalg=pgp-sha256 X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --Sig_/OUDjcvkTNe8QYgWx0TX9g.b Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Tue, 10 May 2022 11:32:52 +0200 Maxime Devos wrote: > Denis 'GNUtoo' Carikli schreef op di 10-05-2022 om 01:24 [+0200]: > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ((#:confi= gure-flags flags > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 ''()) `(cons* ,(cond ((target-x86?) "--target=3Di386") > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ((target-arm?) "--ta= rget=3Darm")) > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 ,flags))))))) >=20 > Isn't this just grub but compiled for the 32-bit variant of the > system? > Or do you mean to use 'grub' as a cross-compiler here (instead of > something that is being cross-compiled), like 'gcc'? Apparently the modification I did (passing --target=3Di386) results in a 64bit grub-mkimage and 32bit modules in lib/grub/i386-efi so I think it's more like a cross-compiler. I verified that by installing grub-efi32 and using file on the mentioned files. It's also possible to have something like multiple target/architectures with GRUB by compiling it for each target/architecture and then shipping the modules in lib/grub/* but that would require way more work, so it would make more sense to do that as a separate patch set if needed. Though for now I'm just interested in adding 32bit UEFI support because I did the work for testing/learning, and I would prefer if that work results in Guix supporting 32bit UEFI somehow. Denis. --Sig_/OUDjcvkTNe8QYgWx0TX9g.b Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEeC+d2+Nrp/PU3kkGX138wUF34mMFAmJ6234ACgkQX138wUF3 4mMpjQ/+P++b6QVnIDwXIt/2HELmpfTSZK1npA/88qK7gBFzDYANT7mqrtmX188T CNXvxjugkOTJi69lRuvq8p+O6oIlTnHXa60GLy9liJ7L3eDtoeaMZdHjjnSxyGK9 BfzKy4+ey7j+mUTwNRXQORAazB5W5jmyTxuspJ/xRyW9Py5++wL3T/Fdw0WhSE8S smHPL8eLFkXfdM1EN/gqNl4xT/kIZ3oRZvUY9m4W247SrxxurXuEMoZvSIM/Z++0 dmC8MIJm9XSYJNBazV45veRGv1xlbNmH/P5u1w420t8+mQYAPAZw/CYQc0wQ3a/1 HV8/nQnxChFGX0Ldagxy9a7MCCgeefh+QiihIjInFT+lWAXxfIUQIcD2QjbsWzfj whpSp5EDMkbawhCX0I82WM9++Jy5cyZu6oh8vmt2VPrce2vPbqPYhK7FiOkIZW+i ypt3z2mwDr66lkUfu4WUP5V4dNAadZkb/S+OMIWg44ZoWAhhxn0YzkiFBIgtsuN9 o4ySw2t1b1Z4UqWxXGvWWvnKNWJOnAKKO5tkBr2wwabGzgdojwwfkNdpqH/1cVgS MAUGtd9KiwgfbAfoyDaYsKL0dwGim6vItlAkUuZn8gz8Ka1Wfswme5eI1GtzrEGL +d88EuhoCEsi23DSWzhVB52HNq+ryInrr4SFUXz1br2F5tDvM7g= =68aZ -----END PGP SIGNATURE----- --Sig_/OUDjcvkTNe8QYgWx0TX9g.b-- From unknown Sun Jun 22 11:43:55 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#55343] [PATCH 2/2] image: Add new efi32-raw format for 32bit UEFI on 64bit systems Resent-From: Maxime Devos Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 11 May 2022 09:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55343 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: Denis 'GNUtoo' Carikli Cc: 55343@debbugs.gnu.org Received: via spool by 55343-submit@debbugs.gnu.org id=B55343.16522600591351 (code B ref 55343); Wed, 11 May 2022 09:08:02 +0000 Received: (at 55343) by debbugs.gnu.org; 11 May 2022 09:07:39 +0000 Received: from localhost ([127.0.0.1]:36065 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1noiJb-0000LX-Qq for submit@debbugs.gnu.org; Wed, 11 May 2022 05:07:39 -0400 Received: from albert.telenet-ops.be ([195.130.137.90]:48304) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1noiJZ-0000LM-Sz for 55343@debbugs.gnu.org; Wed, 11 May 2022 05:07:26 -0400 Received: from [IPv6:2a02:2c40:200:b001::1:66ec] ([IPv6:2a02:2c40:200:b001::1:66ec]) by albert.telenet-ops.be with bizsmtp id VM7N2700S48ECPd06M7PSu; Wed, 11 May 2022 11:07:24 +0200 Message-ID: From: Maxime Devos Date: Wed, 11 May 2022 11:07:22 +0200 In-Reply-To: <20220510233910.683f8454@primarylaptop.localdomain> References: <20220510011812.15710e0b@primarylaptop.localdomain> <20220509232451.30605-1-GNUtoo@cyberdimension.org> <20220509232451.30605-2-GNUtoo@cyberdimension.org> <20220510233910.683f8454@primarylaptop.localdomain> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1652260044; bh=0+0NA31P+ZVuLyUDobUZuHE6lOqwyCN26gliULxkEKo=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=Mo9iS6ge6wxPXy4Ak4EsCw8gwEE5kJawQ1DlMv2bsQnBg5FNmacoR/I+UOZIDa4AQ nAnND5gyjpuePQdT+inwIZOZzhGDku5MKbZhGC5ZVQuNwFPNBCjaZmd3s/OV1swvWU 8liVTFUNUKAxdt0DgqNbBoclOaUxJmF21cH7PkraDMTjNkYHBzAx2XGfdUENlkzIdG WzQ13NRhx9dqv2A1p59NSLOgUU2JbLWJc0OkMq71xN7bXSaT2nwsrswce/jvDOkTKo 54b8CnFQAxNTXjmqsqbE6HngHfzTrdwkg5tgNP6SJikUmLg3jZ4/NhTgSgkkLxcKdi a0YSJDE7r7ckg== X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Denis 'GNUtoo' Carikli schreef op di 10-05-2022 om 23:39 [+0200]: > On Tue, 10 May 2022 11:32:52 +0200 > Maxime Devos wrote: > > > Denis 'GNUtoo' Carikli schreef op di 10-05-2022 om 01:24 [+0200]: > > > +           ((#:configure-flags flags > > > +             ''()) `(cons* ,(cond ((target-x86?) "-- > target=i386") > > > +                                  ((target-arm?) "-- > target=arm")) > > > +                           ,flags))))))) > > > > Isn't this just grub but compiled for the 32-bit variant of the > > system? > > > Or do you mean to use 'grub' as a cross-compiler here (instead of > > something that is being cross-compiled), like 'gcc'? > Apparently the modification I did (passing --target=i386) results in > a > 64bit grub-mkimage and 32bit modules in lib/grub/i386-efi so I think > it's more like a cross-compiler. I verified that by installing > grub-efi32 and using file on the mentioned files. > [...] Ok, --target looks like a better fit in this case. Though now I'm wondering if on i686-linux we might need a grub-efi64 variant on some setups ... Greetings, Maxime From unknown Sun Jun 22 11:43:55 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#55343] [PATCH 2/2] image: Add new efi32-raw format for 32bit UEFI on 64bit systems Resent-From: Denis 'GNUtoo' Carikli Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 11 May 2022 16:59:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55343 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: Maxime Devos Cc: 55343@debbugs.gnu.org Received: via spool by 55343-submit@debbugs.gnu.org id=B55343.16522883424411 (code B ref 55343); Wed, 11 May 2022 16:59:02 +0000 Received: (at 55343) by debbugs.gnu.org; 11 May 2022 16:59:02 +0000 Received: from localhost ([127.0.0.1]:38296 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nopfx-000191-NG for submit@debbugs.gnu.org; Wed, 11 May 2022 12:59:02 -0400 Received: from cyberdimension.org ([80.67.179.20]:35874 helo=gnutoo.cyberdimension.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nopfv-00018q-M4 for 55343@debbugs.gnu.org; Wed, 11 May 2022 12:59:00 -0400 Received: from gnutoo.cyberdimension.org (localhost [127.0.0.1]) by cyberdimension.org (OpenSMTPD) with ESMTP id aecab07b; Wed, 11 May 2022 16:57:53 +0000 (UTC) Received: from primarylaptop.localdomain (localhost [::1]) by gnutoo.cyberdimension.org (OpenSMTPD) with ESMTP id aefaca97; Wed, 11 May 2022 16:57:53 +0000 (UTC) Date: Wed, 11 May 2022 19:00:23 +0200 From: Denis 'GNUtoo' Carikli Message-ID: <20220511190023.527dacfa@primarylaptop.localdomain> In-Reply-To: References: <20220510011812.15710e0b@primarylaptop.localdomain> <20220509232451.30605-1-GNUtoo@cyberdimension.org> <20220509232451.30605-2-GNUtoo@cyberdimension.org> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.33; i686-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/Fpn7Cm9Nx7=O9MB7qO_cxMI"; protocol="application/pgp-signature"; micalg=pgp-sha256 X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --Sig_/Fpn7Cm9Nx7=O9MB7qO_cxMI Content-Type: multipart/mixed; boundary="MP_/Zlqj4gcn_wUtnsLpP_6_HQj" --MP_/Zlqj4gcn_wUtnsLpP_6_HQj Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi, On Tue, 10 May 2022 11:32:52 +0200 Maxime Devos wrote: > (list #:target "i386") I've tried that I get the following error: > ice-9/boot-9.scm:1685:16: In procedure raise-exception: > dynamic linker name not known for this system "i386" This means that I have to use "i686-linux" because only "i686-linux" is in the list of allowed values. I've tried and this adds a cross toolchain to the list of dependencies[1] and this doesn't work because efibootmgr which is a dependency doesn't compile anymore as it doesn't find some of the headers like efivar.h and efiboot.h. This could probably be fixed somehow though. In addition I've found the following issues with that approach: - It hardcode the kernel (Linux or HURD) so we'd probably need extra logic to handle it well. With --target=3Di386 that is transparent. Note that I didn't test grub-efi32 with HURD in either cases. - It doesn't support "canadian" cross compilation where the builder (for instance x86) builds a cross compiler to run on another architecture (for instance ARM) to then compile programs for another architecture (for instance riscv). With --target=3Di386 we can in theory do that (though I've not tested it). And with it, I see the following advantage: since it's wrapped somehow Guix can probably do things automatically (like checks or change things) on all the packages that are cross compiled. What approach do you think is best (I don't know the implementation of (list #:target "i686-linux") so you probably know way better than me which one is the best) ?. If (list #:target "i686-linux") is the way to go, do you have any pointers to make it find the headers it needs? I've attached its build log in case it is useful. References: ----------- [1] Here's the output when trying to build grub-efi32 with (list #:target "i686-linux"): > $ ./pre-inst-env guix package -i grub-efi32 > The following package will be upgraded: > grub-efi32 (dependencies or package changed) >=20 > The following derivations will be built: > /gnu/store/j4divh7pf1bxr11ivzddqhsihan6ij4p-util-linux-2.37.2.drv > /gnu/store/h86glf6qlyfmf214qj6xsqbj8vmrfss9-zlib-1.2.11.drv > /gnu/store/hy4x62rrx3gqdnn476dja6im74pxzkpk-glibc-cross-i686-linux-2.33= .drv > /gnu/store/1qynvffnfnf7dlzmrkrkx7nzxq6mkz1k-gcc-cross-sans-libc-i686-li= nux-10.3.0.drv > /gnu/store/kyr74wyvikyldkx9a0zd55fmxjs6862c-binutils-cross-i686-linux-2= .37.drv > /gnu/store/wc7zhlgnzrg9z5w5wqyvkwlg0ninavs1-ld-wrapper-i686-linux-0.drv > /gnu/store/i4h82qxwyaj3i97rgcvh6khfibbj4x3p-linux-libre-headers-cross-i= 686-linux-5.10.35.drv > /gnu/store/j4w5c2iqvm9ylfnc2gsadipngl00labp-gcc-cross-i686-linux-10.3.0= .drv > /gnu/store/y15y0pici7yhgycjv13a4hm9jjshdzzm-ncurses-6.2.20210619.drv > /gnu/store/l5jdw7k9mdm0af4gyklhixw447fgsnxn-pkg-config-i686-linux-0.29.= 2.drv > /gnu/store/zg2fyiwc4i4vwarbk8imi9wsgzp8z90h-file-5.39.drv Denis. --MP_/Zlqj4gcn_wUtnsLpP_6_HQj Content-Type: application/x-xz Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=s1q7llv6m4nn8256hjcjx997rjf0vm-efibootmgr-17.drv.xz /Td6WFoAAATm1rRGAgAhARwAAAAQz1jM4EAbCu5dACuQRopqgsiMuOnjAHwZKOHVSsKqKFAMiQ1h /A3DH/aJjqHwuWbIiprwm8s6W14m/zIEROi2tj9RbTtXewJ1Z7ordbySjaWp6o4ozKGS6LzZZ3ya L9HadFAMcTmhZM3hfY9FZl5npDBXxax3ppdrs5ZsfTF+J9RymNWDTY2nKBIBg1mnFFYt9j6legpJ HAcvlzqUexl3orfDHfjyPkfD4luW+M0zGR7JcpQqd4bZfHJMuue1CvnBkIA47gHwc8XeO5IXX1fD 0/SYKLWiUe9Ko9aLmfOAujOYXj1wQidyKD1h1flFFwJ7ih7CZDGXLcCoYgY6ZhZJv1y8S8719MT6 PcNoak8qRXQSpfgfnHOE2p3jqHGdP5GeaNBhgb+9Ewl/DO0m87D4xI1ppwbYVNmjDSfF7l0/UIap uCUOr4I6ZSp4Fi6FzOqSZMyBkV079QRmKEOOLWaxVYHQlQwDa/48sG4+kQXPUIIZyxCmSjoaIZhk X/fExIG4hnoZlSjI7oEXIQ5ExB9TAWCLmSenNLo0XUOyJo2tGSA3tV6EsNHqkJUu5AJ2Zq12EL1U TBjz2+XfFflgJiANd6A2tFWxLYM9KiG+qaJsguZC+W5yR+nSqbIoGl1kyDp8A4dRKhn5PkFsGsBp C9gUT7qLXxJLVVLdHUDEldS4xgYJhcHiwN48fqok9iipdi+A+EbOn4bQji5S5zwwNce0AglWTkrI 2pQ/KFziF/PzNAmlBqYzR52evGdBzTIiJkH9vM1mj8aCw1zd4s4Kur6Y6J3wQuD9ZnB/7/ENqf83 m1GALRxUftzPE0FooT47Ct13hN3UJ4jaRyVFZuUBgf4+KnPG4TYaSidm9C8/HLIJJC3fcyNnkZLS B0fXOaKukh8jkxSCS6PrnNlHf0p1AuETwIY+rbI+HafQKdil8FenkLmJwQJ/mTsPjr2CPlirFMHC EZ4ItZpmj+RujVOoTSH6WFb+5C1UvzXX/F2UATVODxfiCyFF+b2v623ZLMo9sZjUQa9jGdDazD5m dmys8UOr5dsq5K9JLgzaIULOCMGRuun2K+nNayiSi2Ys5V1yopT0tNxuiXU2srYmMbobEcZI3kcm gX3biJRTrSAlf6d4lzKjF5+c6QuT/ygAlxYXSoDmltOzsNnzbqgNYWbaw7K08h1F40RE3dm54fvs 3w35uJ72N+cfccedjle4jn5Ssuj7prrFAefxvGOEm44D36/9hiEo37sL5egpUj1kq8f0Ua+3N0WO U7fFmEmIgY/DtT5RZVFgnxzHQJjE+xM4eb6Gk8rmXr2J2eUi6ZK87Xu++Wr2yBa9qicsORazZ3Zd 763RNmto6DqgqX2n34V1wECy299A9Cg5zi9FahaHEv9pLI2gIzVZQQvqKOPk/GekNGjAgZtt2Fcf c2iwA0ZuWg/z4FUha/vzroEIERg8Vm//tpzcKFCzeTDsi22vjiGHFDe9CxpsWXTL2TT6rV3wgC3m cOs2iHz1UTErLnV4sJ0w6BcJb3V1Vd+1T7ZrDtizqVwo+axoXyjCby9sQdfxiUEFNFZiFyc9cKIE 7eU7ok8KLE18r26Hv9+m83H46heoing/CXn/Q4Xp+hGrjSa5Wd9MYOe7Zwlblp99twh7B78Sd8qO ditLUQDq1XYICXQOPuXExEYVA6Rp3yDIpMXEbqSS49uZooMo96HnC2VUisq38w6vTZHnt94kmmU+ UugRhy+9fLbLWJnikmH/exU6vBZL8+IWXHAYnwj6qybQAym4pcvv7EaGIWXH8dVHaNEEg2syl/NV 3q9fa/nLDaawpkEImynE8MEQEi08uaWMYrGoERBT1RFlyFvlDPU3pukX3gHpfLo1kmOcKAW99MDs NiL/iFylJ1fgy4NQ/ww2Oqj2je1F7EQGNZlQAUmLH17iWtLKInGGs7cuDRAxe8Kzco0BL58gyLCp FkxUrgVvstYzzDbzTJIHuGFC8P5yypKPT7fV/NY1WUJ9gl9d9EVBy6kfuou1+DalmKMubeFp0/hn Gm2oyxHxABYnvOmfSD/6MNF9nOoH5z91tXHC2rFU/QUu9LWAWOMdC48ncxpxUQ8fQQPSEX1hxyAU mnawyea1wk0nxeoUXDKZ9mElZl8xPMBRiFEnHqCv/XwMOMjjkJg0qcwEwNqK4/RfsB9peVVB2Gyi 1ACWESdQAFDwLI4creOhX86AS6gsTDbyrhO/M+x2g2K4bKe1XXyDr9BunJJtB3auqMDsft3HKJ+F D5gKewZucAByd/mvK+BTJbJGwoAnRmZgF4ehBMPw8oqhzYvE3jZEC+rswMjN11/ZqIlvCCD2dcc/ 0+rrMMYZw347M1SzpK3makJ+eQtWAFEbJFRJkf44R6KG3TOtMS36V5H6ItpGXmJ/MqddmDUujrhb pJFP13rOyeGEZVSV7i/DGmcwEB85JtD0koJA68p4rq6RopRYWWLBtRYQitxoAm04uVJQBIeCJfyT YXrXRhTLfM/hbhLgCQZQu62IWLUcWnOfaqIdUufUjRQ1vklHITE91moHQuQDcCLdMMlaTjrzSatV ez4QghAD6qA+eHiF2H6KU7/dr2s+7roYpvL1G3dkF2VwW2+EpU4UOxr+swUqftncPXzNzlkAECu1 fB+h+KIbtzuZYg8JhSYrABXJrqYVxsjiV3/rNfK9NtdaaqPWNLMveHpoZrwGFR2eEPUKtJV+4sFA FKwDZ+t4BgAHSpdZcvWA49WRWcWSTCSO5hhmqUpLydQoIWb1R+oCdRHa96JU9W4uwjefB/T8LEsH dBuP+CW8g6tQAvS7ZQdAQ4AUfl/14O2wUDEXXH2rk43zeaK1JD01heHVwH5QMSGxp8vioCcMjdy1 91UCa0haG0rWYNYuop19UXr3iUn0B3pY/p00dVwPjg7JmSTqPJ3Tti0IZ2AQLO3/55PYvJLX5SVH z1RTu8oBCRaonmu0xnEPNJM39N0UTOve5nPan4PbbViakzg9mz7hvC06gujZZdEW5bLGI3RNfNaj nmOdNEtsZiDOCAaWEZ8eZb7P/VJjuu/1XfIKXP/GfvP4dqG0DSxW16H+0jNSgXJn9/XPH6FRUoWx ivqxvh9RBGh9k5FxqgCcdFy1IuCR0R1POZrSDZmKC4VvxKTxQEBXT4HC3r6UXYPdXSZYh+S0Ugro nfmbiyw/WPg/SdaEq0o7EzmmkbNv+38FarvSHj0gxaa7KlVoQod3XPVyJFrrYfTPvdrv7c6cO/mp njeuFqLSrAdJL0AtIWlNEDwSiNASXZ+r/UxS3zS+BBG8jkwgyhEKKnflTOGknZ3K+QZeSX3H2xpj DMamEM6XZEE+cdHIj9yNVjw55vmG74xKL62QODLsXg0eR/g22//qnudUUiZ1KUCa5TXnUNPrA2dx ECohFP8vo1LDnRNNqJ2lL1D3ivfcG+9k+UP0gJPbB6rt3vaBV0sv8aYGOrWDIflJMiQTkBRpraxy oMAIyl6nkr0u0ONWaHs1YEBJzbUsTWDSYtJjlyFrGWJS0UrjGgU9afZLMGVrHwUbKurVIw2+gOgq nVbTiYfvxTNN74byBc7aQ39FQWFvEf0138M8FkAZr8wxMHE7RkNmkYp0e/1XgyNIq029VxKRmjID eL+j2wi5vo9ZFa5xsPJzCnmwBLdfrttNULgeSC7JH5q/NGw08FI197Y7xjxozXYL2kFVj6b/5Q7M 5d2xdk+mQQAOlFV2S1PKk0Zk1R/yEgbDzWV5r01ML2ykrWgAAAAAw8D2OI3FCRoAAYoWnIABAJz1 ZpyxxGf7AgAAAAAEWVo= --MP_/Zlqj4gcn_wUtnsLpP_6_HQj-- --Sig_/Fpn7Cm9Nx7=O9MB7qO_cxMI Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEeC+d2+Nrp/PU3kkGX138wUF34mMFAmJ766cACgkQX138wUF3 4mPsBA//bChTtJmadVoMiC/rPurQWMArq4f0BiiQykkcJLu5ZZg/yhOvReXCRTOy 7xH8FxcNoiKePpxUHXWSa4azFSLgYccKuky+LvJoC29DIZq11/sDu8bhEwf86NtL MmmtWGyKi9vft0DYc5IzBQlBgNdolOqjayluLoJF823rnZrTlZX4VFs3UYpwX4M5 OphTPdSI+6NxqC656oVpfkhj4f1Eaytg8LEAefGqTkTOecQg6RzO4YIV+pKVp+5R cDCHaSZ2WRIW3cRgMZ8NHt422DGA6ZPuYDZ/e9xpD9yAUIbSiOuq22CVMyxuuvb8 OXaunYAkc+gKjKrDvlQQoVT3S8IOGKFhVcRtix+AdOtu2wZAHvSvyF9o/kGXW4RN 9GnDZlEOO4skrm0odlRU/x8PXown93wRx4n63ugq3shZ7FiKuE97D8yHMaiKlGPO yPf5FRHjJceIr3qYZQNsEhr54FOM0Z92jdROv+d3fdzn5Ibdy6HZ0mzA0QbiPVKm 1EePIt4+BCupFhHlQ0PQPIQnmWp26c68DiQDMpPyqKq2CGN5lnJMkRzW80RgHb5E Ik/9H5tTb777Sfq7pOyrVFhDK6glZgMQDq/euXkA3pzM3621YMyinOt3YEfkqWf8 RZi4afa2ifTcDRrMJVIjp7ZklbeLj58rgr3SFODn1Z63SvBJxa8= =Fpd8 -----END PGP SIGNATURE----- --Sig_/Fpn7Cm9Nx7=O9MB7qO_cxMI-- From unknown Sun Jun 22 11:43:55 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#55343] [PATCH 2/2] image: Add new efi32-raw format for 32bit UEFI on 64bit systems Resent-From: Maxime Devos Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 11 May 2022 17:21:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55343 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: Denis 'GNUtoo' Carikli Cc: 55343@debbugs.gnu.org Received: via spool by 55343-submit@debbugs.gnu.org id=B55343.16522896026820 (code B ref 55343); Wed, 11 May 2022 17:21:02 +0000 Received: (at 55343) by debbugs.gnu.org; 11 May 2022 17:20:02 +0000 Received: from localhost ([127.0.0.1]:38330 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1noq0H-0001ls-VR for submit@debbugs.gnu.org; Wed, 11 May 2022 13:20:02 -0400 Received: from albert.telenet-ops.be ([195.130.137.90]:35248) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1noq0F-0001lW-SA for 55343@debbugs.gnu.org; Wed, 11 May 2022 13:20:01 -0400 Received: from ptr-bvsjgyhxw7psv60dyze.18120a2.ip6.access.telenet.be ([IPv6:2a02:1811:8c09:9d00:3c5f:2eff:feb0:ba5a]) by albert.telenet-ops.be with bizsmtp id VVKx2700H4UW6Th06VKxdi; Wed, 11 May 2022 19:19:58 +0200 Message-ID: From: Maxime Devos Date: Wed, 11 May 2022 19:19:49 +0200 In-Reply-To: <20220511190023.527dacfa@primarylaptop.localdomain> References: <20220510011812.15710e0b@primarylaptop.localdomain> <20220509232451.30605-1-GNUtoo@cyberdimension.org> <20220509232451.30605-2-GNUtoo@cyberdimension.org> <20220511190023.527dacfa@primarylaptop.localdomain> Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-y5cSOp6+Jbd0WfWE1Nad" User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1652289598; bh=KUdkEO+EsI7H1ZEtzRKqRY8Xe1zh84wS8b9K08OLA0s=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=N8P6689/34YpPUTsjdYWrVvs/u1K0W9mRHnlNQkt4dKvkP3T8GzQV+VQS3nQgusxO KRrp3X2u8RRBwVICoCL5hDXi8KbdRCNPW7v7bbdrb4ZzKoQ4XO8Oxe6bhNmJzVIctg gR5z92Td5SDdrd/sza2E8XUwicua0Zupy8xFN/aoyDqwU80juqDxHtiw71vV9HDyPn qGtedg7ZS8znW5wNF99tz+vhvgCtHJ0NMuTUuCeQCW7cEwklTWVsCk1RptQJU61zEJ 50T8s92Psycy+TNuOVIccxzNVJr6m+flHiWfD0f1v4g3xKZWoBK+u1cZ1hwr9a/ir6 UD82QXKOoLSSQ== X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-y5cSOp6+Jbd0WfWE1Nad Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Denis 'GNUtoo' Carikli schreef op wo 11-05-2022 om 19:00 [+0200]: > What approach do you think is best (I don't know the implementation > of > (list #:target "i686-linux") so you probably know way better than me > which one is the best) ?. #:target determines for which architecture the grub binaries ('bin/install-grub' or something like that? I forgot the name ...), whereas (IIUC) what we need is to compile the _bootloader_ itself (and its modules) for "i[36]86-SOMETHING" (*). So since #:target isn't appropriate here, and what you originally sent presumably works, so let's go for the original "--target=3D..."? (*) in practice, I don't think the SOMETHING or 386/686 matters here, I'd expect the grub makefile/configure to set the -nostdlib and - march=3D... bits appropriately? Greetings, Maxime. --=-y5cSOp6+Jbd0WfWE1Nad Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYnvwNRccbWF4aW1lZGV2 b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7izmAQCofWb1TjCBNS4S4y+sP7hi9RbJ 4F4600LS2Hw78xVYSQEA/T/Gth9fvCtMeOcVdHlA1vvUgTebP/HRn3CCLpYvhQU= =/9Td -----END PGP SIGNATURE----- --=-y5cSOp6+Jbd0WfWE1Nad-- From unknown Sun Jun 22 11:43:55 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#55343] [PATCH 2/2] image: Add new efi32-raw format for 32bit UEFI on 64bit systems Resent-From: Maxime Devos Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 11 May 2022 17:26:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55343 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: Denis 'GNUtoo' Carikli Cc: 55343@debbugs.gnu.org Received: via spool by 55343-submit@debbugs.gnu.org id=B55343.16522899267595 (code B ref 55343); Wed, 11 May 2022 17:26:01 +0000 Received: (at 55343) by debbugs.gnu.org; 11 May 2022 17:25:26 +0000 Received: from localhost ([127.0.0.1]:38366 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1noq5K-0001y9-7s for submit@debbugs.gnu.org; Wed, 11 May 2022 13:25:26 -0400 Received: from laurent.telenet-ops.be ([195.130.137.89]:51710) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1noq5I-0001xy-09 for 55343@debbugs.gnu.org; Wed, 11 May 2022 13:25:12 -0400 Received: from ptr-bvsjgyhxw7psv60dyze.18120a2.ip6.access.telenet.be ([IPv6:2a02:1811:8c09:9d00:3c5f:2eff:feb0:ba5a]) by laurent.telenet-ops.be with bizsmtp id VVRA2700D4UW6Th01VRAw6; Wed, 11 May 2022 19:25:10 +0200 Message-ID: <73c23088990ce1751410d24ecc84580c9811fe2a.camel@telenet.be> From: Maxime Devos Date: Wed, 11 May 2022 19:25:10 +0200 In-Reply-To: <20220511190023.527dacfa@primarylaptop.localdomain> References: <20220510011812.15710e0b@primarylaptop.localdomain> <20220509232451.30605-1-GNUtoo@cyberdimension.org> <20220509232451.30605-2-GNUtoo@cyberdimension.org> <20220511190023.527dacfa@primarylaptop.localdomain> Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-DrxuwyliVuehSWhC03Ve" User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1652289910; bh=Os6PAB1MNsZckUkyb9mMIIt6mDrNm3fLsz1QY3y9c8w=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=GJm7P2sLXWntp0hiiOAaH5mYnIHw9zg1uoersFdKkyP2kRiSOI6miE3nsoAKEZdTF rgkiEX99ws7bA88ge3hmivNUzGThv1PWryigtAd8eQ0GujATxYLSbARIazK2q0xOv3 3WkEUeo6GQVjvCMI6eNGNCLNwP9FOU0AuSZ3mFIL+oya3NASv/DoraasR8ww08lpDL FPTki2bZ2c4865A8AVOk9QIdBh+dYXe+pGgyyBZUwcQ37wzNbk6neZsNXKyCl5yiZg Mq1Fw9Y6NCgakFIC9ZqG29GE1ip5/Zt0R+2P/WZkP7+y4k1/h4sv1WbNX/y93YUEOS qqBjpav8Lmdkg== X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-DrxuwyliVuehSWhC03Ve Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Denis 'GNUtoo' Carikli schreef op wo 11-05-2022 om 19:00 [+0200]: > [1] Here's the output when trying to build grub-efi32 with > =C2=A0=C2=A0=C2=A0 (list #:target "i686-linux"): I don't think it will be relevant to grub-efi32, at least for now, but I have opened an issue for this at . Greetings, Maxime. --=-DrxuwyliVuehSWhC03Ve Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYnvxdhccbWF4aW1lZGV2 b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7hlXAP976bMag9xY3vzJybgPMMW4+e3M /+D+m1D0dePtViqcJgD+Op98lHKSXaqagEDp346sJhcVIKGAC7oj0OiuwkOVVAc= =UQFs -----END PGP SIGNATURE----- --=-DrxuwyliVuehSWhC03Ve-- From unknown Sun Jun 22 11:43:55 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#55343] [PATCH 2/2] image: Add new efi32-raw format for 32bit UEFI on 64bit systems Resent-From: Denis 'GNUtoo' Carikli Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 11 May 2022 17:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55343 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: Maxime Devos Cc: 55343@debbugs.gnu.org Received: via spool by 55343-submit@debbugs.gnu.org id=B55343.16522904678624 (code B ref 55343); Wed, 11 May 2022 17:35:02 +0000 Received: (at 55343) by debbugs.gnu.org; 11 May 2022 17:34:27 +0000 Received: from localhost ([127.0.0.1]:38373 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1noqEE-0002F2-SZ for submit@debbugs.gnu.org; Wed, 11 May 2022 13:34:27 -0400 Received: from cyberdimension.org ([80.67.179.20]:35876 helo=gnutoo.cyberdimension.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1noqED-0002Et-71 for 55343@debbugs.gnu.org; Wed, 11 May 2022 13:34:25 -0400 Received: from gnutoo.cyberdimension.org (localhost [127.0.0.1]) by cyberdimension.org (OpenSMTPD) with ESMTP id e451a6e2; Wed, 11 May 2022 17:33:19 +0000 (UTC) Received: from primarylaptop.localdomain (localhost [::1]) by gnutoo.cyberdimension.org (OpenSMTPD) with ESMTP id 433decdd; Wed, 11 May 2022 17:33:18 +0000 (UTC) Date: Wed, 11 May 2022 19:35:50 +0200 From: Denis 'GNUtoo' Carikli Message-ID: <20220511193550.1b0da112@primarylaptop.localdomain> In-Reply-To: References: <20220510011812.15710e0b@primarylaptop.localdomain> <20220509232451.30605-1-GNUtoo@cyberdimension.org> <20220509232451.30605-2-GNUtoo@cyberdimension.org> <20220510233910.683f8454@primarylaptop.localdomain> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.33; i686-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/t0plz66UENxzCpHjjmOP=xl"; protocol="application/pgp-signature"; micalg=pgp-sha256 X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --Sig_/t0plz66UENxzCpHjjmOP=xl Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Wed, 11 May 2022 11:07:22 +0200 Maxime Devos wrote: > Ok, --target looks like a better fit in this case. Sorry for the previous mail, I saw this one after finishing sending the one with a report on tests with (list #:target "i686-linux"). > Though now I'm wondering if on i686-linux we might need a grub-efi64 > variant on some setups ... Good question. It would require to have a computer where the UEFI implementation is only able to launch 64bit PE files on computers with a CPU that also support 32bit OS. For ARM I'm not sure if we can boot 32bit kernels on 64bit CPUs: In theory many ARM computers hardware is capable of that. However in practice we'd need to make that kernel configurations works for that, and platform drivers that only work for aarch64 are probably required anyway. Maybe in case of emulation that doesn't apply though. For x86 I didn't ear of 64bit-only UEFI with CPUs that still support 32bit OS, but it could exist. And according to the official GRUB documentation, it is possible to boot 32bit OS when the UEFI is 64bit and vice versa[1]: | | ia32 EFI | amd64 EFI | | BIOS chainloading | no (1) | no (1) | | [...] | [...] | [...] | | FreeDOS | no (1) | no (1) | | Multiboot | yes | yes | | Multiboot2 | yes | yes | | 32-bit Linux (legacy protocol) | no (1) | no (1) | | 64-bit Linux (legacy protocol) | no (1) | no (1) | | 32-bit Linux (modern protocol) | yes | yes | | 64-bit Linux (modern protocol) | yes | yes | | [...] | [...] | [...] | | 32-bit EFI chainloader | yes | no (3) | | 64-bit EFI chainloader | no (3) | yes | | [...] | [...] | [...] | 1. Requires BIOS=20 So there might be a use case here if such machines exist. I'll try to look for infos on that. References: [1]https://www.gnu.org/software/grub/manual/grub/grub.html#Supported-boot-t= argets Denis. --Sig_/t0plz66UENxzCpHjjmOP=xl Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEeC+d2+Nrp/PU3kkGX138wUF34mMFAmJ78/YACgkQX138wUF3 4mNnYQ/+ON6o4/+K95KFI/ScJ2DsmrgaM9MSy+ZzuqbwK7SKCeIW+n+lHQksUUoy 2RU/tbAA6w9QwtOlqJ0rTsJpz3H0mwoJdAo1me1xNomFT96TQ4j5R+Wj8qJD3nz9 Te3gY/+gk8hiWJLPGDn2RUVhOPyLWRIn8Z6xSlNbmXi0Ru1KFgMZLsKkLuiWemeK Q7kJEZIdEnyE2uXcu/HlM3E0qDXDk9mlZbDyqSsxzj9NnS9FZwuJnHww4U/N6DzA 1eAb97TGf+3VfanZk8ECfy0nZ5w0LSSKMSvkzDfxJu+9ROhckl4FXbXUBzL5O+10 C5wwK7hNUST7to0LgOTtJeW2SJ/cbrXuZmuqi/VTpK2wH52Ff2C4kAfeMx36Y0Ms kPWG9vk62U5Hmjsyp/lpxqZqi52LWH233cBve/2xevfeVaAFH2KpeHAdXFU7zpT9 dIDFRerHHe83tDSHJGEvgW3pm1edNkCAe2lRFadHonOTGPYTwAwdPHx53wurxfoK ogfREQKsvAK5ySrDsV0kABsQkdvYbQ3NP2nOo/JRuNwvE7FmyIpnlkkSzkNh1ME5 LXGEoPuFxBNnsTzQwXWKCJEVvqD1x1mbJma4Kan7fMEwLJ2m8Hfc23vDQa/NYUSj IeGAbFrgPwMH/PJS+0wTv1Q/Awx6wlwWgx3lIPQcbmt1/3k9rpw= =DwV6 -----END PGP SIGNATURE----- --Sig_/t0plz66UENxzCpHjjmOP=xl-- From unknown Sun Jun 22 11:43:55 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#55343] [PATCH 2/2] image: Add new efi32-raw format for 32bit UEFI on 64bit systems Resent-From: Denis 'GNUtoo' Carikli Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 13:51:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55343 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: Maxime Devos Cc: 55343@debbugs.gnu.org Received: via spool by 55343-submit@debbugs.gnu.org id=B55343.16528818073129 (code B ref 55343); Wed, 18 May 2022 13:51:01 +0000 Received: (at 55343) by debbugs.gnu.org; 18 May 2022 13:50:07 +0000 Received: from localhost ([127.0.0.1]:59546 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrK3z-0000oO-AC for submit@debbugs.gnu.org; Wed, 18 May 2022 09:50:07 -0400 Received: from cyberdimension.org ([80.67.179.20]:36364 helo=gnutoo.cyberdimension.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrK3w-0000oF-Jv for 55343@debbugs.gnu.org; Wed, 18 May 2022 09:50:05 -0400 Received: from gnutoo.cyberdimension.org (localhost [127.0.0.1]) by cyberdimension.org (OpenSMTPD) with ESMTP id f14d18a4; Wed, 18 May 2022 13:47:48 +0000 (UTC) Received: from primarylaptop.localdomain (localhost [::1]) by gnutoo.cyberdimension.org (OpenSMTPD) with ESMTP id 759271f6; Wed, 18 May 2022 13:47:48 +0000 (UTC) Date: Wed, 18 May 2022 15:50:03 +0200 From: Denis 'GNUtoo' Carikli Message-ID: <20220518155003.4ef86460@primarylaptop.localdomain> In-Reply-To: <73c23088990ce1751410d24ecc84580c9811fe2a.camel@telenet.be> References: <20220510011812.15710e0b@primarylaptop.localdomain> <20220509232451.30605-1-GNUtoo@cyberdimension.org> <20220509232451.30605-2-GNUtoo@cyberdimension.org> <20220511190023.527dacfa@primarylaptop.localdomain> <73c23088990ce1751410d24ecc84580c9811fe2a.camel@telenet.be> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.33; i686-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/msInYayxHp4WPOFPSflQnS2"; protocol="application/pgp-signature"; micalg=pgp-sha256 X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --Sig_/msInYayxHp4WPOFPSflQnS2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Wed, 11 May 2022 19:25:10 +0200 Maxime Devos wrote: > Denis 'GNUtoo' Carikli schreef op wo 11-05-2022 om 19:00 [+0200]: > > [1] Here's the output when trying to build grub-efi32 with > > =C2=A0=C2=A0=C2=A0 (list #:target "i686-linux"): =20 >=20 > I don't think it will be relevant to grub-efi32, at least for now, but > I have opened an issue for this at > . Thanks. Do I still need to do something with the patch serie adding support for 32bit UEFI or is everything OK? Denis. --Sig_/msInYayxHp4WPOFPSflQnS2 Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEeC+d2+Nrp/PU3kkGX138wUF34mMFAmKE+YsACgkQX138wUF3 4mNxFg/+I7NQ9oFtymyymb+iHbt2f0qCZtPi+MWMIHSbJ7yDY19A5gW9fcDVMQ4M AbgtTZiu7o6spQpFHQb/quzlEdPcwxXz/cVG2Gl48D7mQL1Od+1f9C0t/XJpfLH9 FYeSchnZCQIogan0HuyTmruDDLYHECf64re/GDZoCpxtqGsqCy1+LF1s3nID2/BY f1XN5f3ly5A3AOICVEIGzxI7+agxgT2CLe0AkECANiEreax8Y4SMPy6RRMiqfiC3 buMx8PqCURkB7tZYdH2rZX7BEo3m9mzKGWW+1QWotO42xDqkzrkk9thDOY/lfVEi 6vxuImG7RbDcMmDb2jaeEYQ/wP+6Cc+MdMORctmgI+WPUG2NdPvkznzLjl2VOwnw EmxSP3LUwL6YTdQQQcoF7fbdDQwEdD0C0AHz1GbW3cpicVa9Lkj51SqXJjO/RrgP gxKHRc74DWAMsNdODmOCBu3IZKH4jbS6f1AUnYuiGMGWJtYp2h1CiGW/Yi2nJCxS /wGzYbDGgfnuoAiU+s6SXtRt7V8ALLBzAay6xcnfo4bwIQ/lqAgpukZozegOw6V8 kcQWOAtZ7hoqozUSWl7FSKlr8SwXpnGf85ZB20u8N6uCZL48HbniHRSs68ZdGDx5 2vS2tjG2uf6L3LzjWRO0yZ8q9FjhzGxZz73l/bm+ULiy9Yh3vYM= =Wvhz -----END PGP SIGNATURE----- --Sig_/msInYayxHp4WPOFPSflQnS2-- From unknown Sun Jun 22 11:43:55 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#55343] [PATCH 2/2] image: Add new efi32-raw format for 32bit UEFI on 64bit systems Resent-From: Denis 'GNUtoo' Carikli Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 11 Jun 2022 16:28:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55343 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: Maxime Devos Cc: 55343@debbugs.gnu.org Received: via spool by 55343-submit@debbugs.gnu.org id=B55343.16549648371803 (code B ref 55343); Sat, 11 Jun 2022 16:28:02 +0000 Received: (at 55343) by debbugs.gnu.org; 11 Jun 2022 16:27:17 +0000 Received: from localhost ([127.0.0.1]:53784 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o03xF-0000T1-9c for submit@debbugs.gnu.org; Sat, 11 Jun 2022 12:27:17 -0400 Received: from cyberdimension.org ([80.67.179.20]:37320 helo=gnutoo.cyberdimension.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o03xD-0000Sr-J6 for 55343@debbugs.gnu.org; Sat, 11 Jun 2022 12:27:16 -0400 Received: from gnutoo.cyberdimension.org (localhost [127.0.0.1]) by cyberdimension.org (OpenSMTPD) with ESMTP id 2efe265d; Sat, 11 Jun 2022 16:20:51 +0000 (UTC) Received: from primarylaptop.localdomain (localhost [::1]) by gnutoo.cyberdimension.org (OpenSMTPD) with ESMTP id bfe13284; Sat, 11 Jun 2022 16:20:50 +0000 (UTC) Date: Sat, 11 Jun 2022 18:41:35 +0200 From: Denis 'GNUtoo' Carikli Message-ID: <20220611184135.7bf2ce49@primarylaptop.localdomain> In-Reply-To: <20220518155003.4ef86460@primarylaptop.localdomain> References: <20220510011812.15710e0b@primarylaptop.localdomain> <20220509232451.30605-1-GNUtoo@cyberdimension.org> <20220509232451.30605-2-GNUtoo@cyberdimension.org> <20220511190023.527dacfa@primarylaptop.localdomain> <73c23088990ce1751410d24ecc84580c9811fe2a.camel@telenet.be> <20220518155003.4ef86460@primarylaptop.localdomain> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.34; i686-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/U=_SmGjl9ihcHKXTNp7.A0s"; protocol="application/pgp-signature"; micalg=pgp-sha256 X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --Sig_/U=_SmGjl9ihcHKXTNp7.A0s Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Wed, 18 May 2022 15:50:03 +0200 Denis 'GNUtoo' Carikli wrote: > On Wed, 11 May 2022 19:25:10 +0200 > Maxime Devos wrote: >=20 > > Denis 'GNUtoo' Carikli schreef op wo 11-05-2022 om 19:00 [+0200]: > > > [1] Here's the output when trying to build grub-efi32 with > > > =C2=A0=C2=A0=C2=A0 (list #:target "i686-linux"): =20 > >=20 > > I don't think it will be relevant to grub-efi32, at least for now, > > but I have opened an issue for this at > > . > Thanks. >=20 > Do I still need to do something with the patch serie adding support > for 32bit UEFI or is everything OK? As I understood that serie was ready to be merged or is there something I still need to do on my side? Denis. --Sig_/U=_SmGjl9ihcHKXTNp7.A0s Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEeC+d2+Nrp/PU3kkGX138wUF34mMFAmKkxcAACgkQX138wUF3 4mNnjA//Xp3dVQBYXzLmyf1shdwLLVvqG+TqbwO0n/YfqKEUtBjE2Yo4+NGe/g4L qqUhJdMWPZostrxnNFlucF8Ext+PuEu4Wgpkjwf37kpO35l56VfECYlh1rSC5+lt pzmTk3EKMoz9kzV9ftsCwyIErBDJNu0dHBuOK+tpiH9/sr47ZLgzSXDB9Oud1Nvi MgPhNgCmcBH+MMa74+nzdtCOoTPAqjpL34H8dfWB303OpdN8rgZI9FcDHYtp2q8I z9bYG46pXp506SMfhzV7LTbyj7TiSbBNiWFxy19kRLF+orMmVxfY2YQYNr1fVdH1 ikCcoSG/HSmlBJaSPhFllXD94BKqxKGNpCeBGzY32Zi/YerWj1vRtWDmp19uL/rr kbUNc49FVqARWkgYdNkTe+PmaWlipDlL2lOxsjeDgRRDfSI+MWnhFre0KHTLqVDv lvFwxqKrHQfcOw9rw9uDrF8K1lFSk5+iccV/o7NOOKEamJGzE76saW5QaLASHV8i e13FS4YfUjfAigo0YaXb72/VFXIn6ALeYl/gGEkNrGcyFgC76ht4qarHmak/PD+V iEKV9s2T+W5LPgNfMF/mCTIsSdH5yvfzcZfY3hgMbEYE3II1A8UcoTtcP/KR77op 7AXf3dc6S5lllrjVIpV3Gp/JZ7SwzusRg/Wrjbm9HVxdGbLrS0k= =yqgf -----END PGP SIGNATURE----- --Sig_/U=_SmGjl9ihcHKXTNp7.A0s-- From unknown Sun Jun 22 11:43:55 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#55343] [PATCH 2/2] image: Add new efi32-raw format for 32bit UEFI on 64bit systems Resent-From: Maxime Devos Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 11 Jun 2022 19:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55343 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: Denis 'GNUtoo' Carikli Cc: 55343@debbugs.gnu.org Received: via spool by 55343-submit@debbugs.gnu.org id=B55343.165497717222771 (code B ref 55343); Sat, 11 Jun 2022 19:53:02 +0000 Received: (at 55343) by debbugs.gnu.org; 11 Jun 2022 19:52:52 +0000 Received: from localhost ([127.0.0.1]:54092 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o07AC-0005vD-2F for submit@debbugs.gnu.org; Sat, 11 Jun 2022 15:52:52 -0400 Received: from michel.telenet-ops.be ([195.130.137.88]:48022) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o07A9-0005v3-LS for 55343@debbugs.gnu.org; Sat, 11 Jun 2022 15:52:51 -0400 Received: from [172.20.10.5] ([188.188.151.25]) by michel.telenet-ops.be with bizsmtp id hvsn2700F0Z7qkC06vso7u; Sat, 11 Jun 2022 21:52:48 +0200 Message-ID: From: Maxime Devos Date: Sat, 11 Jun 2022 21:52:47 +0200 In-Reply-To: <20220518155003.4ef86460@primarylaptop.localdomain> References: <20220510011812.15710e0b@primarylaptop.localdomain> <20220509232451.30605-1-GNUtoo@cyberdimension.org> <20220509232451.30605-2-GNUtoo@cyberdimension.org> <20220511190023.527dacfa@primarylaptop.localdomain> <73c23088990ce1751410d24ecc84580c9811fe2a.camel@telenet.be> <20220518155003.4ef86460@primarylaptop.localdomain> Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-mgElfboaRu05PnugqpW6" User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1654977168; bh=W3TgzYGyKR/O6Ud90GcWfPJhX96JTJd3ujDdqFra5Rc=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=enq8ww0f+vb0bEb2uDbmHDX8itj8OXKU3xwOwY+DiN/3cN94sReg7YmtVUgj+qifz PmrvFnb/b/vUkYsu3ZCRbodottGDYqrdb9T/2vOC5ltGwxbyk2T2XGht6ER+ysrng/ 4ZAvFttybB+kvfnPHl2quYr7r8w1o985cBxHcl/IkMdFi/tubVgLBUThdUdk0V72xP 7LjrIEZRdyDY0t/KEMBxnNh1dSNMrSVnrfonG5Wk0eekSVBki0pAbLxCUKzOaIyXQg yNoK9nYmkqd4kLYeDQhQ3QwZCjCZdOoamLTXDZ1lZJKqlKjOxr65vFbluW4wziGpYe SkNJJBGfeO15g== X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-mgElfboaRu05PnugqpW6 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Denis 'GNUtoo' Carikli schreef op wo 18-05-2022 om 15:50 [+0200]: > [...] > Do I still need to do something with the patch serie adding support for > 32bit UEFI or is everything OK? I'm not familiar enough with grub etc. to tell. Greetings, Maxime. --=-mgElfboaRu05PnugqpW6 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqTyjxccbWF4aW1lZGV2 b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7vgFAQDlDfoGWXTjJyvSTq9atWWovsOU J8VGfska9/aS9W6KUAEA5BO5CEKRAoM6WypVe9LIns0nrQ6LH6UlmCKKqV/89Ao= =y6vL -----END PGP SIGNATURE----- --=-mgElfboaRu05PnugqpW6-- From unknown Sun Jun 22 11:43:55 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#55343] Add support for 32bit UEFI Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 17 Jun 2022 20:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55343 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: Denis 'GNUtoo' Carikli , Mathieu Othacehe Cc: Maxime Devos , 55343@debbugs.gnu.org Received: via spool by 55343-submit@debbugs.gnu.org id=B55343.16554982061349 (code B ref 55343); Fri, 17 Jun 2022 20:37:02 +0000 Received: (at 55343) by debbugs.gnu.org; 17 Jun 2022 20:36:46 +0000 Received: from localhost ([127.0.0.1]:47061 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o2Ihx-0000Lg-Vc for submit@debbugs.gnu.org; Fri, 17 Jun 2022 16:36:46 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48688) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o2Ihw-0000LU-AQ for 55343@debbugs.gnu.org; Fri, 17 Jun 2022 16:36:44 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:44378) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o2Ihq-0005KF-3A; Fri, 17 Jun 2022 16:36:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=dNddwOdoxucmhk0K6B9T8WLjPFnw1l/tC1xAUtx8nVw=; b=IRosaehxz1dYXbkCw2LP 3RA+3CQCF8k/d5D+vLD2WVv+ZOxVVhjSdQu8q7r3CNw4m+xsgf8s4ZK6Gwqkums6rAJ4qNFpqdV+B 5mmCxl1XcKLb7MafSfBHSFX806/c86Xv+xM9Bcj3DvBCnwGI2Hdr9n8rmQNIGTYp7H5bIVRS4ZyGf qlhGQb/Zac6SLXZGDgGrwP+bYJwiGBmWRk4noCbfcl3tlOb84zvDQY5ca2+h/cVCHLgIppNBSznza 0NyAO9RlsZUgxhAVa3pGw6yzyNn8hgq65dCIAdGub+Q3Pn3x2+jtYZNGJhv+5pKIvath2g5BmISsv Uo1mhfRzMYFFGw==; Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201]:58300 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o2Ihp-0006VS-LE; Fri, 17 Jun 2022 16:36:37 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20220510011812.15710e0b@primarylaptop.localdomain> <20220509232451.30605-1-GNUtoo@cyberdimension.org> <20220509232451.30605-2-GNUtoo@cyberdimension.org> <20220511190023.527dacfa@primarylaptop.localdomain> <73c23088990ce1751410d24ecc84580c9811fe2a.camel@telenet.be> <20220518155003.4ef86460@primarylaptop.localdomain> <20220611184135.7bf2ce49@primarylaptop.localdomain> Date: Fri, 17 Jun 2022 22:36:35 +0200 In-Reply-To: <20220611184135.7bf2ce49@primarylaptop.localdomain> (Denis Carikli's message of "Sat, 11 Jun 2022 18:41:35 +0200") Message-ID: <874k0jdo30.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Denis, Denis 'GNUtoo' Carikli skribis: > On Wed, 18 May 2022 15:50:03 +0200 > Denis 'GNUtoo' Carikli wrote: > >> On Wed, 11 May 2022 19:25:10 +0200 >> Maxime Devos wrote: >>=20 >> > Denis 'GNUtoo' Carikli schreef op wo 11-05-2022 om 19:00 [+0200]: >> > > [1] Here's the output when trying to build grub-efi32 with >> > > =C2=A0=C2=A0=C2=A0 (list #:target "i686-linux"):=20=20 >> >=20 >> > I don't think it will be relevant to grub-efi32, at least for now, >> > but I have opened an issue for this at >> > . >> Thanks. >>=20 >> Do I still need to do something with the patch serie adding support >> for 32bit UEFI or is everything OK? > As I understood that serie was ready to be merged or is there something > I still need to do on my side? Sorry for the delay; Mathieu, this is more your area of expertise: WDYT? https://issues.guix.gnu.org/55343 Ludo=E2=80=99. From unknown Sun Jun 22 11:43:55 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#55343] Add support for 32bit UEFI In-Reply-To: <20220510011812.15710e0b@primarylaptop.localdomain> Resent-From: Timothy Sample Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 18 Jun 2022 05:20:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55343 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: Mathieu Othacehe , Maxime Devos , 55343@debbugs.gnu.org, Denis 'GNUtoo' Carikli Received: via spool by 55343-submit@debbugs.gnu.org id=B55343.165552954226198 (code B ref 55343); Sat, 18 Jun 2022 05:20:01 +0000 Received: (at 55343) by debbugs.gnu.org; 18 Jun 2022 05:19:02 +0000 Received: from localhost ([127.0.0.1]:47378 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o2QrB-0006nz-Iy for submit@debbugs.gnu.org; Sat, 18 Jun 2022 01:19:02 -0400 Received: from wout3-smtp.messagingengine.com ([64.147.123.19]:45607) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o2Qr6-0006nc-2S for 55343@debbugs.gnu.org; Sat, 18 Jun 2022 01:18:48 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 030413200917; Sat, 18 Jun 2022 01:18:37 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Sat, 18 Jun 2022 01:18:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1655529517; x=1655615917; bh=2cfswMjpEUqPXiWYYPxwttQke38tOczqmJO xE48+3AI=; b=bvd/X/tjadU1z404fxbgy3P06WA7KS6htSSqV+CZKEPeVt78p0i ffBpvxl66uAdrIUxty++7HCXkNyM4dhMeIj/TM53lm9e/dTKnrU+7gErbc1erlCP vV7b8viVBuw64Dv/0oeVLZK3Ebwc+NYJkXvFBiKfgyEgJuoTsoG5NSFytnqxpx7W 1wpcn6Ro80chHk8/pd6NjateisSv1VdxEglcvRyC2xAnN1IX5Kgvr3hckppn4gRb bDqHQGHs0WN2aXd0fghb24nL823Q3vn/S/OEpPeqPAAt7mPqJH+0BeKDgdVCyavX 6/1z1FVMoP0rOeFbRD+XX+yT3vJegEqBPIg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedruddviedgleeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvvefufhffkfgfgggtsehmtderredtreejnecuhfhrohhmpefvihhmohht hhihucfurghmphhlvgcuoehsrghmphhlvghtsehnghihrhhordgtohhmqeenucggtffrrg htthgvrhhnpeekffdvvdehheehleefvedvgeekgfefgfffieelleehveeiveekuedujeeg vddvieenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe hsrghmphhlvghtsehnghihrhhordgtohhm X-ME-Proxy: Feedback-ID: i4721425c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 18 Jun 2022 01:18:36 -0400 (EDT) From: Timothy Sample References: <20220510011812.15710e0b@primarylaptop.localdomain> <20220509232451.30605-1-GNUtoo@cyberdimension.org> <20220509232451.30605-2-GNUtoo@cyberdimension.org> <20220511190023.527dacfa@primarylaptop.localdomain> <73c23088990ce1751410d24ecc84580c9811fe2a.camel@telenet.be> <20220518155003.4ef86460@primarylaptop.localdomain> <20220611184135.7bf2ce49@primarylaptop.localdomain> <874k0jdo30.fsf_-_@gnu.org> Date: Fri, 17 Jun 2022 23:18:35 -0600 Message-ID: <87fsk25z2s.fsf@ngyro.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi all, Ludovic Court=C3=A8s writes: > Denis 'GNUtoo' Carikli skribis: > >> As I understood that serie was ready to be merged or is there something >> I still need to do on my side? > > Sorry for the delay; Mathieu, this is more your area of expertise: WDYT? I=E2=80=99m not Mathieu, but I wanted to chime in anyway. :) I have an old Mac Mini with the same setup: it=E2=80=99s a 64bit system wit= h a 32bit UEFI. I=E2=80=99ve been using the same GRUB package and bootloader modifications from this patch for years and it works great. I also just tested the image generation code. I built an image, wrote it to a USB storage device, and booted the machine from it. That=E2=80=99s pretty hand= y! I=E2=80=99ve attached a slightly modified version of the second patch. It removes some duplication. Essentially, I added a keyword to the =E2=80=98install-efi=E2=80=99 procedure so that callers can override the GR= UB image type and output file. There=E2=80=99s lots of duplication in the patch, but that seems to be largely due to the structure of the existing code, so I wouldn=E2=80=99t worry about it. So, barring any comments from Mathieu, these patches LGTM. -- Tim --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-image-Support-32bit-UEFI-on-64bit-systems.patch Content-Transfer-Encoding: quoted-printable >From 4be147b1c8fdef014ba06fd92e701753148d58c6 Mon Sep 17 00:00:00 2001 From: Denis 'GNUtoo' Carikli Date: Tue, 10 May 2022 01:24:51 +0200 Subject: [PATCH] image: Support 32bit UEFI on 64bit systems. * gnu/bootloader/grub.scm (grub-efi32-bootloader): New variable. (install-grub-efi32): New variable. * gnu/build/bootloader.scm (install-efi): Add a 'targets' keyword argument. (install-efi-loader): Likewise. * gnu/build/image.scm (initialize-efi32-partition): New procedure. * gnu/packages/bootloaders.scm (grub-efi32): New variable. * gnu/system/image.scm (esp32-partition): New variable (efi32-disk-image): New variable. (efi32-raw-image-type): New variable. (system-disk-image)[partition-image]: Set '#:grub-efi32' when calling the partition initializer. --- gnu/bootloader/grub.scm | 32 +++++++++++++++++++++++++++++++ gnu/build/bootloader.scm | 37 +++++++++++++++++++++++------------- gnu/build/image.scm | 14 ++++++++++++++ gnu/packages/bootloaders.scm | 13 +++++++++++++ gnu/system/image.scm | 19 ++++++++++++++++++ 5 files changed, 102 insertions(+), 13 deletions(-) diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm index 65d7171432..4f18c9b518 100644 --- a/gnu/bootloader/grub.scm +++ b/gnu/bootloader/grub.scm @@ -8,6 +8,7 @@ ;;; Copyright =C2=A9 2020 Maxim Cournoyer ;;; Copyright =C2=A9 2020 Stefan ;;; Copyright =C2=A9 2022 Karl Hallsby +;;; Copyright =C2=A9 2022 Denis 'GNUtoo' Carikli ;;; ;;; This file is part of GNU Guix. ;;; @@ -57,6 +58,7 @@ (define-module (gnu bootloader grub) grub-bootloader grub-efi-bootloader grub-efi-removable-bootloader + grub-efi32-bootloader grub-efi-netboot-bootloader grub-mkrescue-bootloader grub-minimal-bootloader @@ -636,6 +638,29 @@ (define install-grub-efi-removable "--bootloader-id=3DGuix" "--efi-directory" target-esp))))) =20 +(define install-grub-efi32 + #~(lambda (bootloader efi-dir mount-point) + ;; There is nothing useful to do when called in the context of a disk + ;; image generation. + (when efi-dir + ;; Install GRUB onto the EFI partition mounted at EFI-DIR, for the + ;; system whose root is mounted at MOUNT-POINT. + (let ((grub-install (string-append bootloader "/sbin/grub-install"= )) + (install-dir (string-append mount-point "/boot")) + ;; When installing Guix, it's common to mount EFI-DIR below + ;; MOUNT-POINT rather than /boot/efi on the live image. + (target-esp (if (file-exists? (string-append mount-point efi= -dir)) + (string-append mount-point efi-dir) + efi-dir))) + ;; Tell 'grub-install' that there might be a LUKS-encrypted /boo= t or + ;; root partition. + (setenv "GRUB_ENABLE_CRYPTODISK" "y") + (invoke/quiet grub-install "--boot-directory" install-dir + "--bootloader-id=3DGuix" + (cond ((target-x86?) "--target=3Di386-efi") + ((target-arm?) "--target=3Darm-efi")) + "--efi-directory" target-esp))))) + (define (install-grub-efi-netboot subdir) "Define a grub-efi-netboot bootloader installer for installation in SUBD= IR, which is usually efi/Guix or efi/boot." @@ -768,6 +793,13 @@ (define grub-efi-removable-bootloader (name 'grub-efi-removable-bootloader) (installer install-grub-efi-removable))) =20 +(define grub-efi32-bootloader + (bootloader + (inherit grub-efi-bootloader) + (installer install-grub-efi32) + (name 'grub-efi32) + (package grub-efi32))) + (define grub-efi-netboot-bootloader (bootloader (inherit grub-efi-bootloader) diff --git a/gnu/build/bootloader.scm b/gnu/build/bootloader.scm index 9a89fe55cb..af6063a884 100644 --- a/gnu/build/bootloader.scm +++ b/gnu/build/bootloader.scm @@ -1,6 +1,8 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright =C2=A9 2017 Mathieu Othacehe ;;; Copyright =C2=A9 2019 Ludovic Court=C3=A8s +;;; Copyright =C2=A9 2022 Denis 'GNUtoo' Carikli +;;; Copyright =C2=A9 2022 Timothy Sample ;;; ;;; This file is part of GNU Guix. ;;; @@ -54,8 +56,12 @@ (define (write-file-on-device file size device offset) ;;; EFI bootloader. ;;; =20 -(define (install-efi grub grub-config esp) - "Write a self-contained GRUB EFI loader to the mounted ESP using GRUB-CO= NFIG." +(define* (install-efi grub grub-config esp #:key targets) + "Write a self-contained GRUB EFI loader to the mounted ESP using +GRUB-CONFIG. + +If TARGETS is set, use its car as the GRUB image format and its cdr as +the output filename. Otherwise, use defaults for the host platform." (let* ((system %host-type) ;; Hard code the output location to a well-known path recognized = by ;; compliant firmware. See "3.5.1.1 Removable Media Boot Behaviou= r": @@ -63,14 +69,15 @@ (define (install-efi grub grub-config esp) (grub-mkstandalone (string-append grub "/bin/grub-mkstandalone")) (efi-directory (string-append esp "/EFI/BOOT")) ;; Map grub target names to boot file names. - (efi-targets (cond ((string-prefix? "x86_64" system) - '("x86_64-efi" . "BOOTX64.EFI")) - ((string-prefix? "i686" system) - '("i386-efi" . "BOOTIA32.EFI")) - ((string-prefix? "armhf" system) - '("arm-efi" . "BOOTARM.EFI")) - ((string-prefix? "aarch64" system) - '("arm64-efi" . "BOOTAA64.EFI"))))) + (efi-targets (or targets + (cond ((string-prefix? "x86_64" system) + '("x86_64-efi" . "BOOTX64.EFI")) + ((string-prefix? "i686" system) + '("i386-efi" . "BOOTIA32.EFI")) + ((string-prefix? "armhf" system) + '("arm-efi" . "BOOTARM.EFI")) + ((string-prefix? "aarch64" system) + '("arm64-efi" . "BOOTAA64.EFI")))))) ;; grub-mkstandalone requires a TMPDIR to prepare the firmware image. (setenv "TMPDIR" esp) =20 @@ -81,9 +88,12 @@ (define (install-efi grub grub-config esp) ;; Graft the configuration file onto the image. (string-append "boot/grub/grub.cfg=3D" grub-config)))) =20 -(define (install-efi-loader grub-efi esp) +(define* (install-efi-loader grub-efi esp #:key targets) "Install in ESP directory the given GRUB-EFI bootloader. Configure it to -load the Grub bootloader located in the 'Guix_image' root partition." +load the Grub bootloader located in the 'Guix_image' root partition. + +If TARGETS is set, use its car as the GRUB image format and its cdr as +the output filename. Otherwise, use defaults for the host platform." (let ((grub-config "grub.cfg")) (call-with-output-file grub-config (lambda (port) @@ -97,5 +107,6 @@ (define (install-efi-loader grub-efi esp) insmod part_gpt~@ search --set=3Droot --label Guix_image~@ configfile /boot/grub/grub.cfg~%"))) - (install-efi grub-efi grub-config esp) + (install-efi grub-efi grub-config esp #:targets targets) (delete-file grub-config))) + diff --git a/gnu/build/image.scm b/gnu/build/image.scm index ddfd34c111..321be8e4b1 100644 --- a/gnu/build/image.scm +++ b/gnu/build/image.scm @@ -6,6 +6,7 @@ ;;; Copyright =C2=A9 2020, 2022 Tobias Geerinckx-Rice ;;; Copyright =C2=A9 2020 Mathieu Othacehe ;;; Copyright =C2=A9 2022 Pavel Shlyak +;;; Copyright =C2=A9 2022 Denis 'GNUtoo' Carikli ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,6 +28,7 @@ (define-module (gnu build image) #:use-module (guix build syscalls) #:use-module (guix build utils) #:use-module (guix store database) + #:use-module (guix utils) #:use-module (gnu build bootloader) #:use-module (gnu build install) #:use-module (gnu build linux-boot) @@ -41,6 +43,7 @@ (define-module (gnu build image) convert-disk-image genimage initialize-efi-partition + initialize-efi32-partition initialize-root-partition =20 make-iso9660-image)) @@ -169,6 +172,17 @@ (define* (initialize-efi-partition root "Install in ROOT directory, an EFI loader using GRUB-EFI." (install-efi-loader grub-efi root)) =20 +(define* (initialize-efi32-partition root + #:key + grub-efi32 + #:allow-other-keys) + "Install in ROOT directory, an EFI 32bit loader using GRUB-EFI32." + (install-efi-loader grub-efi32 root + #:targets (cond ((target-x86?) + '("i386-efi" . "BOOTIA32.EFI")) + ((target-arm?) + '("arm-efi" . "BOOTARM.EFI"))))) + (define* (initialize-root-partition root #:key bootcfg diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 91d259475a..71a10f54d5 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -15,6 +15,7 @@ ;;; Copyright =C2=A9 2020, 2021 Pierre Langlois ;;; Copyright =C2=A9 2021 Vincent Legoll ;;; Copyright =C2=A9 2021 Brice Waegeneire +;;; Copyright =C2=A9 2022 Denis 'GNUtoo' Carikli ;;; ;;; This file is part of GNU Guix. ;;; @@ -332,6 +333,18 @@ (define-public grub-efi "/bin/mcopy\""))) #t)))))))))) =20 +(define-public grub-efi32 + (package + (inherit grub-efi) + (name "grub-efi32") + (synopsis "GRand Unified Boot loader (UEFI 32bit version)") + (arguments + `(,@(substitute-keyword-arguments (package-arguments grub-efi) + ((#:configure-flags flags + ''()) `(cons* ,(cond ((target-x86?) "--target=3Di386") + ((target-arm?) "--target=3Darm")) + ,flags))))))) + ;; Because grub searches hardcoded paths it's easiest to just build grub ;; again to make it find both grub-pc and grub-efi. There is a command ;; line argument which allows you to specify ONE platform - but diff --git a/gnu/system/image.scm b/gnu/system/image.scm index f02f6e0b8c..5972a944d7 100644 --- a/gnu/system/image.scm +++ b/gnu/system/image.scm @@ -2,6 +2,7 @@ ;;; Copyright =C2=A9 2020, 2021 Mathieu Othacehe ;;; Copyright =C2=A9 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright =C2=A9 2022 Pavel Shlyak +;;; Copyright =C2=A9 2022 Denis 'GNUtoo' Carikli ;;; ;;; This file is part of GNU Guix. ;;; @@ -66,6 +67,7 @@ (define-module (gnu system image) root-label =20 esp-partition + esp32-partition root-partition =20 efi-disk-image @@ -75,6 +77,7 @@ (define-module (gnu system image) =20 image-with-os efi-raw-image-type + efi32-raw-image-type qcow2-image-type iso-image-type uncompressed-iso-image-type @@ -110,6 +113,11 @@ (define esp-partition (flags '(esp)) (initializer (gexp initialize-efi-partition)))) =20 +(define esp32-partition + (partition + (inherit esp-partition) + (initializer (gexp initialize-efi32-partition)))) + (define root-partition (partition (size 'guess) @@ -123,6 +131,11 @@ (define efi-disk-image (format 'disk-image) (partitions (list esp-partition root-partition)))) =20 +(define efi32-disk-image + (image + (format 'disk-image) + (partitions (list esp32-partition root-partition)))) + (define iso9660-image (image (format 'iso9660) @@ -164,6 +177,11 @@ (define efi-raw-image-type (name 'efi-raw) (constructor (cut image-with-os efi-disk-image <>)))) =20 +(define efi32-raw-image-type + (image-type + (name 'efi32-raw) + (constructor (cut image-with-os efi32-disk-image <>)))) + (define qcow2-image-type (image-type (name 'qcow2) @@ -376,6 +394,7 @@ (define* (system-disk-image image #$(image-shared-store? ima= ge)) #:system-directory #$os #:grub-efi #+grub-efi + #:grub-efi32 #+grub-efi32 #:bootloader-package #+(bootloader-package bootloader) #:bootloader-installer --=20 2.36.1 --=-=-=-- From unknown Sun Jun 22 11:43:55 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#55343] Add support for 32bit UEFI Resent-From: Mathieu Othacehe Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 19 Jun 2022 19:04:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55343 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: Timothy Sample Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= , Maxime Devos , 55343@debbugs.gnu.org, Denis 'GNUtoo' Carikli Received: via spool by 55343-submit@debbugs.gnu.org id=B55343.165566538710149 (code B ref 55343); Sun, 19 Jun 2022 19:04:02 +0000 Received: (at 55343) by debbugs.gnu.org; 19 Jun 2022 19:03:07 +0000 Received: from localhost ([127.0.0.1]:53185 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o30CQ-0002dd-Po for submit@debbugs.gnu.org; Sun, 19 Jun 2022 15:03:06 -0400 Received: from eggs.gnu.org ([209.51.188.92]:34232) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o30CP-0002d6-08 for 55343@debbugs.gnu.org; Sun, 19 Jun 2022 15:03:06 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:33732) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o30CH-0000LW-Lq; Sun, 19 Jun 2022 15:02:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=BZv9k2PxHDsr/QzolEcFfhrJyDN/uGMcvGyU1yXHB0w=; b=DhkU29EIRlxfnV49FUAY y8hWNX3KDKQaNgJLk8Xjo/isUELFjnxRHi+gfqqs1EdYdgMM5jNDSFnGPuiGGirHIZwE+CcWyY+nW McP08TrrMFFdmdnt5B7BjsRrlsRY8Sr1+88eqBtfvnK2QEVQO30C0tPi+a0ewDa44KJ2PCqai8S7A nQFoFhUC3JDMm7wt/rYV+PFB4Nk2diF+rH27/l/A248rOJXPu3HZTqYFf5q/YFucZ9BOwCDCkfI/N CQSDtd5PA3x3Ris7K/tqPO5xWzZYEuxnWoM28JNzIw2cSRElWO+FpKeQKJ0/8F66gqKSnJJh+DRlA z/DavpFHD8Ft+A==; Received: from [2a01:cb18:832e:5f00:3563:417e:2a38:86d8] (port=56558 helo=meije) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o30CH-0006QJ-7k; Sun, 19 Jun 2022 15:02:57 -0400 From: Mathieu Othacehe References: <20220510011812.15710e0b@primarylaptop.localdomain> <20220509232451.30605-1-GNUtoo@cyberdimension.org> <20220509232451.30605-2-GNUtoo@cyberdimension.org> <20220511190023.527dacfa@primarylaptop.localdomain> <73c23088990ce1751410d24ecc84580c9811fe2a.camel@telenet.be> <20220518155003.4ef86460@primarylaptop.localdomain> <20220611184135.7bf2ce49@primarylaptop.localdomain> <874k0jdo30.fsf_-_@gnu.org> <87fsk25z2s.fsf@ngyro.com> Date: Sun, 19 Jun 2022 21:02:55 +0200 In-Reply-To: <87fsk25z2s.fsf@ngyro.com> (Timothy Sample's message of "Fri, 17 Jun 2022 23:18:35 -0600") Message-ID: <87o7yolbmo.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hey, This seems good to me! There are two things that we could maybe improve before pushing or later on: - We could tweak the "grub" package so that the x86_64-linux package contains the i386-efi and x86_64-efi modules. That's the case for the Archlinux package for instance: https://archlinux.org/packages/core/x86_64/grub/. This way we could get rid of the grub-efi32 package and rely only on the grub-efi package. We would need to come up with something similar for the aarch64-linux Grub package I guess. - The install-grub-efi, install-grub-efi-removable and install-grub-efi32 procedures share some bits. It could be nice to factorize them if possible. As everything else is ready to go, I'm fine to proceed here anyway. WDYT? Thanks, Mathieu From unknown Sun Jun 22 11:43:55 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Denis 'GNUtoo' Carikli Subject: bug#55343: closed (Re: bug#55343: Add support for 32bit UEFI) Message-ID: References: <87r13ejwpx.fsf@gnu.org> <20220510011812.15710e0b@primarylaptop.localdomain> X-Gnu-PR-Message: they-closed 55343 X-Gnu-PR-Package: guix-patches Reply-To: 55343@debbugs.gnu.org Date: Fri, 24 Jun 2022 08:25:01 +0000 Content-Type: multipart/mixed; boundary="----------=_1656059101-4598-1" This is a multi-part message in MIME format... ------------=_1656059101-4598-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #55343: Add support for 32bit UEFI which was filed against the guix-patches package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 55343@debbugs.gnu.org. --=20 55343: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D55343 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1656059101-4598-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 55343-done) by debbugs.gnu.org; 24 Jun 2022 08:24:14 +0000 Received: from localhost ([127.0.0.1]:40792 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o4ebq-0001B0-RQ for submit@debbugs.gnu.org; Fri, 24 Jun 2022 04:24:14 -0400 Received: from eggs.gnu.org ([209.51.188.92]:53666) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o4ebl-0001AM-WC for 55343-done@debbugs.gnu.org; Fri, 24 Jun 2022 04:24:10 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:57826) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o4ebd-0004n8-Tg; Fri, 24 Jun 2022 04:23:57 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=YKMhZAU1nCqUhaffd9jgi67jYyk95DiQnVrZMq1K6qE=; b=DRg/5ZiROFGFDtBAIjIc HKVh7IDXiZ9njTQJ3ssyePFajLtUe3Vahi+db+b7Aot2Pc5XpFQBLb25EU80gKjGdPgHkBBkTdf2j dYtsI3lo1wNpMKzHy5XmRmsnR0rO+6PAuGL2LV1TKM18fLK43wFmMRF6gXlH7aZl9VE3cDrckEEAs vGMF3pjqIuwfy6TOSywDW+3uOXGAjpMEKKqNX6Hob4iREqzmhOT+r3V2MjXvp0ccJ3KK3kJPHL2xl nxeOu62VxiGN26PevQNQEwWoCQeNakWmSU1TyNrmZUHlU5t24MExSv0X0EmQB+SJoCrBTBAd+AgFN IRoNAVoBw+GLOg==; Received: from [2a01:cb18:832e:5f00:3563:417e:2a38:86d8] (port=36154 helo=meije) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o4ebc-0005aJ-Uf; Fri, 24 Jun 2022 04:23:57 -0400 From: Mathieu Othacehe To: Timothy Sample Subject: Re: bug#55343: Add support for 32bit UEFI References: <20220510011812.15710e0b@primarylaptop.localdomain> <20220509232451.30605-1-GNUtoo@cyberdimension.org> <20220509232451.30605-2-GNUtoo@cyberdimension.org> <20220511190023.527dacfa@primarylaptop.localdomain> <73c23088990ce1751410d24ecc84580c9811fe2a.camel@telenet.be> <20220518155003.4ef86460@primarylaptop.localdomain> <20220611184135.7bf2ce49@primarylaptop.localdomain> <874k0jdo30.fsf_-_@gnu.org> <87fsk25z2s.fsf@ngyro.com> <87o7yolbmo.fsf@gnu.org> Date: Fri, 24 Jun 2022 10:23:54 +0200 In-Reply-To: <87o7yolbmo.fsf@gnu.org> (Mathieu Othacehe's message of "Sun, 19 Jun 2022 21:02:55 +0200") Message-ID: <87r13ejwpx.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 55343-done Cc: Ludovic =?utf-8?Q?Court=C3=A8s?= , Maxime Devos , Denis 'GNUtoo' Carikli , 55343-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hey, > This way we could get rid of the grub-efi32 package and rely only on > the grub-efi package. We would need to come up with something > similar for the aarch64-linux Grub package I guess. I tried to do that, turns out Grub doesn't have support for building modules for multiple architectures in a single pass. You need to call configure and make for each architecture. Having a dedicated grub-efi32 doesn't seem so bad after all. I pushed the patchset, thanks! Mathieu ------------=_1656059101-4598-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 9 May 2022 23:17:04 +0000 Received: from localhost ([127.0.0.1]:59698 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1noCch-0003Od-Fm for submit@debbugs.gnu.org; Mon, 09 May 2022 19:17:03 -0400 Received: from lists.gnu.org ([209.51.188.17]:41576) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1noCcg-0003OP-DW for submit@debbugs.gnu.org; Mon, 09 May 2022 19:17:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43898) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1noCcg-0006Wa-99 for guix-patches@gnu.org; Mon, 09 May 2022 19:17:02 -0400 Received: from cyberdimension.org ([2001:910:1314:ffff::1]:43268 helo=gnutoo.cyberdimension.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256) (Exim 4.90_1) (envelope-from ) id 1noCce-000729-2s for guix-patches@gnu.org; Mon, 09 May 2022 19:17:01 -0400 Received: from gnutoo.cyberdimension.org (localhost [127.0.0.1]) by cyberdimension.org (OpenSMTPD) with ESMTP id 01ba9775 for ; Mon, 9 May 2022 23:16:07 +0000 (UTC) Received: from primarylaptop.localdomain (localhost [::1]) by gnutoo.cyberdimension.org (OpenSMTPD) with ESMTP id e998cc2a for ; Mon, 9 May 2022 23:16:07 +0000 (UTC) Date: Tue, 10 May 2022 01:18:12 +0200 From: Denis 'GNUtoo' Carikli To: guix-patches@gnu.org Subject: Add support for 32bit UEFI Message-ID: <20220510011812.15710e0b@primarylaptop.localdomain> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.33; i686-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/BDtFVo0Mikk2C+IWMygS2.D"; protocol="application/pgp-signature"; micalg=pgp-sha256 Received-SPF: pass client-ip=2001:910:1314:ffff::1; envelope-from=GNUtoo@cyberdimension.org; helo=gnutoo.cyberdimension.org X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) --Sig_/BDtFVo0Mikk2C+IWMygS2.D Content-Type: multipart/mixed; boundary="MP_/w+wtIuqLooNM/FaFkx_v8pB" --MP_/w+wtIuqLooNM/FaFkx_v8pB Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi, I was lent a tablet with an x86_64 CPU and a 32bit UEFI. As I wanted to test Guix on it, I ended up making patches to add support for 32bit UEFI. This also enabled me to learn more about UEFI in the process. In these patches (that will be sent right after this mail), I added a grub-efi32 package that makes sure it is compiled for 32bit, even on 64bit systems, and to use it, I added and a new 'efi32-raw' image type. I've copied (with dd) a system image that I made with this command on a x86_64 Guix: > guix system image -t efi32-raw system.scm to an USB key that I then booted on a Dell Venue Pro 8. I've attached the system.scm used for the tests (it's based on the desktop.tmpl in the Guix source code). I validated that the device booted fine up to gdm. I also validated that the grub image generated with this package was 32bit with the following commands (on both i686 and x86_64 computers): > /gnu/store/[...]-grub-efi32-2.06/bin/grub-mkimage \ > -O i386-efi -p / -o /tmp/grub.img > $ file /tmp/grub.img=20 > /tmp/grub.img: PE32 executable (EFI application) Intel 80386 (stripped > to external PDB), for MS Windows I've not yet tried to create an image with grub-efi32 on i686 but I assume that it's not necessarily an issue since grub system image also has targets like novena-raw that don't work for x86. I also don't have ARM UEFI machines so I still added support for that but I could not test it. Also, for some reasons guix lint fails on i686 while it works fine for x86_64: > $ ./pre-inst-env guix lint grub-efi32 > gnu/packages/bootloaders.scm:337:2: grub-efi32@2.06: label > 'ld-wrapper' does not match package name 'ld-wrapper-i386' > gnu/packages/bootloaders.scm:337:2: grub-efi32@2.06: label 'binutils' > does not match package name 'binutils-i386' > gnu/packages/bootloaders.scm:337:2: grub-efi32@2.06: label 'qemu' > does not match package name 'qemu-minimal' > gnu/packages/bootloaders.scm:337:2: grub-efi32@2.06: label 'gettext' > does not match package name 'gettext-minimal' > gnu/packages/bootloaders.scm:337:2: grub-efi32@2.06: file names of > patches should start with the package name Backtrace:rub-efi32@2.06 > [gnu-description]... In ice-9/boot-9.scm: 1752:10 17 > (with-exception-handler _ _ #:unwind? _ # _) In unknown file: 16 > (apply-smob/0 #) In ice-9/boot-9.scm: 724:2 15 > (call-with-prompt _ _ #) In > ice-9/eval.scm: 619:8 14 (_ #(#(#))) > In guix/ui.scm: 2230:7 13 (run-guix . _) > 2193:10 12 (run-guix-command _ . _) > In ice-9/boot-9.scm: > 1752:10 11 (with-exception-handler _ _ #:unwind? _ # _) > 1752:10 10 (with-exception-handler _ _ #:unwind? _ # _) > In guix/store.scm: > 658:37 9 (thunk) > In srfi/srfi-1.scm: > 634:9 8 (for-each # > =E2=80=A6) In guix/scripts/lint.scm: > 65:4 7 (run-checkers _ _ #:store _) > In srfi/srfi-1.scm: > 634:9 6 (for-each # > =E2=80=A6) In guix/scripts/lint.scm: > 74:21 5 (_ _) > In guix/lint.scm: > 1093:2 4 (check-gnu-synopsis+description # grub-efi32@2.=E2=80=A6>) In srfi/srfi-1.scm: > 730:15 3 (find # > =E2=80=A6) In guix/gnu-maintenance.scm: > 100:21 2 (_ #< name: "3dldf" > mundane-nam=E2=80=A6>) In ice-9/boot-9.scm: > 1685:16 1 (raise-exception _ #:continuable? _) > 1685:16 0 (raise-exception _ #:continuable? _) >=20 > ice-9/boot-9.scm:1685:16: In procedure raise-exception: > error: : unbound variable Denis. --MP_/w+wtIuqLooNM/FaFkx_v8pB Content-Type: text/x-scheme Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename=system.scm (use-modules (gnu) (gnu system nss) (guix utils)) (use-service-modules desktop sddm xorg) (use-package-modules certs gnome) (operating-system (host-name "dell-venue-8-pro") (timezone "Europe/Paris") (locale "en_US.utf8") (keyboard-layout (keyboard-layout "us" "altgr-intl")) ;; This device has a 32bit UEFI (bootloader (bootloader-configuration (bootloader grub-efi32-bootloader) (targets '("/boot/efi")) (keyboard-layout keyboard-layout))) ;; Specify a mapped device for the encrypted root partition. ;; The UUID is that returned by 'cryptsetup luksUUID'. (mapped-devices (list (mapped-device (source (uuid "12345678-1234-1234-1234-123456789abc")) (target "my-root") (type luks-device-mapping)))) (file-systems (append (list (file-system (device (file-system-label "my-root")) (mount-point "/") (type "ext4") (dependencies mapped-devices)) (file-system (device (uuid "1234-ABCD" 'fat)) (mount-point "/boot/efi") (type "vfat"))) %base-file-systems)) ;; Specify a swap file for the system, which resides on the ;; root file system. (swap-devices (list (swap-space (target "/swapfile")))) (users (cons (user-account (name "parinux") (comment "Parinux") (group "parinux")) %base-user-accounts)) (groups (cons* (user-group (name "parinux")) %base-groups)) ;; This is where we specify system-wide packages. (packages (append (list ;; for HTTPS access nss-certs ;; for user mounts gvfs) %base-packages)) ;; Add GNOME and Xfce---we can choose at the log-in screen ;; by clicking the gear. Use the "desktop" services, which ;; include the X11 log-in service, networking with ;; NetworkManager, and more. (services (if (target-x86-64?) (append (list (service gnome-desktop-service-type) (service xfce-desktop-service-type) (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout)))) %desktop-services) ;; FIXME: Since GDM depends on Rust (gdm -> gnome-shell -> = gjs ;; -> mozjs -> rust) and Rust is currently unavailable on ;; non-x86_64 platforms, we use SDDM and Mate here instead = of ;; GNOME and GDM. (append (list (service mate-desktop-service-type) (service xfce-desktop-service-type) (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout)) sddm-service-type)) %desktop-services))) ;; Allow resolution of '.local' host names with mDNS. (name-service-switch %mdns-host-lookup-nss)) --MP_/w+wtIuqLooNM/FaFkx_v8pB-- --Sig_/BDtFVo0Mikk2C+IWMygS2.D Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEeC+d2+Nrp/PU3kkGX138wUF34mMFAmJ5oTQACgkQX138wUF3 4mNenQ//aHcM9wxnsvVqPmDEneHyXYe6AETFstXWaPC3EPcdKnRLu7UbYsnpX/x5 kPnHNNJgaHNQSHPLgsVZJXAuWCE5P0PB5ZgFlyRVLwF838sDLpzZvOeVPYhgQRKC AP+OVV5bm/t1uMwk7UOyfszu/tIdEm55eqad+CZIYWD3mAUbBweWNK38kpgOdUMs vWuT6/t4s1QpMw5Nw/yUnSwby8vDOCgMUB84JZnm2ka0tVgf732f6P8196y+pg9h ebGGcmAwACMb556+GRMEvyb7HmZBHuEda5DNTVmiO8z6knIKWH8QQv7w8WxtdbmR OHE3pHHSBfuQN3NAMeFJYZ60KlFvzhk8ePI4T//PqOT+M4DGIstcoc87OTjxIpI7 BbRzmZdUeh1sat2am9Oz8qME6QyELdvgd4WK236wuOLNIrNRP2jZOR1IInNDdTjb mOunAOHxqUpLFatZINijWQjmVcD3Z1UzNUETHNzOacvA6CR+y9snxAyg15NKo/os o1Wg2rN6/GcTdNvTuDhipnn3hyatqVE2adUn2MXuAVml9FbK2ZMOkTCCS8luwE9g QV3oXo3hX4n3D2huhmFjQg3svwj7a25G8Nc0FkQbRPyAtJzMkdFLHuaeG5F7mg9T obl76ye55p9i8YhqZwV6kLUn5ZWV1G+VnAaJ5L97vwmmaHgAoW8= =EwHg -----END PGP SIGNATURE----- --Sig_/BDtFVo0Mikk2C+IWMygS2.D-- ------------=_1656059101-4598-1--