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" /> 
  15      <a href=
"http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a> 
  23       <div class=
"title">More flexible firmware handling in debian-installer
</div> 
  24       <div class=
"date">22nd May 
2010</div> 
  25       <div class=
"body"><p>After a long break from debian-installer development, I finally
 
  26 found time today to return to the project.  Having to spend less time
 
  27 working dependency based boot in debian, as it is almost complete now,
 
  28 definitely helped freeing some time.
</p> 
  30 <p>A while back, I ran into a problem while working on Debian Edu.  We
 
  31 include some firmware packages on the Debian Edu CDs, those needed to
 
  32 get disk and network controllers working.  Without having these
 
  33 firmware packages available during installation, it is impossible to
 
  34 install Debian Edu on the given machine, and because our target group
 
  35 are non-technical people, asking them to provide firmware packages on
 
  36 an external medium is a support pain.  Initially, I expected it to be
 
  37 enough to include the firmware packages on the CD to get
 
  38 debian-installer to find and use them.  This proved to be wrong.
 
  39 Next, I hoped it was enough to symlink the relevant firmware packages
 
  40 to some useful location on the CD (tried /cdrom/ and
 
  41 /cdrom/firmware/).  This also proved to not work, and at this point I
 
  42 found time to look at the debian-installer code to figure out what was
 
  45 <p>The firmware loading code is in the hw-detect package, and a closer
 
  46 look revealed that it would only look for firmware packages outside
 
  47 the installation media, so the CD was never checked for firmware
 
  48 packages.  It would only check USB sticks, floppies and other
 
  49 "external" media devices.  Today I changed it to also look in the
 
  50 /cdrom/firmware/ directory on the mounted CD or DVD, which should
 
  51 solve the problem I ran into with Debian edu.  I also changed it to
 
  52 look in /firmware/, to make sure the installer also find firmware
 
  53 provided in the initrd when booting the installer via PXE, to allow us
 
  54 to provide the same feature in the PXE setup included in Debian
 
  57 <p>To make sure firmware deb packages with a license questions are not
 
  58 activated without asking if the license is accepted, I extended
 
  59 hw-detect to look for preinst scripts in the firmware packages, and
 
  60 run these before activating the firmware during installation.  The
 
  61 license question is asked using debconf in the preinst, so this should
 
  62 solve the issue for the firmware packages I have looked at so far.
</p> 
  64 <p>If you want to discuss the details of these features, please
 
  65 contact us on debian-boot@lists.debian.org.
</p> 
  68       <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> 
  86 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/01/">January (
11)
</a></li> 
  88 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/02/">February (
9)
</a></li> 
  90 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/03/">March (
9)
</a></li> 
  92 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/04/">April (
6)
</a></li> 
  94 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/05/">May (
9)
</a></li> 
  96 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/06/">June (
10)
</a></li> 
  98 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/07/">July (
7)
</a></li> 
 100 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/08/">August (
3)
</a></li> 
 102 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/09/">September (
2)
</a></li> 
 109 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li> 
 111 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li> 
 113 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li> 
 115 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li> 
 117 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li> 
 119 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li> 
 121 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li> 
 123 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li> 
 125 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li> 
 127 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/10/">October (
17)
</a></li> 
 129 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/11/">November (
10)
</a></li> 
 131 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/12/">December (
7)
</a></li> 
 138 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li> 
 140 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li> 
 142 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li> 
 144 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li> 
 146 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li> 
 148 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li> 
 150 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li> 
 152 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li> 
 154 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li> 
 156 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li> 
 158 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li> 
 160 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li> 
 167 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li> 
 169 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li> 
 171 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li> 
 173 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li> 
 175 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li> 
 177 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li> 
 179 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li> 
 181 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li> 
 183 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li> 
 185 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li> 
 187 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li> 
 189 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li> 
 196 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li> 
 198 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li> 
 200 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li> 
 202 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li> 
 204 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li> 
 206 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li> 
 208 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li> 
 210 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li> 
 212 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li> 
 214 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li> 
 216 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li> 
 218 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li> 
 225 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li> 
 227 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li> 
 238  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
13)
</a></li> 
 240  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li> 
 242  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li> 
 244  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bankid">bankid (
4)
</a></li> 
 246  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
7)
</a></li> 
 248  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
12)
</a></li> 
 250  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li> 
 252  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian (
85)
</a></li> 
 254  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
139)
</a></li> 
 256  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan (
10)
</a></li> 
 258  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/docbook">docbook (
10)
</a></li> 
 260  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li> 
 262  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/english">english (
214)
</a></li> 
 264  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
21)
</a></li> 
 266  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
12)
</a></li> 
 268  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
12)
</a></li> 
 270  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (
1)
</a></li> 
 272  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
11)
</a></li> 
 274  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/intervju">intervju (
37)
</a></li> 
 276  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (
7)
</a></li> 
 278  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart (
18)
</a></li> 
 280  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ldap">ldap (
8)
</a></li> 
 282  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lenker">lenker (
6)
</a></li> 
 284  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li> 
 286  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
25)
</a></li> 
 288  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk (
235)
</a></li> 
 290  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug (
153)
</a></li> 
 292  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
8)
</a></li> 
 294  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li> 
 296  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
44)
</a></li> 
 298  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern (
66)
</a></li> 
 300  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/raid">raid (
1)
</a></li> 
 302  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li> 
 304  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rfid">rfid (
2)
</a></li> 
 306  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot (
7)
</a></li> 
 308  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li> 
 310  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ruter">ruter (
4)
</a></li> 
 312  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li> 
 314  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
30)
</a></li> 
 316  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li> 
 318  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
4)
</a></li> 
 320  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard (
43)
</a></li> 
 322  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
3)
</a></li> 
 324  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
8)
</a></li> 
 326  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
17)
</a></li> 
 328  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (
1)
</a></li> 
 330  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/valg">valg (
8)
</a></li> 
 332  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/video">video (
38)
</a></li> 
 334  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
4)
</a></li> 
 336  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/web">web (
27)
</a></li> 
 342     <p style=
"text-align: right"> 
 343  Created by 
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>