Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

raspberrypi-wireless-firmware, raspberrypi-firmware, linux-rpi: sync to Raspberry Pi OS Bookworm release #268280

Merged
merged 3 commits into from
Jan 14, 2024

Conversation

peat-psuwit
Copy link
Contributor

@peat-psuwit peat-psuwit commented Nov 18, 2023

Description of changes

This PR bumps versions of Raspberry Pi firmwares & kernel to match the version used by Raspberry Pi OS Bookworm release. This includes:

  • raspberrypi-wireless-firmware: unstable-2023-05-04 -> unstable-2023-11-15, which combines:
    • bluez-firmware 1.2-9+rpt2
    • firmware-nonfree 1:20230210-5+rpt2
  • raspberrypi-firmware: 1.20230405 -> stable_20231123
  • linux-rpi: 6.1.21-1.20230405 -> 6.1.63-stable_20231123

There's a minor (potentially breaking) change in raspberrypi-wireless-firmware, where following files. which are actually part of upstream bluez-firmware and not RPi's firmwares, are no longer included in this package:

  • BCM2033-*.bin, BCM2033-*.hex
  • BCM-LEGAL.txt
  • bcm_changeba
  • bcm_changeid
  • bcm_hex2bin

Things done

  • Built on platform(s)
    • x86_64-linux (only firmware packages)
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
    • Tested by installing this PR into my Raspberry Pi 4.
    • The built kernel boots. Tested functionalities are HW media decoding and Wi-Fi.
    • Bluetooth is not tested, as my RPi 4 doesn't have Bluetooth stack configured.
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 23.11 Release Notes (or backporting 23.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

@peat-psuwit
Copy link
Contributor Author

Ping the developers.

modDirVersion = "6.1.21";
tag = "1.20230405";
modDirVersion = "6.1.58";
tag = "stable_20231030";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately, stable_20231123 is out now :/

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated to stable_20231123 for both firmwares and kernel.

@dasJ
Copy link
Member

dasJ commented Dec 18, 2023

Shouldn't this also get backported to 23.11?

…1-15

Combines:
- bluez-firmware 1.2-9+rpt2
- firmware-nonfree 1:20230210-5+rpt2

Note that the following files. which are actually part of upstream
bluez-firmware and not RPi's firmwares, are no longer included in this
package:

- BCM2033-*.bin, BCM2033-*.hex
- BCM-LEGAL.txt
- bcm_changeba
- bcm_changeid
- bcm_hex2bin
@peat-psuwit
Copy link
Contributor Author

peat-psuwit commented Dec 30, 2023

Shouldn't this also get backported to 23.11?

Quite possibly. However, I guess depending on how raspberrypi-firmware raspberrypi-wireless-firmware is used, it might not be straight forward.

@leo60228
Copy link
Member

leo60228 commented Jan 5, 2024

Would it make sense to add linux_rpi5 here too? See #260754: doing so would already technically work with boot.loader.raspberryPi, should allow a mostly-supported setup once there are usable U-Boot builds for the Pi 5, and might be able to be used with EDK2.

While Nixpkgs going out of its way to support the Pi 5 was explicitly rejected, I feel like it'd be inconsistent to have vendor kernels in Nixpkgs for every Pi except the 5.

@peat-psuwit
Copy link
Contributor Author

I'm not sure... Although, if there will be one, I guess it makes more sense to have it in a separated PR, so it shouldn't block this PR.

@lovesegfault lovesegfault merged commit 3ea621c into NixOS:master Jan 14, 2024
19 checks passed
@gador
Copy link
Member

gador commented Jan 26, 2024

Since this update, neiher hydra nor I am able to build linux-6.1.63-stable_20231123
See https://hydra.nixos.org/build/246720053

@peat-psuwit
Copy link
Contributor Author

Right... module_pci_driver() is a macro defined in linux/pci.h, so somehow that macro is not defined in the build. I think this is related to the fact that this warning appears:

WARNING: unmet direct dependencies detected for MFD_RP1
  Depends on [n]: HAS_IOMEM [=y] && PCI [=n]
  Selected by [m]:
  - DRM_RP1_DSI [=m] && HAS_IOMEM [=y] && DRM [=m]
  - DRM_RP1_DPI [=m] && HAS_IOMEM [=y] && DRM [=m]
  - DRM_RP1_VEC [=m] && HAS_IOMEM [=y] && DRM [=m]

For context, RP1 is a new chipset introduced in Raspberry Pi 5 and is connected via PCI Express bus. Given that Raspberry Pi 3 doesn't even have a PCI Express bus, I think MFD_RP1 shouldn't be enabled at all.

Will investigate.

@peat-psuwit
Copy link
Contributor Author

Please see #284035

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants