Re: [PATCH] firmware: Allow release-specific firmware dir

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Frans Pop
Date: Thursday, September 11, 2008 - 2:52 am

On Thursday 11 September 2008, Frans Pop wrote:
[...]

As mentioned in my previous mail Debian currently uses 2) for its kernel 
packages up to and including 2.6.26. I expect the Debian kernel team to 
also use 2) for 2.6.27, but that's in the future. Debian is currently 
concentrating on 2.6.26 as that's the kernel targeted for the soon-to-be- 
released Lenny release.

From what I understand from this list (I'm a Debian person and don't 
really follow Ubuntu), Ubuntu seems to have chosen 1).

There are pros and cons to both these solutions and given the different 
philosophies of Debian and Ubuntu those do help explain the different 
choices.

Solution 1:
a) keeps kernel, modules and firmware firmly together
b) ensures there will never be mismatches, even if a firmware file "ABI"
   changes without being properly versioned
c) makes system installation simple: firmware is always just "there"

Solution 2:
a) naturally allows firmware to be split between "free" and "non-free"
b) places a burden on the end-user to install/upgrade the firmware he
   needs separately from the kernel
c) makes system installation more complex as the right additional firmware
   package(s) need to be retrieved and installed
d) will break installed systems on upgrades (unless special measures are
   taken): users may need to install additional firmware packages on a
   kernel upgrade to keep a driver working

Ubuntu has a "things should just work" philosophy. Choosing 1) keeps 
things simple from a user PoV and is a logical choice from that 
perspective.

Debian has strict licencing rules and has never shirked from placing some 
responsibility in the hands of users. Especially 2a) makes 2) the more 
natural choice for Debian.


Note that with 2) you cannot just create one big "linux-firmware" package. 
You will need to package all firmware separately which means that users 
will need to somehow select the specific firmware packages they need for 
their hardware.
The reason for this is the possibility that a driver and its firmware may 
be dropped from the upstream kernel source.

Example
-------
linux-image-2.6.27_1_i386.deb contains:
/boot/vmlinuz-2.6.27
/lib/modules/2.6.27/kernel/net/a.ko
/lib/modules/2.6.27/kernel/net/b.ko

linux-firmware_2.6.27.1_i386.deb contains:
/lib/firmware/a.dat
/lib/firmware/b.dat

For 2.6.28 driver "a" is dropped, which would result in:
linux-image-2.6.28_1_i386.deb contains:
/boot/vmlinuz-2.6.28
/lib/modules/2.6.28/kernel/net/b.ko

linux-firmware_2.6.28.1_i386.deb contains:
/lib/firmware/b.dat

The user installs linux-image-2.6.28 alongside linux-image-2.6.27 and 
upgrades linux-firmware from version 2.6.27.1 to 2.6.28.1.
Oops! The upgrade of the linux-firmware package removed b.dat, which 
effectively means the still installed 2.6.27 kernel is now broken.

To avoid this you need separate packages which can be installed/removed 
independently:
a-firmware_<a-firmware-version>_i386.deb contains:
/lib/firmware/a.dat

b-firmware_<b-firmware-version>_i386.deb contains:
/lib/firmware/b.dat
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] firmware: Allow release-specific firmware dir, Jeff Mahoney, (Tue Sep 9, 7:15 am)
Re: [PATCH] firmware: Allow release-specific firmware dir, Andrew Morton, (Wed Sep 10, 3:35 pm)
Re: [PATCH] firmware: Allow release-specific firmware dir, David Woodhouse, (Wed Sep 10, 4:01 pm)
Re: [PATCH] firmware: Allow release-specific firmware dir, David Woodhouse, (Wed Sep 10, 4:15 pm)
Re: [PATCH] firmware: Allow release-specific firmware dir, Andrew Morton, (Wed Sep 10, 4:24 pm)
Re: [PATCH] firmware: Allow release-specific firmware dir, David Woodhouse, (Wed Sep 10, 4:36 pm)
Re: [PATCH] firmware: Allow release-specific firmware dir, David Woodhouse, (Wed Sep 10, 5:39 pm)
Re: [PATCH] firmware: Allow release-specific firmware dir, Faidon Liambotis, (Wed Sep 10, 11:35 pm)
Re: [PATCH] firmware: Allow release-specific firmware dir, Jeff Mahoney, (Thu Sep 11, 12:15 am)
Re: [PATCH] firmware: Allow release-specific firmware dir, Marcel Holtmann, (Thu Sep 11, 12:44 am)
Re: [PATCH] firmware: Allow release-specific firmware dir, Faidon Liambotis, (Thu Sep 11, 1:29 am)
Re: [PATCH] firmware: Allow release-specific firmware dir, Frans Pop, (Thu Sep 11, 2:52 am)
Re: [PATCH] firmware: Allow release-specific firmware dir, Thierry Vignaud, (Thu Sep 11, 4:29 am)
Re: [PATCH] firmware: Allow release-specific firmware dir, David Woodhouse, (Thu Sep 11, 7:50 am)
Re: [PATCH] firmware: Allow release-specific firmware dir, David Woodhouse, (Thu Sep 11, 8:31 am)
Re: [PATCH] firmware: Allow release-specific firmware dir, Linus Torvalds, (Thu Sep 11, 8:57 am)
Re: [PATCH] firmware: Allow release-specific firmware dir, David Woodhouse, (Thu Sep 11, 9:01 am)
Re: [PATCH] firmware: Allow release-specific firmware dir, Marcel Holtmann, (Thu Sep 11, 9:09 am)
Re: [PATCH] firmware: Allow release-specific firmware dir, Marcel Holtmann, (Thu Sep 11, 9:12 am)
Re: [PATCH] firmware: Allow release-specific firmware dir, Marcel Holtmann, (Thu Sep 11, 9:16 am)
Re: [PATCH] firmware: Allow release-specific firmware dir, Marcel Holtmann, (Thu Sep 11, 9:20 am)
Re: [PATCH] firmware: Allow release-specific firmware dir, Marcel Holtmann, (Thu Sep 11, 9:29 am)
Re: [PATCH] firmware: Allow release-specific firmware dir, Marcel Holtmann, (Thu Sep 11, 9:39 am)
Re: [PATCH] firmware: Allow release-specific firmware dir, David Woodhouse, (Thu Sep 11, 9:45 am)
Re: [PATCH] firmware: Allow release-specific firmware dir, Linus Torvalds, (Thu Sep 11, 10:49 am)
Re: [PATCH] firmware: Allow release-specific firmware dir, David Woodhouse, (Thu Sep 11, 1:38 pm)
Re: [PATCH] firmware: Allow release-specific firmware dir, David Woodhouse, (Thu Sep 11, 2:15 pm)
Re: [PATCH] firmware: Allow release-specific firmware dir, David Woodhouse, (Thu Sep 11, 3:25 pm)
Re: [PATCH] firmware: Allow release-specific firmware dir, Joseph Fannin, (Fri Sep 12, 1:39 am)
Re: [PATCH] firmware: Allow release-specific firmware dir, David Woodhouse, (Fri Sep 12, 7:32 am)
Re: [PATCH] firmware: Allow release-specific firmware dir, Kai Henningsen, (Fri Sep 12, 1:24 pm)