]> pere.pagekite.me Git - homepage.git/blobdiff - blog/tags/sysadmin/index.html
New post.
[homepage.git] / blog / tags / sysadmin / index.html
index bf16b7384531e8c52163eec8b91d1f632a9908b4..b19e3b02d1c17dfbcb2c500b3c0511669bd9d26e 100644 (file)
 
     <h3>Entries tagged "sysadmin".</h3>
     
+    <div class="entry">
+      <div class="title">
+        <a href="http://people.skolelinux.org/pere/blog/Debian_Jessie__PXE_and_automatic_firmware_installation.html">Debian Jessie, PXE and automatic firmware installation</a>
+      </div>
+      <div class="date">
+        17th October 2014
+      </div>
+      <div class="body">
+        <p>When PXE installing laptops with Debian, I often run into the
+problem that the WiFi card require some firmware to work properly.
+And it has been a pain to fix this using preseeding in Debian.
+Normally something more is needed.  But thanks to
+<a href="https://packages.qa.debian.org/i/isenkram.html">my isenkram
+package</a> and its recent tasksel extension, it has now become easy
+to do this using simple preseeding.</p>
+
+<p>The isenkram-cli package provide tasksel tasks which will install
+firmware for the hardware found in the machine (actually, requested by
+the kernel modules for the hardware).  (It can also install user space
+programs supporting the hardware detected, but that is not the focus
+of this story.)</p>
+
+<p>To get this working in the default installation, two preeseding
+values are needed.  First, the isenkram-cli package must be installed
+into the target chroot (aka the hard drive) before tasksel is executed
+in the pkgsel step of the debian-installer system.  This is done by
+preseeding the base-installer/includes debconf value to include the
+isenkram-cli package.  The package name is next passed to debootstrap
+for installation.  With the isenkram-cli package in place, tasksel
+will automatically use the isenkram tasks to detect hardware specific
+packages for the machine being installed and install them, because
+isenkram-cli contain tasksel tasks.</p>
+
+<p>Second, one need to enable the non-free APT repository, because
+most firmware unfortunately is non-free.  This is done by preseeding
+the apt-mirror-setup step.  This is unfortunate, but for a lot of
+hardware it is the only option in Debian.</p>
+
+<p>The end result is two lines needed in your preseeding file to get
+firmware installed automatically by the installer:</p>
+
+<p><blockquote><pre>
+base-installer base-installer/includes string isenkram-cli
+apt-mirror-setup apt-setup/non-free boolean true
+</pre></blockquote></p>
+
+<p>The current version of isenkram-cli in testing/jessie will install
+both firmware and user space packages when using this method.  It also
+do not work well, so use version 0.15 or later.  Installing both
+firmware and user space packages might give you a bit more than you
+want, so I decided to split the tasksel task in two, one for firmware
+and one for user space programs.  The firmware task is enabled by
+default, while the one for user space programs is not.  This split is
+implemented in the package currently in unstable.</p>
+
+<p>If you decide to give this a go, please let me know (via email) how
+this recipe work for you. :)</p>
+
+<p>So, I bet you are wondering, how can this work.  First and
+foremost, it work because tasksel is modular, and driven by whatever
+files it find in /usr/lib/tasksel/ and /usr/share/tasksel/.  So the
+isenkram-cli package place two files for tasksel to find.  First there
+is the task description file (/usr/share/tasksel/descs/isenkram.desc):</p>
+
+<p><blockquote><pre>
+Task: isenkram-packages
+Section: hardware
+Description: Hardware specific packages (autodetected by isenkram)
+ Based on the detected hardware various hardware specific packages are
+ proposed.
+Test-new-install: show show
+Relevance: 8
+Packages: for-current-hardware
+
+Task: isenkram-firmware
+Section: hardware
+Description: Hardware specific firmware packages (autodetected by isenkram)
+ Based on the detected hardware various hardware specific firmware
+ packages are proposed.
+Test-new-install: mark show
+Relevance: 8
+Packages: for-current-hardware-firmware
+</pre></blockquote></p>
+
+<p>The key parts are Test-new-install which indicate how the task
+should be handled and the Packages line referencing to a script in
+/usr/lib/tasksel/packages/.  The scripts use other scripts to get a
+list of packages to install.  The for-current-hardware-firmware script
+look like this to list relevant firmware for the machine:
+
+<p><blockquote><pre>
+#!/bin/sh
+#
+PATH=/usr/sbin:$PATH
+export PATH
+isenkram-autoinstall-firmware -l
+</pre></blockquote></p>
+
+<p>With those two pieces in place, the firmware is installed by
+tasksel during the normal d-i run. :)</p>
+
+<p>If you want to test what tasksel will install when isenkram-cli is
+installed, run <tt>DEBIAN_PRIORITY=critical tasksel --test
+--new-install</tt> to get the list of packages that tasksel would
+install.</p>
+
+<p><a href="https://wiki.debian.org/DebianEdu/">Debian Edu</a> will be
+pilots in testing this feature, as isenkram is used there now to
+install firmware, replacing the earlier scripts.</p>
+
+      </div>
+      <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/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin</a>.
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
     <div class="entry">
       <div class="title">
         <a href="http://people.skolelinux.org/pere/blog/Scripting_the_Cerebrum_bofhd_user_administration_system_using_XML_RPC.html">Scripting the Cerebrum/bofhd user administration system using XML-RPC</a>
@@ -88,6 +209,31 @@ and DHCP updates I wanted to do.</p>
 <h2>Archive</h2>
 <ul>
 
+<li>2014
+<ul>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2014/04/">April (7)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2014/05/">May (1)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2014/06/">June (2)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2014/07/">July (2)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2014/08/">August (2)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2014/09/">September (5)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2014/10/">October (5)</a></li>
+
+</ul></li>
+
 <li>2013
 <ul>
 
@@ -99,7 +245,21 @@ and DHCP updates I wanted to do.</p>
 
 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
 
-<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (3)</a></li>
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
 
 </ul></li>
 
@@ -243,65 +403,77 @@ and DHCP updates I wanted to do.</p>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (7)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (8)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (12)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (14)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (72)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
+
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (107)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (125)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (150)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (10)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (9)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/dld">dld (15)</a></li>
+
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (12)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (189)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (260)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (21)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (12)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (11)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (13)</a></li>
+
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (8)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (11)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (33)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (41)</a></li>
+
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (10)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (6)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (19)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (18)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (8)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (6)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (25)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (232)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (31)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (152)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (248)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (8)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (163)</a></li>
+
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (11)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (44)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (48)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (65)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (75)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (1)</a></li>
 
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
+
  <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (2)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (3)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (6)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (9)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
 
@@ -309,29 +481,29 @@ and DHCP updates I wanted to do.</p>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (29)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (41)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (4)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (42)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (45)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (3)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (7)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (9)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (15)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (26)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (1)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (2)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (7)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (8)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (38)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (44)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (26)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (33)</a></li>
 
 </ul>