[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Non-free firmware [was: Debian install Question]



On Thu 04 Mar 2021 at 15:47:37 (-0500), rhkramer@gmail.com wrote:
> On Thursday, March 04, 2021 12:40:00 PM David Wright wrote:
> > On Wed 03 Mar 2021 at 10:36:42 (-0500), rhkramer@gmail.com wrote:
> > > On Tuesday, March 02, 2021 10:01:09 PM David Wright wrote:
> > Brian wrote: '"+1" for what? Advertising each and every non-Debian
> > installer that comes along and is uploaded to unofficial?'
> > 
> > > > I was under the impression that "The Debian Images Team is a small
> > > > team of people working on creating, testing and distributing Debian
> > > > images for [us]", whereas you seem to be describing something like
> > > > a wiki where any Tom, Dick or Harry dumps their cobbled together
> > > > installer.
> > > 
> > > Well, until and unless some person or group tries to vet those Debian
> > > installation images, that may be the best that can be done.
> > 
> > You cut the context. 
> 
> > They wouldn't be "Debian installation images",
> > but "non-Debian installers", as quoted above.
> 
> Ok.
> > 
> > I don't want non-Debian installers on cdimage.debian.org, official
> > or unofficial. Do bear in mind that the debian-installer in the
> > official image is the same debian-installer as in the unofficial
> > image. The latter image just contains some extra files, almost
> > all of which originate from the kernel team or Debian.
> > 
> > What I did suggest go into a wiki was the *method* of extracting
> > firmware from a particular driver. I notice that there is already
> > one fwcutter in my unofficial image (for Broadcom B54xx), but
> > I don't know how it works, nor whether it works in the same way
> > as one for the p54usb would.
> > 
> > > It would be nicer if there was some person or group that tried to vet
> > > them, or maybe even suggesting that something like a requirement that at
> > > least one other person attest that an installation image worked for them
> > > (on the target hardware).
> > 
> > AIUI the Debian Install System Team build the Debian installer, and
> > the aforementioned Debian Images Team put it into the unofficial
> > images, along with some extra .debs and a couple of Packages files.
> > So I'm not sure I understand exactly what this person/group would
> > be expected to vet.
> 
> If there are non-free non-official Debian installers that add non-free firmware 
> or such in order to install on specific hardware, the vetting would be to have 
> someone else confirm that the install did indeed work on that hardware.
> 
> Maybe I've confused this thread, but all that I'm trying to say is that:
> If:
>    1) the official Debian installer will not work on some hardware 
> configurations, 
> and 
>    2) the only Debian installer listed on the main page of debian.org is that 
> official one
> Then:
> 
>    1) I'd like to see a (non-snarky) note on that main page that points out 
> that installer may not work for everyone, and a little bit about why (hardware 
> that doesn't have free drivers or firmware or such)

Agreed, and I think there may have been recent improvements.

> and
> 
>    2) it should include a link to some place (not necessarily the wiki you 
> envision), and not necessarily on debian.org (but I think that would be good) 
> to installers that work with various hardware configuraions that don't work 
> with the official installer

Ditto.

IMO it's important that each link to the official downloads is
accompanied by one to the unofficial ones. Otherwise the effect
is like letting go of a blind person's arm without first ensuring
that they know they've reached their destination.

> and
> 
>    3) as mentioned above, it would be nice if those unofficial installers have 
> been vetted by someone to confirm they indeed work on those hardware 
> configurations.

Take amd64 PCs as an example, being perhaps the most popular
variety. There's an installer, DI, for that architecture. It's
bundled in various ways, depending on size of medium (CD/DVD)
and size of download (netinst/xfce). So for netinst, one arrives
at https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/

The official images contain myriads of hardware drivers, most of
them from the linux kernel tree, to make them work on "those
hardware configurations", as you put it.

However, as you know, they lack the firmware that typically makes
the chip on the board know how to do what it does. The unofficial
*images* contain a collection of .debs, each of which contains
related or unrelated collections of firmware in various revisions.

In the example that I took (netinst), all this firmware, plus the
Packages files to describe them, is added to the official image's
contents, including exactly the same DI. Apart metadata text files
describing the contents, there's one binary file, the efi.img,
that contains a few bytes that differ between the two images.
So it really is *the* Debian installer.

Take one firmware .deb as an example, a popular one, iwlwifi.
It contains 56 discrete binary firmware files. Which one (or
two, because it covers both wifi and bt) is selected depends
on the chip in the device.

If a device is sold on a separate card, it's not necessarily
enough to know the model number of the card. Many "identical"
models are sold with various different chips, which will
require different firmware. You might not know which chip you've
got until you look at the board, or even read its codes from
the dmesg output.

Being non-free, the firmware usually originates/d from some
manufacturer or other. If the firmware fails to work with the
device, there's not much that Debian can do about it. It might
be something for some sub-sub-group of the linux kernel people,
if the problem lies in how the driver and firmware interact.

So in your scheme, the "unofficial installers" that have to be
"vetted" by someone to confirm they "indeed work on those
hardware configurations" are actually hundreds of different
combinations, each one comprising one particular firmware blob,
plus the same old official installer image:

 iwlwifi-100-5.ucode   + official installer  ✓ Vetted  ✓ Passed
 iwlwifi-105-6.ucode   + official installer  ✓ Vetted  ✓ Passed
 iwlwifi-135-6.ucode   + official installer  ✓ Vetted  ✓ Passed
 iwlwifi-1000-5.ucode  + official installer  ✓ Vetted  ✓ Passed
 iwlwifi-2000-6.ucode  + official installer  ✓ Vetted  ✓ Passed
 iwlwifi-2030-6.ucode  + official installer  ✓ Vetted  ✓ Passed
 …  …  …  …  …

 ad infinitum …

Cheers,
David.


Reply to: