diff --git a/hosts/uConsole/configuration.nix b/hosts/uConsole/configuration.nix old mode 100644 new mode 100755 index 10cf767..ebe124b --- a/hosts/uConsole/configuration.nix +++ b/hosts/uConsole/configuration.nix @@ -21,16 +21,29 @@ in i18n.defaultLocale = "en_CA.UTF-8"; # System State - system.stateVersion = "25.05"; + system.stateVersion = "25.11"; # Boot & Hardware (migrated to kernel bootloader per nixos-raspberrypi deprecation notice) boot.loader.raspberry-pi.bootloader = "kernel"; # kernel managed by nixos-raspberrypi module — don't override, patches are version-specific # boot.kernelPackages = pkgs.linuxPackages_latest; - # Use kernel built-in console font — ter-v24n from nixos-uconsole is garbled on CM5 - console.font = lib.mkForce "Lat2-Terminus16"; - console.packages = lib.mkForce [ ]; + # Kernel parameters matching nixos-uconsole CM5 module + # console=tty1 is critical — without it, console output goes to ttyAMA0 not fb0 + boot.kernelParams = [ + "8250.nr_uarts=1" + "console=tty1" + ]; + + # Enable Mesa GPU drivers — REQUIRED for VC4 display pipeline to initialize + hardware.graphics.enable = true; + + # Console font sized for the 5" 720x1280 display (from nixos-uconsole base module) + console = { + earlySetup = true; + font = "ter-v24n"; + packages = with pkgs; [ terminus_font ]; + }; # Networking networking.networkmanager.enable = true; @@ -209,7 +222,14 @@ in # CM5 Config.txt Fix: use [pi5] section (not [cm5]) # Rex's images use [pi5], the CM5 firmware may not detect [cm5] # ============================================================ + # Merge nixos-uconsole GPIO config with our [pi5] overrides + # GPIO 10/11 are from nixos-uconsole configtxt.nix (audio amplifier) + # [pi5] section fixes the CM5 detection issue — firmware matches [pi5] not [cm5] hardware.raspberry-pi.extra-config = '' + [all] + gpio=10=ip,np + gpio=11=op,dh + [pi5] dtparam=pciex1=off dtoverlay=clockworkpi-uconsole-cm5