Skip to content

Revamp sysexts building to allow more complex drivers - #862

Open
jumpyvi wants to merge 19 commits into
mainfrom
feat-broadcom
Open

jumpyvi wants to merge 19 commits into
mainfrom
feat-broadcom

Conversation

@jumpyvi

@jumpyvi jumpyvi commented Sep 18, 2026

Copy link
Copy Markdown
Member
  • Move the modprobe database to the base image
  • Add broadcom support

Fix #858
Fix #869

@jumpyvi

jumpyvi commented Sep 18, 2026

Copy link
Copy Markdown
Member Author

jumpyvi and others added 4 commits September 19, 2026 16:13
* Broadcom driver

* Use versioned sha to allow rollback (#854)

* Fix gpg signing

* Re-add driver specific fixes

* Update .github/workflows/build-release.yml

Co-authored-by: Lewis Goddard <lewis.goddard@eustasy.org>

* Update .github/workflows/build-release.yml

Co-authored-by: Lewis Goddard <lewis.goddard@eustasy.org>

* Update .github/workflows/build-release.yml

Co-authored-by: Lewis Goddard <lewis.goddard@eustasy.org>

---------

Co-authored-by: Lewis Goddard <lewis.goddard@eustasy.org>

* Revert "Use versioned sha to allow rollback (#854)" (#859)

This reverts commit db85145.

* Use versioned sha to allow rollback #2 (#860)

* Revert "Revert "Use versioned sha to allow rollback (#854)" (#859)"

This reverts commit 79683da.

* Use just get_timestamp

---------

Co-authored-by: JumpyVi <jumpyvi@tuta.com>

* Compress files to fix uploads. (#861)

* Compress files to fix uploads.

* Update labels to match version, not arch, so sysupdate compares properly

* Move compression to the end of `just _do-release`

* Reduce usage of globs in assembler

* Move perms to avoid creating subuid errors in the chroot

---------

Co-authored-by: JumpyVi <62212220+jumpyvi@users.noreply.github.com>

* Add linux-header

---------

Co-authored-by: Lewis Goddard <lewis.goddard@eustasy.org>
Co-authored-by: Niko <n.dunkel@gmail.com>
@jumpyvi

jumpyvi commented Sep 19, 2026

Copy link
Copy Markdown
Member Author

Should work, waiting for testers...

@jumpyvi
jumpyvi marked this pull request as ready for review September 19, 2026 22:14
@jumpyvi jumpyvi self-assigned this Sep 19, 2026
@ryonakano

Copy link
Copy Markdown
Member

I have a MacBook Air Early 2015, so I can test if my Wi-Fi module is recognized out of box.

@jumpyvi

jumpyvi commented Sep 19, 2026

Copy link
Copy Markdown
Member Author

Thanks!

@jumpyvi jumpyvi assigned ryonakano and unassigned ryonakano Sep 19, 2026
@jumpyvi
jumpyvi requested a review from ryonakano September 19, 2026 23:02
@jumpyvi

jumpyvi commented Sep 19, 2026

Copy link
Copy Markdown
Member Author

You can check in the discord for the steps

@ryonakano

This comment was marked as resolved.

@ryonakano

This comment was marked as resolved.

@jumpyvi

This comment was marked as resolved.

@ryonakano

This comment was marked as resolved.

@jumpyvi

jumpyvi commented Sep 20, 2026

Copy link
Copy Markdown
Member Author

Are you sure you have the right iso?

20260919232040 Is not in the bucket.

This this the iso with broadcom:

https://pub-5ee9e894011e427f95c5e5998565aa78.r2.dev/elementaryos-9.0-daily-x86-64.20260919204836.iso

@ryonakano

Copy link
Copy Markdown
Member

I built iso from this branch by running just do-daily. Doesn't that work……?

I'll try again with the prebuilt iso 🙇

@ryonakano

Copy link
Copy Markdown
Member

Now I can install and enable the broadcom feature, but the Wi-Fi module does not seem to be recognized.

Installation succeeded:

user@elementary:~$ sudo sysupdate features
[sudo: authenticate] Password:     
Automatically discovered root block device '/dev/sda'.
Automatically discovered root block device '/dev/sda'.
Automatically discovered root block device '/dev/sda'.
Discovering installed instances…
  FEATURE         DESCRIPTION                                DOCUMENTATION                                       
✗ ext-virt        Virtualization host packages (qemu)                                                            
✗ driver-nvidia   NVIDIA (Open) GPU Driver                   https://github.com/nvidia/open-gpu-kernel-modules   
✗ driver-broadcom Broadcom STA Wireless Driver (x86-64 only) http://www.broadcom.com/support/802.11/linux_sta.php
✗ ext-sdk         Tooling for elementary developers                                                              
user@elementary:~$ sudo updatectl enable --now driver-broadcom
host@20260919204836: ✓ Done
Feature(s) downloaded.
user@elementary:~$ 

Result of cat /proc/cmdline as requested in Discord:

user@elementary:~$ cat /proc/cmdline 
usrhash=e6406f9cfd7fa097e87817cdd5bc2e9ac471200740818b52cb15f4b2b4d1bf87 splash quiet root=dissect mount.usr=dissect rw audit=0 systemd.image_policy=esp=unprotected:xbootldr=unprotected+unused+absent:usr=signed:root=unprotected+absent:home=unprotected+absent:=ignore systemd.image_filter=usr=elementary_*:usr-verity=elementary_*:usr-verity-sig=elementary_*:root=elementary-*:home=elementary-* ipe.enforce=0 module_blacklist=b43,bcma,brcmsmac,brcmutil,ssb
user@elementary:~$ 

The broadcom feature is enabled but the Wi-Fi module is not recognized:

Screenshot from 2026-09-20 02 37 18

@jumpyvi

jumpyvi commented Sep 20, 2026

Copy link
Copy Markdown
Member Author

You probably rebooted right?

I'm not really sure how I can debug this...

Can you check dmseg/modprobe/modinfo for errors?

The module did load for me in a VM, but I don't have an actual adapter to test it out.

@ryonakano

Copy link
Copy Markdown
Member

You probably rebooted right?

Yes.

Can you check dmseg/modprobe/modinfo for errors?

Atatching dmesg: dmesg.log
What command should I execute for modprobe/modinfo?

@ryonakano

ryonakano commented Sep 20, 2026

Copy link
Copy Markdown
Member

FYI my hardware information is at elementary/hardware#11 (installation report with live-build image)

@jumpyvi

jumpyvi commented Sep 20, 2026

Copy link
Copy Markdown
Member Author

Can you try maybe running this /usr/bin/udevadm trigger --action=add --subsystem-match=pci --attr-match=vendor=0x14e4

It's possible the driver tries to load before the sysext is merged

@ryonakano

Copy link
Copy Markdown
Member

@jumpyvi Thanks, it worked! 🎉

Screenshot from 2026-09-20 16 49 53

@jumpyvi

jumpyvi commented Sep 20, 2026

Copy link
Copy Markdown
Member Author

Absolutely amazing, I'm gonna add a simple systemd script to reload the driver after sysext are loaded

@jumpyvi jumpyvi changed the title Add Broadcom driver to daily Revamp sysexts building to allow more complex drivers Sep 21, 2026
@jumpyvi

jumpyvi commented Sep 21, 2026

Copy link
Copy Markdown
Member Author

Assuming this passes, "https://github.com/elementary/os/actions/runs/35617306845/job/106391213530", extensions should properly be loaded in the initrd, manual workarounds (udevadm trigger) shouldnt be needed anymore.

This changes the name of the module, so it's likely systemd-sysupdate won't be able to remove the old one on older releases

@jumpyvi jumpyvi linked an issue Sep 21, 2026 that may be closed by this pull request
@jumpyvi

jumpyvi commented Sep 21, 2026

Copy link
Copy Markdown
Member Author

There where still issues with systemd-sysext-initrd, they should be fixed in 20260921195708

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Rework drivers sysext Add BroadCom feature/driver

2 participants