X-Git-Url: https://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/def66d11806eecd1d87785c0dcc8af188ceb2834..3e80010264ccf09861646d1d95c8c14747c2223d:/blog/archive/2013/06/index.html diff --git a/blog/archive/2013/06/index.html b/blog/archive/2013/06/index.html index 57c5a6a8a0..36e57ef27f 100644 --- a/blog/archive/2013/06/index.html +++ b/blog/archive/2013/06/index.html @@ -21,6 +21,83 @@

Entries from June 2013.

+
+
+ Automatically locate and install required firmware packages on Debian (Isenkram 0.4) +
+
+ 25th June 2013 +
+
+

It annoys me when the computer fail to do automatically what it is +perfectly capable of, and I have to do it manually to get things +working. One such task is to find out what firmware packages are +needed to get the hardware on my computer working. Most often this +affect the wifi card, but some times it even affect the RAID +controller or the ethernet card. Today I pushed version 0.4 of the +Isenkram package +including a new script isenkram-autoinstall-firmware handling the +process of asking all the loaded kernel modules what firmware files +they want, find debian packages providing these files and install the +debian packages. Here is a test run on my laptop:

+ +

+# isenkram-autoinstall-firmware 
+info: kernel drivers requested extra firmware: ipw2200-bss.fw ipw2200-ibss.fw ipw2200-sniffer.fw
+info: fetching http://http.debian.net/debian/dists/squeeze/Contents-i386.gz
+info: locating packages with the requested firmware files
+info: Updating APT sources after adding non-free APT source
+info: trying to install firmware-ipw2x00
+firmware-ipw2x00
+firmware-ipw2x00
+Preconfiguring packages ...
+Selecting previously deselected package firmware-ipw2x00.
+(Reading database ... 259727 files and directories currently installed.)
+Unpacking firmware-ipw2x00 (from .../firmware-ipw2x00_0.28+squeeze1_all.deb) ...
+Setting up firmware-ipw2x00 (0.28+squeeze1) ...
+# 
+

+ +

When all the requested firmware is present, a simple message is +printed instead:

+ +

+# isenkram-autoinstall-firmware 
+info: did not find any firmware files requested by loaded kernel modules.  exiting
+# 
+

+ +

It could use some polish, but it is already working well and saving +me for time when setting up new machines. :)

+ +

So, how does it work? It look at the set of currently loaded +kernel modules, and look up each one of them using modinfo, to find +the firmware files listed in the module meta-information. Next, it +download the Contents file from a nearby APT mirror, and search for +the firmware files in this file to locate the package with the +requested firmware file. If the package is in the non-free section, a +non-free APT source is added and the package is installed using +apt-get install. The end result is a slightly better working +machine.

+ +

I hope someone find time to implement a more polished version of +this script as part of the hw-detect debian-installer module, to +finally fix BTS report +#655507. There really is no need to insert USB sticks with +firmware during a PXE install when the packages already are available +from the nearby Debian mirror.

+ +
+
+ + + Tags: debian, english, isenkram. + + +
+
+
+
The value of a good distro wide test suite... @@ -1056,7 +1133,7 @@ debian-edu@.

  • May (9)
  • -
  • June (9)
  • +
  • June (10)
  • @@ -1206,7 +1283,7 @@ debian-edu@.

  • bsa (2)
  • -
  • debian (77)
  • +
  • debian (78)
  • debian edu (135)
  • @@ -1216,7 +1293,7 @@ debian-edu@.

  • drivstoffpriser (4)
  • -
  • english (202)
  • +
  • english (203)
  • fiksgatami (21)
  • @@ -1228,7 +1305,7 @@ debian-edu@.

  • intervju (37)
  • -
  • isenkram (6)
  • +
  • isenkram (7)
  • kart (18)