Page MenuHomeFreeBSD

release: Install wireless firmware to bootonly media
ClosedPublic

Authored by jrm on Wed, Jul 16, 3:55 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Jul 22, 5:10 AM
Unknown Object (File)
Mon, Jul 21, 9:47 PM
Unknown Object (File)
Fri, Jul 18, 4:30 PM
Unknown Object (File)
Thu, Jul 17, 10:41 AM
Unknown Object (File)
Thu, Jul 17, 1:30 AM
Unknown Object (File)
Wed, Jul 16, 7:50 PM

Details

Summary

Also install wireless firmware packages to the bootonly ISO and the
mini-memstick image so users can fetch installation files over a
wireless connection.

Reported by: Mark Philips <mark@freebsdfoundation.org>

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

jrm requested review of this revision.Wed, Jul 16, 3:55 PM
This revision is now accepted and ready to land.Wed, Jul 16, 3:59 PM

Not doing this was a deliberate decision, in that we wanted to provide three sizes of which "bootonly" was "as small as possible" -- no packages, no base system distributions, and no firmware. I know this makes the bootonly images unusable in some situations (e.g. anyone with wifi-only networking) but my inclination is to address that by better documenting that some systems will need to install from the disc1/memstick images.

Not doing this was a deliberate decision, in that we wanted to provide three sizes of which "bootonly" was "as small as possible" -- no packages, no base system distributions, and no firmware. I know this makes the bootonly images unusable in some situations (e.g. anyone with wifi-only networking) but my inclination is to address that by better documenting that some systems will need to install from the disc1/memstick images.

what's the size delta?

We used to have these firmware files included in the kernel though, so relative to earlier releases this is a regression.

In D51348#1172708, @imp wrote:

Not doing this was a deliberate decision, in that we wanted to provide three sizes of which "bootonly" was "as small as possible" -- no packages, no base system distributions, and no firmware. I know this makes the bootonly images unusable in some situations (e.g. anyone with wifi-only networking) but my inclination is to address that by better documenting that some systems will need to install from the disc1/memstick images.

what's the size delta?

For 14.3-RELEASE: disc1 is 1082 MB; bootonly is 333 MB. Compressed, those sizes are 725 MB and 85 MB.

Of that delta, 37 MB is /boot/firmware and 590 MB is /usr/freebsd-dist.

So in that sense the bootonly would wouldn't be bloated very much by adding firmware, at least for 14.3. But my understanding (@bz can you comment?) is that there's likely to be a significant increase in the amount of firmware in the future.

Numbers from last week's 15.0 snapshot: disc1 is 1233 MB (791 MB compressed); bootonly is 493 MB (110 MB compressed). /boot/firmware is 45 MB; /usr/freebsd-dist is 655 MB.

Numbers from last week's 15.0 snapshot: disc1 is 1233 MB (791 MB compressed); bootonly is 493 MB (110 MB compressed). /boot/firmware is 45 MB; /usr/freebsd-dist is 655 MB.

The mini-memstick image built from e48d5d23bbe plus this commit is 653 MB. The latest main snapshot from July 10 is 575 MB, so unless something sizable was added in the last week, the mini-memstick delta is around 78 MB.

In D51348#1172750, @jrm wrote:

Numbers from last week's 15.0 snapshot: disc1 is 1233 MB (791 MB compressed); bootonly is 493 MB (110 MB compressed). /boot/firmware is 45 MB; /usr/freebsd-dist is 655 MB.

The mini-memstick image built from e48d5d23bbe plus this commit is 653 MB. The latest main snapshot from July 10 is 575 MB, so unless something sizable was added in the last week, the mini-memstick delta is around 78 MB.

I can live with that. If it gets significantly larger I'm more dubious. Can we wait for feedback from @bz about whether (how much?) he expects the firmware to grow, or did you want to get this into the weekly snapshot which are starting in 7 hours?

It's not urgent. We can wait to hear back from @bz.

Because this is a functional regression I'd advocate for adding the firmware to bootonly/mini-memstick and MFCing the change.

If we do want those images to be as small as possible (even if it means lacking Wi-Fi support) that's fine and we can remove it again but should do so only in main and with lots of notice.

Sorry I've been eating dogfood today having updated my main laptop to HEAD of main and 7 panics later I have a browser again... let's hope for more than 5 minutes.

I cannot remember exactly the numbers we were talking about with core@ back then but I believe ~128 MB.. yeah seems to be about right if I install them all currently:

/boot/firmware # du -hcs .
134M    .
134M    total

There's still at least one driver missing from this but in general firmware only grows.

We only had iwlwifi in base in the end; no one coplained about rtw88 not being on these media yet. rtw89 never was installed in base; so if you really desperately want to fix this for 14; you kind-of want:

wifi-firmware-iwlwifi-kmod
wifi-firmware-rtw88-kmod

on these media but not the entire -release flavour
if size is a concern.

Only install iwlwifi and rtw88 firmware on the bootonly media.

## After installing wifi-firmware-kmod-release
# pkg info -g wifi-firmware-\* | while read -r p; do echo -n "$p: "; pkg info $p | grep size | cut -d':' -f2; done
wifi-firmware-iwlwifi-kmod-22000-20241017.1500049_2:  9.12MiB
wifi-firmware-iwlwifi-kmod-7000-20241017.1500049_2:  4.99MiB
wifi-firmware-iwlwifi-kmod-8000-20241017.1500049_2:  4.65MiB
wifi-firmware-iwlwifi-kmod-9000-20241017.1500049_2:  2.88MiB
wifi-firmware-iwlwifi-kmod-ax210-20241017.1500049_2:  26.7MiB
wifi-firmware-iwlwifi-kmod-bz-20241017.1500049_2:  3.83MiB
wifi-firmware-kmod-release-20241017:  243B
wifi-firmware-mt7601u-kmod-20241017.1500049_2:  47.9KiB
wifi-firmware-rtw88-kmod-rtw8703b-20241017.1500049_2:  46.6KiB
wifi-firmware-rtw88-kmod-rtw8723d-20241017.1500049_2:  32.4KiB
wifi-firmware-rtw88-kmod-rtw8821c-20241017.1500049_2:  140KiB
wifi-firmware-rtw88-kmod-rtw8822b-20241017.1500049_2:  152KiB
wifi-firmware-rtw88-kmod-rtw8822c-20241017.1500049_2:  344KiB
wifi-firmware-rtw89-kmod-rtw8851b-20241017.1500049_2:  1.11MiB
wifi-firmware-rtw89-kmod-rtw8852a-20241017.1500049_2:  2.35MiB
wifi-firmware-rtw89-kmod-rtw8852b-20241017.1500049_2:  1.19MiB
wifi-firmware-rtw89-kmod-rtw8852c-20241017.1500049_2:  3.55MiB
wifi-firmware-rtw89-kmod-rtw8922a-20241017.1500049_2:  4.49MiB
## After installing wifi-firmware-iwlwifi-kmod and wifi-firmware-rtw88-kmod
# pkg info -g wifi-firmware-\* | while read -r p; do echo -n "$p: "; pkg info $p | grep size | cut -d':' -f2; done
wifi-firmware-iwlwifi-kmod-20241017.1500051_2:  52.1MiB
wifi-firmware-rtw88-kmod-20241017.1500051_2:  699KiB

From -release, only iwlwifi and rtw89 take up notable space.
Installing only wifi-firmware-iwlwifi-kmod and wifi-firmware-rtw88-kmod instead of wifi-firmware-kmod-release will save 12-13 MB.

This revision now requires review to proceed.Fri, Jul 18, 4:23 PM

We only had iwlwifi in base in the end; no one coplained about rtw88 not being on these media yet.

Fair enough - my take is that we want to avoid regressions, particularly in a stable branch. So I'm fine with including both of these or even only wifi-firmware-iwlwifi-kmod to avoid the regression, then revisiting what gets included in bootonly in only main.

This revision is now accepted and ready to land.Fri, Jul 18, 4:25 PM

We only had iwlwifi in base in the end; no one coplained about rtw88 not being on these media yet.

Fair enough - my take is that we want to avoid regressions, particularly in a stable branch. So I'm fine with including both of these or even only wifi-firmware-iwlwifi-kmod to avoid the regression, then revisiting what gets included in bootonly in only main.

Understood. I would hope that on main we'll simplify install media quite a bit. I see little in publishing ISO images still these days. So DVD1 could become memstick but that's a discussion for elsewhere and for others.

MFCed. @bz, should we also MFC your fix in D51313 (and possibly D51312)?

In D51348#1174604, @jrm wrote:

MFCed. @bz, should we also MFC your fix in D51313 (and possibly D51312)?

I think the commits have MFC reminders set; I usually try to do my MFCs in bulk as otherwise overhead for testing is too high. It'll happen.