help-guix
[Top][All Lists]
Advanced

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

Re: U-Boot for Raspberry Pi


From: phodina
Subject: Re: U-Boot for Raspberry Pi
Date: Tue, 02 Nov 2021 11:00:40 +0000

Hi Stefan,

On Monday, November 1st, 2021 at 12:09 AM, Stefan <stefan-guix@vodafonemail.de> 
wrote:

> Hi!
>
> There is already a patch series available since May – patiently awaiting a 
> review –, which brings support for the Raspberry Pi. It even supports booting 
> via NFS, which helps to avoid all the common troubles with microSD cards.

Thanks for your amazing work! I've applied the patches and it builds the system.

>
> For the usual mircoSD card installation just partition and format it as 
> usual, and put the well known bootloader blob on the FAT partition. Then do a 
> ‘guix system init config.scm /mnt/microsd’. The patch series contains an 
> example configuration at ‘gnu/system/examples/raspberry-pi-64.tmpl’.


However, I ran into several issues.

Firstly it's hard to run the init command as it requires root.
What I did is the following:

sudo guix environment --pure guix --ad-hoc coreutils findutils which

This gives me pure environment with the patches and root access.

Do you have different suggestion on how to invoke the guix system init command?

Secondly I have to run the command to init the system on the microSD card with 
the following flag --skip-checks:

[env]# ./pre-inst-env guix system init -s aarch64-linux 
gnu/system/examples/raspberry-pi-64.tmpl /mnt  --skip-checks

Otherwise I have to build with the following initrd config:

(initrd-modules (append (list "mmc_block" "rtsx_pci_sdmmc" "rtsx_pci")
   ;;                             %base-initrd-modules))

But adding these the build fails. Thought they might be needed as the kernel 
needs to access the blocks on microSD.

Another issue were certificates:

...
initializing operating system under '/mnt'...
copying to '/mnt'...  
[#########################################################                      
                              ]i/o error: 
/gnu/store/j76446v1asknzjl5lvzp9mnrg8gxl24d-nss-certs-3.59/etc/ssl/certs/NetLock_Arany_=Class_Gold=_F??tan??s??tv??ny:2.6.73.65.44.228.0.16.pem:
 No such file or directory
copying to '/mnt'...  
[##################################################################             
                              ]i/o error: 
/gnu/store/db3kp42msgw9f53jk5hvp2bgsaq6jdyv-profile/etc/ssl/certs/NetLock_Arany_=Class_Gold=_F??tan??s??tv??ny:2.6.73.65.44.228.0.16.pem:
 No such file or directory
copying to '/mnt'...
populating '/mnt'...

Lastly the init fails as the FAT file system not supporting symlinks.

guix system: error: symlink: Operation not permitted: "/boot/efi/gnu/store"

I formatted the microSD card with FAT32 and Ext4 partitions.
The FAT32 partition is mounted to /boot.

Could you please help me as I've might done something incorrectly?

>
> Take a look here: http://issues.guix.gnu.org/48314#10
>
> In hope to get more attention and interest for a review, allow me to add two 
> side notes.
>
> Ever in need for a Guix System on an USB thump drive? Give the new 
> ‘grub-efi-netboot-removable-bootloader’ a try instead of 
> ‘grub-efi-bootloader’. It is not only usable for booting over network.
>
> Ever in need to quickly modify the kernel Linux? Give the new function 
> ‘modify-linux’ a try. For the Raspberry this is needed to get the kernel 
> linux-libre working. (By the way, would Guix System be the first distribution 
> using a libre kernel on the Raspberry?)
>
> For example to enable NFS root functionality for virtual machines, use a 
> kernel definition like this in your operating-system definition:
>
> (kernel (modify-linux #:configs '("CONFIG_E1000=y"
>
> "CONFIG_ROOT_NFS=y"
>
> "CONFIG_NFS_FS=y"
>
> "CONFIG_NFS_V4=y")))
>
> Bye
>
> Stefan



reply via email to

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