Commit graph

17 commits

Author SHA1 Message Date
Sandro Jäckel
50a9758cc0
raspberry-pi/common: fix infinite recursion when building options.json 2026-05-14 23:59:22 +02:00
Doron Behar
c0573b3113
Merge pull request #1861 from JamieMagee/raspberry-pi/wire-configtxt
raspberry-pi: wire config.txt module into common profile
2026-05-12 13:25:37 +00:00
Jamie Magee
105c702c2e raspberry-pi: wire config.txt module into common profile
PR #1788 added hardware.raspberry-pi.configtxt and a defaults file,
but nothing imported them, so the options had no effect. Import both
from common/default.nix. Board profiles that already import common/
(2, 4, 5) now apply the pi-gen-equivalent defaults.
2026-05-05 14:04:51 -07:00
Jamie Magee
ae243122dd raspberry-pi: restore postConfigure sed for LOCALVERSION
freeform "" can't emit an empty string through nixpkgs mkValue; it renders as the literal "", so CONFIG_LOCALVERSION ends up two chars and modDirVersion becomes 6.12.75"". Bring back the sed from before #1841.

Fixes #1859.
2026-05-05 13:34:59 -07:00
Jamie Magee
88cd2fa6e9 raspberry-pi: match RPi vendor defconfigs in kernel config
Override the nixpkgs common-config.nix values that conflict with the RPi
vendor defconfigs. Without these the kernel config silently differs from
the vendor defconfig.

mkForce is used only on options where nixpkgs common-config sets a
conflicting value at normal priority.

Ref: https://github.com/raspberrypi/linux/tree/rpi-6.12.y/arch/arm64/configs
2026-05-04 08:50:24 -07:00
Jamie Magee
554e00a592 raspberry-pi: replace postConfigure sed hack with structuredExtraConfig
Set CONFIG_LOCALVERSION via structuredExtraConfig instead of patching
.config and auto.conf with sed after configure. The vendor defconfigs
set -v7, -v8, -v8-16k which breaks modDirVersion.
2026-05-04 08:49:55 -07:00
Doron Behar
10c5286181
Merge pull request #1840 from JamieMagee/raspberry-pi/dtb-fixup
raspberry-pi: fix DTB name mapping for U-Boot
2026-05-04 12:09:10 +00:00
Ratchanan Srirattanamet
e879889fe2 raspberry-pi/common/kernel: 6.12.47-stable_20250916 -> 6.12.75-1+rpt1
As mentioned in Nixpkgs PR [^1], Raspberry Pi folks stop tagging both
raspberrypi/linux and raspberrypi/firmware GitHub repo. So, I switched
my reference point to Raspberry Pi OS, which publishes their packaging
for Linux kernel in RPi-Distro/linux-packaging.

The version is set to Debian packaging's version, and the commit comes
from the changelog entry for that version.

The old code structure is somewhat kept in case Raspberry Pi ever tags
their raspberrypi/linux repo again.

[^1]: https://github.com/NixOS/nixpkgs/pull/493115
2026-05-04 15:50:53 +07:00
Jamie Magee
57fd23db81 raspberry-pi: fix DTB name mapping for U-Boot
- Gate on rpiVersion instead of architecture; skip for Pi 4+ where
  vendor and upstream DTB names already match
- Fix bcm2835-rpi-zero.dtb: was copied from bcm2708-rpi-b-plus (wrong
  board), now uses bcm2708-rpi-zero
- Drop bcm2711-rpi-4-b -> bcm2838-rpi-4-b copy; nothing uses bcm2838-*

Ref: https://github.com/u-boot/u-boot/blob/master/board/raspberrypi/rpi/rpi.c
2026-05-03 12:53:10 -07:00
Jamie Magee
d7514338e2 raspberry-pi: replace lib.overrideDerivation with .overrideAttrs
lib.overrideDerivation is deprecated and strips passthru attributes
(.configfile, .moduleBuildDependencies, etc.) from the kernel
derivation, which breaks downstream users expecting a standard
buildLinux output.

.overrideAttrs preserves passthru and matches every other custom
kernel in this repo.
2026-04-24 14:43:21 -07:00
Jörg Thalheim
f4c4c2c0c9
Merge pull request #1768 from concatime/feature/add-missing-modules-of-rpi5
Add netboot support for Raspberry Pi 5
2026-03-31 05:04:29 +00:00
Jamie Magee
b4766ffecf config-txt: fix null removal, file option as types.path
null was not in the settings type, so mkForce null to remove a default
was a type error. Added nullOr to atom and filter nulls in recurse.

Changed file from types.str to types.path with pkgs.writeText — this
is how services.mysql.configFile and similar options work. Moved the
generated file into the option default (with defaultText) rather than
setting it in the config block.
2026-03-09 21:22:51 -07:00
Jamie Magee
a688dfcbb5 raspberry-pi: add config.txt generation module
Two new files in raspberry-pi/common/:

config-txt.nix lets you declare config.txt contents through
hardware.raspberry-pi.configtxt.settings (RFC 42 style — plain
values, null to remove, no enable/value wrappers).

config-txt-defaults.nix has the same defaults as Raspberry Pi OS:
vc4-kms-v3d, audio on, arm_boost, CM4 otg_mode, CM5 dwc2, etc.
All mkDefault so they are easy to override.

Not wired into board profiles yet — that comes with the RPi 5
sub-module work. Based on nvmd/nixos-raspberrypi.
2026-03-08 23:18:35 -07:00
Issam E. Maghni
076b2a5116 raspberry-pi: add vc4 to common modules
Raspberry Pi 2 and 3 will now have it too.
2026-02-28 14:01:28 -05:00
Issam E. Maghni
9ad075ca00 raspberry-pi: add usbhid to common modules
Raspberry Pi 2 will now have it too.
2026-02-28 14:01:28 -05:00
Issam E. Maghni
114dfa1989 raspberry-pi: add usb-storage to common modules
Raspberry Pi 2 will now have it too.
2026-02-28 14:01:28 -05:00
Cryolitia PukNgae
c8f766fd11 raspberry-pi: move kernel and firmware from nixpkgs
As part of the gradual phasing out of linux_rpi in nixpkgs

Link: https://github.com/NixOS/nixpkgs/pull/477665

Signed-off-by: Cryolitia PukNgae <Cryolitia@gmail.com>
2026-01-18 23:19:14 +08:00