]> pere.pagekite.me Git - homepage.git/blobdiff - blog/archive/2014/10/10.rss
Typo.
[homepage.git] / blog / archive / 2014 / 10 / 10.rss
index 3195a7a2ee1df9834030a38fb8709789580a9190..d4aa839f1a40115da6d18aac3bf1b9ec7a034959 100644 (file)
@@ -6,6 +6,133 @@
                 <link>http://people.skolelinux.org/pere/blog/</link>
 
        
+       <item>
+               <title>Debian Jessie, PXE and automatic firmware installation</title>
+               <link>http://people.skolelinux.org/pere/blog/Debian_Jessie__PXE_and_automatic_firmware_installation.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Jessie__PXE_and_automatic_firmware_installation.html</guid>
+                <pubDate>Fri, 17 Oct 2014 14:10:00 +0200</pubDate>
+               <description>&lt;p&gt;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
+&lt;a href=&quot;https://packages.qa.debian.org/i/isenkram.html&quot;&gt;my isenkram
+package&lt;/a&gt; and its recent tasksel extension, it has now become easy
+to do this using simple preseeding.&lt;/p&gt;
+
+&lt;p&gt;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.)&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;The end result is two lines needed in your preseeding file to get
+firmware installed automatically by the installer:&lt;/p&gt;
+
+&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
+base-installer base-installer/includes string isenkram-cli
+apt-mirror-setup apt-setup/non-free boolean true
+&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;If you decide to give this a go, please let me know (via email) how
+this recipe work for you. :)&lt;/p&gt;
+
+&lt;p&gt;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):&lt;/p&gt;
+
+&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
+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
+&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
+
+&lt;p&gt;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:
+
+&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
+#!/bin/sh
+#
+PATH=/usr/sbin:$PATH
+export PATH
+isenkram-autoinstall-firmware -l
+&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
+
+&lt;p&gt;With those two pieces in place, the firmware is installed by
+tasksel during the normal d-i run. :)&lt;/p&gt;
+
+&lt;p&gt;If you want to test what tasksel will install when isenkram-cli is
+installed, run &lt;tt&gt;DEBIAN_PRIORITY=critical tasksel --test
+--new-install&lt;/tt&gt; to get the list of packages that tasksel would
+install.&lt;/p&gt;
+
+&lt;p&gt;&lt;a href=&quot;https://wiki.debian.org/DebianEdu/&quot;&gt;Debian Edu&lt;/a&gt; will be
+pilots in testing this feature, as isenkram is used there now to
+install firmware, replacing the earlier scripts.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Ubuntu used to show the bread prizes at ICA Storo</title>
+               <link>http://people.skolelinux.org/pere/blog/Ubuntu_used_to_show_the_bread_prizes_at_ICA_Storo.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Ubuntu_used_to_show_the_bread_prizes_at_ICA_Storo.html</guid>
+                <pubDate>Sat, 4 Oct 2014 15:20:00 +0200</pubDate>
+               <description>&lt;p&gt;Today I came across an unexpected Ubuntu boot screen.  Above the
+bread shelf on the ICA shop at Storo in Oslo, the grub menu of Ubuntu
+with Linux kernel 3.2.0-23 (ie probably version 12.04 LTS) was stuck
+on a screen normally showing the bread types and prizes:&lt;/p&gt;
+
+&lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;70%&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2014-10-04-ubuntu-ica-storo-crop.jpeg&quot;&gt;&lt;/p&gt;
+
+&lt;p&gt;If it had booted as it was supposed to, I would never had known
+about this hidden Linux installation.  It is interesting what
+&lt;a href=&quot;http://revealingerrors.com/&quot;&gt;errors can reveal&lt;/a&gt;.&lt;/p&gt;
+</description>
+       </item>
+       
        <item>
                <title>New lsdvd release version 0.17 is ready</title>
                <link>http://people.skolelinux.org/pere/blog/New_lsdvd_release_version_0_17_is_ready.html</link>