1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" dir=
"ltr">
5 <meta http-equiv=
"Content-Type" content=
"text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: More flexible firmware handling in debian-installer
</title>
7 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/vim.css" />
13 <a href=
"http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
21 <div class=
"title">More flexible firmware handling in debian-installer
</div>
22 <div class=
"date">22nd May
2010</div>
23 <div class=
"body"><p>After a long break from debian-installer development, I finally
24 found time today to return to the project. Having to spend less time
25 working dependency based boot in debian, as it is almost complete now,
26 definitely helped freeing some time.
</p>
28 <p>A while back, I ran into a problem while working on Debian Edu. We
29 include some firmware packages on the Debian Edu CDs, those needed to
30 get disk and network controllers working. Without having these
31 firmware packages available during installation, it is impossible to
32 install Debian Edu on the given machine, and because our target group
33 are non-technical people, asking them to provide firmware packages on
34 an external medium is a support pain. Initially, I expected it to be
35 enough to include the firmware packages on the CD to get
36 debian-installer to find and use them. This proved to be wrong.
37 Next, I hoped it was enough to symlink the relevant firmware packages
38 to some useful location on the CD (tried /cdrom/ and
39 /cdrom/firmware/). This also proved to not work, and at this point I
40 found time to look at the debian-installer code to figure out what was
43 <p>The firmware loading code is in the hw-detect package, and a closer
44 look revealed that it would only look for firmware packages outside
45 the installation media, so the CD was never checked for firmware
46 packages. It would only check USB sticks, floppies and other
47 "external" media devices. Today I changed it to also look in the
48 /cdrom/firmware/ directory on the mounted CD or DVD, which should
49 solve the problem I ran into with Debian edu. I also changed it to
50 look in /firmware/, to make sure the installer also find firmware
51 provided in the initrd when booting the installer via PXE, to allow us
52 to provide the same feature in the PXE setup included in Debian
55 <p>To make sure firmware deb packages with a license questions are not
56 activated without asking if the license is accepted, I extended
57 hw-detect to look for preinst scripts in the firmware packages, and
58 run these before activating the firmware during installation. The
59 license question is asked using debconf in the preinst, so this should
60 solve the issue for the firmware packages I have looked at so far.
</p>
62 <p>If you want to discuss the details of these features, please
63 contact us on debian-boot@lists.debian.org.
</p>
66 <div class=
"tags">Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>.
</div>
84 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li>
86 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li>
88 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li>
90 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li>
92 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li>
94 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li>
96 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li>
98 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li>
100 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li>
102 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/10/">October (
11)
</a></li>
109 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li>
111 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li>
113 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li>
115 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li>
117 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li>
119 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li>
121 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li>
123 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li>
125 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li>
127 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li>
129 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li>
131 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li>
138 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
140 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
142 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
144 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
146 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li>
148 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li>
150 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li>
152 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li>
154 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li>
156 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li>
158 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li>
160 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li>
167 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
169 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
171 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
173 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
175 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
177 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
179 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
181 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
183 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
185 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
187 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
189 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
196 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
198 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
209 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
13)
</a></li>
211 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
213 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
215 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
2)
</a></li>
217 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
12)
</a></li>
219 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li>
221 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian (
57)
</a></li>
223 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
115)
</a></li>
225 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan (
9)
</a></li>
227 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/docbook">docbook (
7)
</a></li>
229 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
231 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/english">english (
154)
</a></li>
233 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
18)
</a></li>
235 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
12)
</a></li>
237 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
8)
</a></li>
239 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
8)
</a></li>
241 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/intervju">intervju (
31)
</a></li>
243 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart (
17)
</a></li>
245 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ldap">ldap (
8)
</a></li>
247 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lenker">lenker (
4)
</a></li>
249 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
251 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
25)
</a></li>
253 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk (
206)
</a></li>
255 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug (
145)
</a></li>
257 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
5)
</a></li>
259 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li>
261 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
35)
</a></li>
263 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern (
51)
</a></li>
265 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/raid">raid (
1)
</a></li>
267 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li>
269 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rfid">rfid (
2)
</a></li>
271 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot (
4)
</a></li>
273 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
275 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ruter">ruter (
4)
</a></li>
277 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
279 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
23)
</a></li>
281 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
283 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
3)
</a></li>
285 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard (
38)
</a></li>
287 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
3)
</a></li>
289 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
5)
</a></li>
291 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
10)
</a></li>
293 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/valg">valg (
7)
</a></li>
295 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/video">video (
34)
</a></li>
297 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
3)
</a></li>
299 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/web">web (
25)
</a></li>
305 <p style=
"text-align: right">
306 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.4
</a>