emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#48314: closed ([PATCH] Install guix system on Raspberry Pi)


From: GNU bug Tracking System
Subject: bug#48314: closed ([PATCH] Install guix system on Raspberry Pi)
Date: Thu, 01 Dec 2022 19:34:02 +0000

Your message dated Thu, 01 Dec 2022 14:33:24 -0500
with message-id <87wn7ahqbf.fsf_-_@gmail.com>
and subject line Re: bug#48314: [PATCH] Install guix system on Raspberry Pi
has caused the debbugs.gnu.org bug report #48314,
regarding [PATCH] Install guix system on Raspberry Pi
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
48314: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=48314
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: Patches to install guix system on Raspberry Pi Date: Sun, 9 May 2021 17:32:04 +0200
Hi!

This patch series adds support for the Raspberry Pi. It allows to use ‘sudo -E 
guix system init … /mnt’ with the root partition mounted at /mnt and the boot 
partition mounted at /mnt/boot/efi, as you would expect it for a PC with UEFI. 
Installing for netboot is possible as well.

It is currently not possible to build an image with this patch series, because 
of the intercepting handling for efi system image creation.

Some of these patches are generic and not related to the Raspberry Pi. I hope 
they will be a useful contribution for everyone.

Here is a quick overview of the single patches:

01: Disable the tests on aarch64 for qemu-minimal, because it is 
non-deterministic but needed to build grub.

02: Rework the grub-efi-netboot-bootloader and add a 
grub-efi-netboot-removable-bootloader which then are pre-installed. This allows 
a simplification of the efi-bootloader-chain, as these pre-installed 
bootloaders just need to be copied and can therefore easily be collected in a 
bootloader-profile.

03: A new build-side module to modify a defconfig. It is used to customize 
U-Boot and Linux packages.

04: Customized and pre-installed U-Boot packages for the Raspberry Pi.

05: Fixed the EXTRAVERSION variable used to build Linux, so that the 
extra-version argument will be visible with uname. 

06: New function to modify a Linux package by using another defconfig and/or 
adding or removing configurations.

07: Raspberry Pi specific defconfig objects.

08: Some helpers to construct config.txt files for the Raspberry Pi firmware.

09: A function to create a package with device-tree files from a Linux package 
for the Raspberry Pi.

10: A bootloader for the Raspberry Pi. Additionally two examples of 
operating-system definitions to boot from local storage or over network, the 
latter is making necessary configuration changes to Linux.

The firmware topic is excluded. In the same way that guix assumes that some 
UEFI firmware is already present on a PC, this patch series assumes that a 
firmware to start U-Boot is already present.

The grub bootloaders are usable on PCs as well. In contrast to the normal 
grub-efi, all grub files are copied to the EFI system partition, instead of the 
root partition. This is a side effect of the netboot capability. Maybe this is 
helpful for some spacial cases. I realized for example that the normal grub-efi 
locates the partition containing the grub.cfg by a device name like (hd0,gpt1), 
this may be problematic when adding disks to a system. The new grub bootloaders 
determine the partition by UUID.

The new possibility to customize Linux with (modify-linux) will be useful for 
anyone in need to do small configuration changes. There is also the possibility 
to pass an own defconfig file to this function. It can either be the name of a 
defconfig file from the Linux sources, or it can be a file-like object, like 
produced by (local-file) or possibly downloaded with the new (make-defconfig) 
function.


Bye

Stefan

Attachment: 01-gnu-qemu-disable-tests-on.patch
Description: Binary data

Attachment: 02-gnu-bootloader-rework-chaining.patch
Description: Binary data

Attachment: 03-build-kconfig-add-new-module.patch
Description: Binary data

Attachment: 04-gnu-bootloader-add-u-boot.patch
Description: Binary data

Attachment: 05-gnu-linux-correct-name-of.patch
Description: Binary data

Attachment: 06-gnu-linux-new-function-to.patch
Description: Binary data

Attachment: 07-gnu-raspberry-pi-add-defconfig.patch
Description: Binary data

Attachment: 08-gnu-raspberry-pi-add-helpers.patch
Description: Binary data

Attachment: 09-gnu-raspberry-pi-new-function.patch
Description: Binary data

Attachment: 10-gnu-raspberry-pi-add-a.patch
Description: Binary data


--- End Message ---
--- Begin Message --- Subject: Re: bug#48314: [PATCH] Install guix system on Raspberry Pi Date: Thu, 01 Dec 2022 14:33:24 -0500 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
Hi,

Stefan <stefan-guix@vodafonemail.de> writes:

> gnu: raspberry-pi: Add a bootloader-chain for the Raspberry Pi and os 
> examples.
>
> From: Stefan <stefan-guix@vodafonemail.de>
>
> * gnu/packages/raspberry-pi.scm (grub-efi-bootloader-chain-raspi-64): New
> bootloader variable, capable to boot a Raspberry Pi over network or from a
> local storage.
> * gnu/system/examples/raspberry-pi-64.tmpl: New operating-system example.
> * gnu/system/examples/raspberry-pi-64-nfs-root.tmpl: New operating-system

Neat!

I've registered the new files in Makefile.am (and adjusted the commit
message), fixed their indentation and pushed!

This whole series is now in Guix.  I'll try to test it with actual
devices in the coming days and see if anything needs adjusting.

Thanks to you and to everyone else who contributed to the review.

Maxim


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]