Files
ssmithx be82d9dd81 Guix router testbed for Raspberry Pi 4 (MT6000 port prep)
Bootable aarch64 image pipeline: cross-build efi-raw image from rpi4.scm
(nonguix linux 6.17 + firmware subsets), inject the Pi boot chain
(start4.elf, u-boot distro boot, DTB, extlinux.conf) with
prepare-rpi-image.sh.  Includes host setup and pitfalls docs, OpenWrt
userland package drafts, and the project plans.
2026-10-12 10:55:30 -04:00

49 lines
1.6 KiB
Scheme

;; Minimal Guix system prototype for the GL-MT6000 project.
;; Phase 1 target: qemu-system-aarch64 -M virt (AAVMF/EFI boot).
;; Phase 3 target: same config with a MT7986-capable kernel, eMMC boot.
(use-modules (gnu) (gnu system))
(use-service-modules admin networking ssh)
(operating-system
(host-name "guix-mt6000")
(hashed-root-password (plain "guix"))
(timezone "Etc/UTC")
(locale "en_US.utf8")
(kernel-arguments (list "console=ttyAMA0"))
(bootloader (bootloader-configuration
(bootloader grub-efi-bootloader)
(targets (list "/dev/vda"))
(terminal-outputs '(console))))
(file-systems (cons (file-system
(mount-point "/")
(device (file-system-label "guix-root"))
(type "ext4"))
%base-file-systems))
(swap-devices '())
(users (cons (user-account
(name "router")
(group "users")
(supplementary-groups '("wheel")))
%base-user-accounts))
;; Keep it lean: only what the OpenWrt-userland prototype needs.
(packages (append (list iproute iputils)
%base-packages))
(services (cons*
(service openssh-service-type
(openssh-configuration
(permit-root-login #t)
(password-authentication? #t)))
;; Placeholder for the future ubusd/netifd shepherd services.
(service agetty-service-type
(agetty-configuration
(terminals (list (tty "ttyAMA0")))))
%base-services)))