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

hack: support 'devicetree' with systemd-boot + hardware.device-tree #331003

Conversation

colemickens
Copy link
Member

Description of changes

  1. Hack the toplevel derivation to output a /dtb symlink if it's enabled/configured with hardware.device-tree.{enable,name}.
  2. Hack the systemd-boot-builder.py to output the extra appropriate devicetree= line into the config file if it exists in the generation toplevel.

I'm not sure if this supports specialisations. The more appropriate path probably involves trying to get this into bootspec v2 and lanzaboote, but this was easier for now.

I've used this to build make-disk-image.nix for a snapdragon X elite laptop, and booted into initrd (pending stage-2 when some usb/msd/uas issue sorted).

Mostly throwing this out for consideration, I realize it's probably too hacky (and certainlyuntested) to merge as-is. Marking as draft to reflect that.

Things done

  • Built on platform(s)
    • x86_64-linux
    • 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 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/)
  • 24.11 Release Notes (or backporting 23.11 and 24.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.

Add a 👍 reaction to pull requests you find important.

@colemickens colemickens changed the title consider: hack: support 'devicetree' with systemd-boot + hardware.device-tree hack: support 'devicetree' with systemd-boot + hardware.device-tree Jul 30, 2024
@ElvishJerricco
Copy link
Contributor

Other implementations of the same: #319422, #330195

@colemickens
Copy link
Member Author

Oh wow, and they both went ahead and used bootspec extensions. Nice. Good work to those authors. Hopefully one takes off. I'll try to review them more, but probably needs feedback from bootspec folks.

@colemickens colemickens deleted the colemickens/systemd-device-tree-hack branch July 31, 2024 23:54
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.

2 participants