Man I have been trying to get guix to boot on my pinebook for years and the closest I ever got was successfully building a stripped down version of the installation image natively using qemu-binfmt
It was able to boot and even install to the emmc and boot again but when I tried to guix system reconfigure it bit the dust.
Now it “hangs” but a serial console reveals somehow the co-processors are misconfigured and the scheduler is scheduling tasks but they are timing out. Some hunting on the forums showed me somehow I need to disable the smaller cores and just boot u-boot with the main 4 and let linux handle initialization but I haven’t progressed on this front for a few weeks.
Here is my os definition for what it’s worth.
(define pinebook-os
(operating-system
(inherit pinebook-pro-barebones-os)
(host-name "voyager")
(timezone "UTC")
(locale "en_US.utf8")
(bootloader (bootloader-configuration
(bootloader u-boot-pinebook-pro-rk3399-bootloader)
(targets '("/dev/mmcblk2"))))
(kernel linux-libre-lts)
(kernel-arguments (list "iommu=soft"))
(packages (cons* cryptsetup
emacs
emacs-exwm
st
%base-packages))
(file-systems (cons*
(file-system
(device (file-system-label "ROOT"))
(mount-point "/")
(type "btrfs"))
(file-system
(mount-point "/boot")
(device (uuid "E6FF-F73A" 'fat32))
(type "vfat"))
%base-file-systems))
(users (cons* (user-account
(name "m”)
(comment "M")
(group "users")
(home-directory "/home/m")
(supplementary-groups
'("wheel"
"dialout"
"disk"
"netdev"
"audio"
"tty"
"kvm"
"netdev"
"video")))
%base-user-accounts))
(services
(append (list (service dhcp-client-service-type)
(service wpa-supplicant-service-type)
(service openssh-service-type
(openssh-configuration
(openssh openssh-sans-x)
(permit-root-login #f)
(password-authentication? #f)
(authorized-keys
`(("m" ,(local-file "/home/m/.ssh/id_ed25519.pub")))))))
%pinebook-base-services))
(name-service-switch %mdns-host-lookup-nss)))
Guix, because I love nix but love lisp even more