Files
guix-router/mt6000-image.scm
ssmithxandClaude Opus 5.5 5de6046e8d MT6000: kernel, system, root image and FIT boot image
linux-mt6000: Nonguix linux 6.17 with ARCH_MEDIATEK and the MT7986
drivers, OpenWrt's block NVMEM provider and mac-base patches (WiFi
calibration and MACs from the eMMC factory partition), bootargs-append,
and OpenWrt's GL-MT6000 device tree.

mt6000.scm: the Pi's OpenWrt userland on the MT6000 (lan1-5 + WiFi in
br-lan, eth1 WAN).  Shared pieces move to packages/router-base.scm;
the Pi's system is unchanged.

build-mt6000-root.sh builds the ext4 root for the rootfs partition and,
with scripts/mt6000-fit.sh, the FIT that GL's U-Boot boots from the
kernel partition -- for the system inside the image, whose root is the
partition's UUID.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 19:37:33 -04:00

31 lines
1.0 KiB
Scheme

;; Root file system for the GL-MT6000: a disk image with one ext4 partition
;; labelled "Guix" at 1 MiB. build-mt6000-root.sh cuts the partition out;
;; it is written to the `rootfs' partition (p7, 7.2 GiB), where the
;; resize-root service grows it. The kernel side is the FIT in p6
;; (scripts/mt6000-fit.sh).
;;
;; The image platform is aarch64, so Guix cross-builds from x86_64.
(use-modules (gnu image)
(gnu system image)
(guix platforms arm))
;; Evaluates mt6000.scm in this module, defining %mt6000-os.
(primitive-load (string-append (or (and=> (current-filename) dirname) ".")
"/mt6000.scm"))
(define MiB (expt 2 20))
(define GiB (expt 2 30))
(image
(name 'guix-mt6000)
(format 'disk-image)
(partition-table-type 'mbr)
(platform aarch64-linux)
(operating-system %mt6000-os)
(partitions (list (partition
(inherit root-partition)
(offset MiB)
(label "Guix")
(size (* 4 GiB))))))