all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Unable to install on Raspberry Pi 4B
@ 2024-08-11 12:19 creightor via
  2024-08-13  9:13 ` Christoph Buck
  0 siblings, 1 reply; 3+ messages in thread
From: creightor via @ 2024-08-11 12:19 UTC (permalink / raw)
  To: help-guix

I've tried all the options for install Guix on this device that I could 
find.
The setup I have is an x86_64 PC with Guix (the distribution), an 
aarch64 laptop with Guix (the package manager) and the Raspberry Pi 4B.
I used the ./gnu/system/examples/raspberry-pi-64.tmpl for reference to 
write the image.
I skipped setting up the boot partition for now since I can't even get 
it to completely compile all the packages.

This is the image I ended up with:
```
(use-modules (gnu)
              (gnu image)
              (guix gexp)
              (guix platforms arm))

(use-package-modules linux raspberry-pi)

(define pi-img
     (image
         (format 'disk-image)
         (platform aarch64-linux)
         (partition-table-type 'gpt)
         (partitions
             (list
                 (partition
                     (size (* 256 (expt 2 20))) ; 256 MiB
                     (offset 8192)
                     (label "PI_BOOT")
                     (file-system "vfat")
                     (flags '(boot))
                     ;; Do nothing. I'd set this up later manually.
                     (initializer #~(lambda* (root . rest) #t)))
                 (partition
                     (size 'guess)
                     (label "PI_ROOT")
                     (file-system "ext4"))))
         (operating-system
             (operating-system
                 (host-name "pi")
                 (timezone "Europe/Riga")
                 (locale "en_US.UTF-8")
                 (bootloader
                     (bootloader-configuration
                         (bootloader grub-efi-bootloader-chain-raspi-64)
                         (targets (list "/boot/efi"))))
                 (kernel linux-libre-arm64-generic)
                 (file-systems (cons* (file-system
                                          (mount-point "/")
                                          (type "ext4")
                                          (device (file-system-label 
"PI_ROOT")))
                                      (file-system
                                          (mount-point "/boot/efi")
                                          (type "vfat")
                                          (device (file-system-label 
"PI_BOOT")))
                                      %base-file-systems))
                 (users (cons* (user-account
                                     (name "usr")
                                     (group "users")
                                     (supplementary-groups '("wheel" 
"netdev"
                                                                          
            "audio" "video"))
                                     (home-directory "/home/usr"))
                                 %base-user-accounts))
                 (packages %base-packages)
                 (services %base-services)))))

pi-img
```

1)
Building an image from the aarch64 laptop failed during a test 
https://bpa.st/K5PQ
It says the build phase finished yet when I try to re-run the command 
(should return the image path on success AFAIK) it restarts the build.

2)
Building an image from the x86_64 PC failed while cross-compiling 
gawk-mesboot.
I think this might have been related to 
https://issues.guix.gnu.org/66866 so I tried the --no-grafts option and 
afterwards something went completely wrong, I guess an unhandled 
exception and I got the backtrace https://bpa.st/3WEQ

3)
I also tried to install on a microSD card from the aarch64 laptop using 
`guix system init` with the same os definition as above like described 
here https://guix.gnu.org/manual/en/guix.html#Manual-Installation
For some reason, when running the init command it sort of ignores the 
import of the raspberry-pi package/gnu packages raspberry-pi module and 
fails with:
```
/mnt/msd/etc/config.scm:15:36: error: 
grub-efi-netboot-removable-bootloader: unbound variable
hint: Did you forget a `use-modules' form?
```
but if I start up a REPL with `guix repl` and
```
(use-modules (gnu))
(use-package-modules raspberry-pi)
```
and then evaluate `grub-efi-bootloader-chain-raspi-64` it works fine.

Is there something I'm missing? Is Guix just unsupported on Raspberry Pi 
4B? It was a breeze installing on the x86_64 PC though.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Unable to install on Raspberry Pi 4B
  2024-08-11 12:19 Unable to install on Raspberry Pi 4B creightor via
@ 2024-08-13  9:13 ` Christoph Buck
  2024-08-13  9:25   ` Christoph Buck
  0 siblings, 1 reply; 3+ messages in thread
From: Christoph Buck @ 2024-08-13  9:13 UTC (permalink / raw)
  To: creightor via; +Cc: creightor

Hi!

creightor via <help-guix@gnu.org> writes:

> 2)
> Building an image from the x86_64 PC failed while cross-compiling
> gawk-mesboot.
> I think this might have been related to
> https://issues.guix.gnu.org/66866 so I tried the --no-grafts option
> and afterwards something went completely wrong, I guess an unhandled
> exception and I got the backtrace https://bpa.st/3WEQ

Imho `--no-grafts` is necessary right now. I have a similiar setup as
you (crosscompile aarch64 pi image from my x86_64 pc) and i need this
option to get it to work. I didn't run into the unhandled exception
however. I based my experiements on [1], which resulted in a bootable
image. Be aware, that this uses proprietary firmware. Discussion about
this repo is considered offtopic on this mailing list.

[1] https://git.pantherx.org/development/hardware/raspberry

-- 
Best regards

Christoph


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Unable to install on Raspberry Pi 4B
  2024-08-13  9:13 ` Christoph Buck
@ 2024-08-13  9:25   ` Christoph Buck
  0 siblings, 0 replies; 3+ messages in thread
From: Christoph Buck @ 2024-08-13  9:25 UTC (permalink / raw)
  To: creightor via; +Cc: creightor

Hi again!

Christoph Buck <dev@icepic.de> writes:

> Imho `--no-grafts` is necessary right now. I have a similiar setup as
> you (crosscompile aarch64 pi image from my x86_64 pc) and i need this
> option to get it to work. [...]

Forgot to mention. Can you try building the system with `--no-grafts
--skip-checks`? 

According to the documentation [1], this disable safety checks if
certain kernel modules are present. AFAIR this was necessary to fix
similiar build errors on my side.

[1] https://guix.gnu.org/manual/en/html_node/Invoking-guix-system.html

-- 
Best regards

Christoph


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-08-13  9:26 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-11 12:19 Unable to install on Raspberry Pi 4B creightor via
2024-08-13  9:13 ` Christoph Buck
2024-08-13  9:25   ` Christoph Buck

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.