From: Frans Pop <elendil@planet.nl>
To: David Woodhouse <dwmw2@infradead.org>
Cc: davem@davemloft.net, jeffm@suse.com,
linux-kernel@vger.kernel.org, akpm@linux-foundation.org,
torvalds@linux-foundation.org, Jeff Garzik <jeff@garzik.org>
Subject: Re: [PATCH] firmware: Allow release-specific firmware dir
Date: Thu, 11 Sep 2008 11:52:56 +0200 [thread overview]
Message-ID: <200809111152.58187.elendil@planet.nl> (raw)
In-Reply-To: <200809111043.34847.elendil@planet.nl>
On Thursday 11 September 2008, Frans Pop wrote:
> Possible solutions
> ==================
> There are two possible solutions to this.
>
> 1) Move the firmware files to a versioned directory
[...]
> 2) Move the firmware files into a separate package
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
next prev parent reply other threads:[~2008-09-11 9:53 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-09 14:15 [PATCH] firmware: Allow release-specific firmware dir Jeff Mahoney
2008-09-10 22:35 ` Andrew Morton
2008-09-11 13:37 ` Greg KH
2008-09-10 23:01 ` David Woodhouse
2008-09-10 23:05 ` David Miller
2008-09-10 23:15 ` David Woodhouse
2008-09-10 23:24 ` Andrew Morton
2008-09-11 2:55 ` Theodore Tso
2008-09-10 23:24 ` David Miller
2008-09-10 23:36 ` David Woodhouse
2008-09-10 23:42 ` David Miller
2008-09-11 0:23 ` Herbert Xu
2008-09-11 0:39 ` David Woodhouse
2008-09-11 7:44 ` Marcel Holtmann
2008-09-11 8:13 ` Jeff Mahoney
2008-09-11 16:09 ` Marcel Holtmann
2008-09-11 8:29 ` Faidon Liambotis
2008-09-11 16:12 ` Marcel Holtmann
2008-09-11 8:58 ` Frans Pop
2008-09-11 16:16 ` Marcel Holtmann
2008-09-11 8:43 ` Frans Pop
2008-09-11 9:52 ` Frans Pop [this message]
2008-09-11 14:50 ` David Woodhouse
2008-09-11 15:24 ` Frans Pop
2008-09-11 15:31 ` David Woodhouse
2008-09-11 15:49 ` Frans Pop
2008-09-11 15:57 ` Linus Torvalds
2008-09-11 16:32 ` Frans Pop
2008-09-11 17:49 ` Linus Torvalds
2008-09-11 18:24 ` Frans Pop
2008-09-11 16:01 ` David Woodhouse
2008-09-11 4:00 ` David Newall
2008-09-11 6:35 ` Faidon Liambotis
2008-09-11 7:15 ` Jeff Mahoney
2008-09-11 13:38 ` Theodore Tso
2008-09-11 14:36 ` Jeff Mahoney
2008-09-11 16:29 ` Marcel Holtmann
2008-09-11 16:20 ` Marcel Holtmann
2008-09-11 11:29 ` Thierry Vignaud
2008-09-11 13:40 ` Greg KH
2008-09-11 16:39 ` Marcel Holtmann
2008-09-11 16:45 ` David Woodhouse
2008-09-11 20:18 ` Greg KH
2008-09-11 20:15 ` Greg KH
2008-09-11 20:38 ` David Woodhouse
2008-09-11 20:57 ` Greg KH
2008-09-11 21:15 ` David Woodhouse
2008-09-11 22:07 ` Greg KH
2008-09-11 22:25 ` David Woodhouse
2008-09-12 8:39 ` Joseph Fannin
2008-09-12 13:50 ` Gene Heskett
2008-09-12 14:32 ` David Woodhouse
2008-09-12 20:24 ` Kai Henningsen
-- strict thread matches above, loose matches on Subject: below --
2011-02-25 2:39 Jeff Mahoney
2011-02-25 5:01 ` Michael Tokarev
2011-02-25 15:03 ` Jeff Mahoney
2011-02-25 16:54 ` David Woodhouse
2011-03-01 0:48 ` Andrew Morton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200809111152.58187.elendil@planet.nl \
--to=elendil@planet.nl \
--cc=akpm@linux-foundation.org \
--cc=davem@davemloft.net \
--cc=dwmw2@infradead.org \
--cc=jeff@garzik.org \
--cc=jeffm@suse.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox