···3939 # Supported in newer board revisions
4040 arm_boost=1
41414242+ [cm4]
4343+ # Enable host mode on the 2711 built-in XHCI USB controller.
4444+ # This line should be removed if the legacy DWC2 controller is required
4545+ # (e.g. for USB device mode) or if USB support is not required.
4646+ otg_mode=1
4747+4248 [all]
4349 # Boot in 64-bit mode.
4450 arm_64bit=1
···6571 cp ${pkgs.ubootRaspberryPi4_64bit}/u-boot.bin firmware/u-boot-rpi4.bin
6672 cp ${pkgs.raspberrypi-armstubs}/armstub8-gic.bin firmware/armstub8-gic.bin
6773 cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2711-rpi-4-b.dtb firmware/
7474+ cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2711-rpi-400.dtb firmware/
7575+ cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2711-rpi-cm4.dtb firmware/
7676+ cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2711-rpi-cm4s.dtb firmware/
6877 '';
6978 populateRootCommands = ''
7079 mkdir -p ./files/boot
···3232 mkdir -p "$out/lib/firmware/brcm"
33333434 # Wifi firmware
3535- shopt -s extglob
3636- for filename in firmware-nonfree/brcm/brcmfmac434??{,s}-sdio.*; do
3737- cp "$filename" "$out/lib/firmware/brcm"
3838- done
3535+ cp -rv "$NIX_BUILD_TOP/firmware-nonfree/debian/config/brcm80211/." "$out/lib/firmware/"
39364037 # Bluetooth firmware
4141- cp bluez-firmware/broadcom/*.hcd "$out/lib/firmware/brcm"
3838+ cp -rv "$NIX_BUILD_TOP/bluez-firmware/broadcom/." "$out/lib/firmware/brcm"
3939+4040+ # CM4 symlink must be added since it's missing from upstream
4141+ pushd $out/lib/firmware/brcm &>/dev/null
4242+ ln -s "./brcmfmac43455-sdio.txt" "$out/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt"
4343+ popd &>/dev/null
4444+4245 runHook postInstall
4346 '';
4444-4545- outputHashMode = "recursive";
4646- outputHashAlgo = "sha256";
4747- outputHash = "sha256-Fw8EC1jzszWg9rNH01oaOIHnSYDuF6ov6ulmIAPuNz4=";
48474948 meta = with lib; {
5049 description = "Firmware for builtin Wifi/Bluetooth devices in the Raspberry Pi 3+ and Zero W";
+4-4
pkgs/os-specific/linux/nvidia-x11/default.nix
···1919 # Policy: use the highest stable version as the default (on our master).
2020 stable = if stdenv.hostPlatform.system == "x86_64-linux"
2121 then generic {
2222- version = "510.60.02";
2323- sha256_64bit = "sha256-qADfwFSQeP2Mbo5ngO+47uh4cuYFXH9fOGpHaM4H4AM=";
2424- settingsSha256 = "sha256-Voa1JZ2qqJ1t+bfwKh/mssEi/hjzLTPwef2XG/gAC+0=";
2525- persistencedSha256 = "sha256-THgK2GpRcttqSN2WxcuJu5My++Q+Y34jG8hm7daxhAQ=";
2222+ version = "510.68.02";
2323+ sha256_64bit = "sha256-vSw0SskrL8ErBgQ1kKT+jU6wzLdNDEk1LwBM8tKZ9MU=";
2424+ settingsSha256 = "sha256-4TBA/ITpaaBiVDkpj7/Iydei1knRPpruPL4fRrqFAmU=";
2525+ persistencedSha256 = "sha256-Q1Rk6dAK4pnm6yDK4kmj5Vg4GRbi034C96ypywHYB2I=";
2626 }
2727 else legacy_390;
2828
+12
pkgs/os-specific/linux/systemd/default.nix
···666666 rm -rf $out/share/doc
667667 '';
668668669669+ # Avoid *.EFI binary stripping. At least on aarch64-linux strip
670670+ # removes too much from PE32+ files:
671671+ # https://github.com/NixOS/nixpkgs/issues/169693
672672+ # The hack is to move EFI file out of lib/ before doStrip
673673+ # run and return it after doStrip run.
674674+ preFixup = lib.optionalString withEfi ''
675675+ mv $out/lib/systemd/boot/efi $out/dont-strip-me
676676+ '';
677677+ postFixup = lib.optionalString withEfi ''
678678+ mv $out/dont-strip-me $out/lib/systemd/boot/efi
679679+ '';
680680+669681 passthru = {
670682 # The interface version prevents NixOS from switching to an
671683 # incompatible systemd at runtime. (Switching across reboots is