Re: Firmware GR result - what happens next?
Hey again folks!
On Sun, Oct 02, 2022 at 03:27:36PM +0100, Steve McIntyre wrote:
...
>We have quite a few things to do now, ideally before the freeze for
>Debian 12 (bookworm), due January 2023 [2]. This list of work items is
>almost definitely not complete, and Cyril and I are aiming to get
>together this week and do more detailed planning for the d-i
>pieces. Off the top of my head I can think of the following:
Cyril and I have just had that planning meeting, and here are the
notes. We're *not* trying to solve every problem here, just working
out the next steps needed for d-i and debian-cd in particular.
Debian firmware changes for d-i and installer images - notes
============================================================
Steve and Cyril, 2022-10-08
Netboot and firmware - what do we have to do?
---------------------------------------------
* PXE over wired ethernet should just work as-is?
* Is PXE over wifi a thing? Never seen it...
* If we need any more than simple wired, we're not going to worry
about it for bookworm
* This will likely be a problem for audio firmware
* Is netboot a common use case for partially-sighted people?
* Not going to focus on this here just *yet*, maybe we could work
on it as a later option
* Option to maybe load firmware via PXE/tftp process at early
kernel startup? Would need to investigate...
* HTTP(S) boot maybe?
Updating the sources.list of existing systems on upgrade
--------------------------------------------------------
* **It's not a problem for d-i / debian-cd, we're not dealing with this here**
* automation is not likely to happen, we don't do it already
* **not** something we're trying to solve here
* having packages in both n-f and n-f-f seems like not a good solution
* worries about dak and others - we've never done this before
* Maybe move things to n-f-f and leave a transitional package in n-f?
* not sure about this either
* Let's punt on this decision for now, we can look at it again later if we have to
Detection of needed firmware
----------------------------
* We already had a solution in bullseye which was good enough, let's
keep with that?
* We're trying to solve the 99% case, and we have that now AFAIK?
* Worry about bonded network handling?
* Maybe tweak interface handling to not take down one half of a
virtual interface
* Cyril plans to work on VLAN & bonding topics anyway; easy to
hook it up/down.
* We *think* things are working ok, but we're not 100%
confident. We've not had complaints, but we don't know if that
just means we don't have users!
* Let's ask for testing to double-check that the new
firmware-included images work OK - bookworm d-i alpha 2 should be
ready with the nff changes?
* Cyril will test with 2 “d-i laptops” (same as bullseye).
What process should we follow for firmware during d-i?
------------------------------------------------------
* Several processes where we may ask for firmware: audio, network,
disks, etc.
* Do we ask about loading fw at each stage? Or just at the end?
* Three options via kernel command line? Cyril can take it.
* Allow firmware by default, then just before finish-install we
add a new screen listing firmware needed, details, write to disk
on the installed system. Cyril can take this.
* Maybe: if no firmware is needed then give a "congratulations!"
message. Cyril will not take this.
* Deny all firmware - don't attempt to load things at all, if the
system is broken then so be it
* Confirm - at each point display a prompt to the user before
loading fw
* We could **maybe** add support for changing the choice during
the installation, but let's keep it simple for now. Probably add a
question in expert mode?
* What do we do with **free* firmware here? Should we **always**
allow it?
* What happens when we have both non-free and free implementations
of firmware for given hardware?
* At some point we'll have to make a choice of which to use by
default, or allow for overriding on the kernel cmd line or
something.
* How do we handle sources.list changes (during the course of the
installation process, not on installed systems)? We might need to
enable/disable n-f-f at various times, for both the main archive
and the security archive. Cyril takes it.
* Even with fw available, we *might* get prompts where some modules
are unclear, or where we may not have the exact suggested firmware
available.
* Don't panic about this too much; we might add blacklists for
known-awkward modules later. Not a priority here (yet). We
already have one case implemented: iwl-debug-yoyo.bin (iwlwifi).
* Let's drop the question/support for an extra firmware medium -
it's not useful any more. We're going to have firmware available
directly.
* d-i should look in both n-f and n-f-f for firmware packages when
needed; debian-cd will include firmware packages from both for
now, including the symlinks in /firmware
* debian-cd should extract a list of filenames in each firmware .deb
so that d-i can be more efficient when doing its reverse
filename->package lookup later.
* Let's do something similar to existing Contents files in the
archive.
Should we add a new "firmware" d-i module or similar?
-----------------------------------------------------
* Maybe for the final finish-install stuff?
* **NO** - just add an extra step in the hw-detect module that comes
up as part of finish-install to do the final summary piece
Asides
------
* Looks like it's time to tweak the isohybrid ESP handling
* Use a separate ESP so that we can support people adding more
stuff to it easily?
* Fw packages should be evaluated for architecture compatibility. If
a fw package is for a USB peripheral than we probably want it in
arch-all, but do we want (e.g.) raspi-firmware to be included on
all media? Should that be arch=armhf/arm64 maybe?
* How does Debian evaluate what goes in n-f-f? Anything that ships
redistributable firmware, I think? in /lib/firmware. Anything
that's not redistributable should not be in the archive / on
mirrors already - we're just going to follow the same path.
* d-i / debian-cd *doesn't* need to include *every* firmware package
on installation media, e.g. we probably don't need stuff like USB
JTAG device support on the netinst / first image. We may need to
add a blacklist for netinst/DVD1 to ignore those.
* The size of a typical netinst image is going to increase
noticeably here - all the firmware packages come to ~120MB or
so. m-a netinst will likely grow too big for a CD, but we don't
care that much any more there.
* i386 installer images should be going away *anyway*, so meh.
--
Steve McIntyre, Cambridge, UK. steve@einval.com
"I can't ever sleep on planes ... call it irrational if you like, but I'm
afraid I'll miss my stop" -- Vivek Das Mohapatra
Reply to: