<html xmlns="http://www.w3.org/1999/xhtml">
<head>
-<title>The Linux kernel in Debian - Ben Hutchings - DebConf 11</title>
+<title>The Linux kernel in Debian - Ben Hutchings - Mini-DebConf Paris 2012</title>
<!-- metadata -->
<meta name="generator" content="S5" />
<meta name="version" content="S5 1.1" />
table { border-collapse: collapse }
th { border-bottom: 2pt solid black }
th, td { padding: 0 6pt }
+ .package { font-family: monospace }
+ var { font-family: sans }
</style>
<style type="text/css" media="print">
.slide { page-break-after: always }
<div id="controls"><!-- DO NOT EDIT --></div>
<div id="currentSlide"><!-- DO NOT EDIT --></div>
<div id="header">
- <object class="logo" data="debconf11.svg"></object>
</div>
<div id="footer">
-<h1>DebConf 11</h1>
+<h1>Mini-DebConf Paris 2012</h1>
<h2>The Linux kernel in Debian</h2>
</div>
</div>
<div class="slide">
- <h1>Official Linux kernel packages</h1>
+ <h1>Official Linux kernel packages (1)</h1>
+ <p>
+ Main source package is <span class="package">linux-2.6</span>
+ (still!). Most binary package names change regularly.
+ </p>
+ <ul class="incremental">
+ <li>
+ <span class="package">linux-image-<var>upstream</var>-<var>abi</var>-<var>flavour</var></span>
+ - compiled kernel and modules
+ </li>
+ <li>
+ <span class="package">linux-headers-<var>upstream</var>-<var>abi</var>-<var>flavour</var></span>
+ (and others) - development package for OOT modules
+ </li>
+ <li>
+ <span class="package">linux-libc-dev</span> - headers for userland
+ </li>
+ <li>
+ <span class="package">linux-source-<var>upstream</var></span> -
+ for custom kernels
+ </li>
+ <li>
+ <span class="package">linux-doc-<var>upstream</var></span>,
+ <span class="package">linux-tools-<var>upstream</var></span>, etc.
+ </li>
+ <li>
+ <span class="package">linux-support-<var>upstream</var>-<var>abi</var></span> -
+ scripts and metadata to support linux-latest-2.6
+ </li>
+ </ul>
+</div>
+
+<div class="slide">
+ <h1>Official Linux kernel packages (2)</h1>
+ <p>
+ The <span class="package">linux-latest-2.6</span> source package builds meta-packages
+ to support automatic upgrades between binaries built
+ from <span class="package">linux-2.6</span>.
+ </p>
+ <ul class="incremental">
+ <li>
+ <span class="package">linux-image-<var>flavour</var></span>
+ </li>
+ <li>
+ <span class="package">linux-headers-<var>flavour</var></span>
+ </li>
+ <li>
+ <span class="package">linux-source</span>,
+ <span class="package">linux-doc</span>,
+ <span class="package">linux-tools</span>, etc.
+ </li>
+ </ul>
+ <p class="incremental">
+ The installer will normally install
+ <span class="package">linux-image-<var>flavour</var></span> (for
+ some appropriate <var>flavour</var>).
+ </p>
+</div>
+
+<div class="slide">
+ <h1>Official Linux kernel packages (3)</h1>
+ <ul class="incremental">
+ <li>
+ <span class="package">firmware-free</span> - separate 'firmware'
+ compliant with DFSG
+ </li>
+ <li>
+ <span class="package">linux-base</span> - base package for
+ images and tools
+ </li>
+ <li>
+ <span class="package">linux-kbuild-2.6</span> builds
+ <span class="package">linux-kbuild-<var>upstream</var></span> -
+ kernel build system and tools for building OOT modules
+ </li>
+ </ul>
+</div>
+
+<div class="slide">
+ <h1>Custom Linux kernel builds</h1>
+ <p>
+ The official packages work for most users, but not all:
+ </p>
+ <ul class="incremental">
+ <li>
+ Different ARM platforms need incompatible configurations,
+ and we cannot build them all
+ </li>
+ <li>
+ New features are not enabled immediately if we are worried
+ about potential regressions
+ </li>
+ </ul>
+ <p class="incremental">
+ Using either upstream source or Debian linux-source package:
+ </p>
+ <ul class="incremental">
+ <li>
+ <span class="package">make && make install</span>
+ </li>
+ <li>
+ <span class="package">make deb-pkg</span> - build packages
+ </li>
+ <li>
+ <span class="package">make-kpkg</span> - build packages with
+ more customisation; requires
+ <span class="package">kernel-package</span>
+ </li>
+ </ul>
</div>
<div class="slide">
- <h1>Custom Linux kernel packages</h1>
+ <h1>Extra features</h1>
+ <p>
+ Always aim to get patches merged upstream. But many big features
+ that users want added are <em>not</em> merged upstream for a long
+ time. Kernel team expects features to be upstream first, then
+ backported.
+ </p>
+ <p class="incremental">
+ But there have been exceptions:
+ </p>
+ <ul class="incremental">
+ <li>
+ OpenVZ and VServer - mostly reimplemented with cgroups and
+ namespaces
+ </li>
+ <li>
+ Xen - now upstream; Linux 3.0 is a useful dom0 kernel!
+ </li>
+ <li>
+ aufs - needed for Debian Live
+ </li>
+ <li>
+ PREEMPT_RT - gradually being merged upstream; new option in
+ amd64 packages
+ </li>
+ </ul>
</div>
<div class="slide">
<h1>Out-of-tree modules</h1>
+ <p>
+ The kernel team does not encourage the use of out-of-tree modules.
+ However, we support them by providing development packages and by
+ avoiding ABI changes during a stable release.
+ </p>
+ <p class="incremental">
+ Debian has two packages to aid in building out-of-tree modules:
+ </p>
+ <ul class="incremental">
+ <li>
+ <span class="package">dkms</span> - builds and installs modules
+ automatically. Can build packages for installation on other
+ systems. Also supported by Ubuntu and SUSE.
+ </li>
+ <li>
+ <span class="package">module-assistant</span> - builds packages
+ as directed. Uses a separate package name for each kernel ABI.
+ </li>
+ </ul>
</div>
<div class="slide">
<h1>Firmware files</h1>
+ <ul class="incremental">
+ <li>
+ Most peripherals have microcontroller running non-free
+ firmware; some require host to load it
+ </li>
+ <li>
+ Several drivers used to include firmware, making kernel
+ non-free. Fudged with GRs for a while; finally fixed in squeeze
+ </li>
+ <li>
+ Users with these devices - almost any wifi card, some network
+ controllers and Radeon GPUs - will still need the firmware
+ files installed
+ </li>
+ <li>
+ Kernel team maintains
+ <span class="package">firmware-nonfree</span> source package
+ covering most firmware files that are clearly redistributable
+ </li>
+ <li>
+ Also collected in linux-firmware.git repository maintained by
+ David Woodhouse and myself
+ </li>
+ </ul>
</div>
<div class="slide">
<h1>Documentation</h1>
+ <ul class="incremental">
+ <li>
+ <span class="package">manpages-dev</span> - the system call API
+ </li>
+ <li>
+ <span class="package">linux-doc-</span><var>upstream</var> -
+ miscellaneous upstream documentation
+ </li>
+ <li>
+ <span class="package">linux-manual-</span><var>upstream</var> -
+ the internal API, based on structured comments
+ </li>
+ <li>
+ <span class="package">debian-kernel-handbook</span> -
+ Debian-specific information; currently also Linux-specific but
+ could cover other kernels
+ </li>
+ <li>
+ <a href="http://wiki.debian.org/DebianKernel">http://wiki.debian.org/DebianKernel</a>
+ - wiki index page
+ </li>
+ </ul>
</div>
<div class="slide">
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-->
</li>
- <li>
- DebConf 11 logo © Aurélio A. Heckert.
- <!--
-This program is free software; you can redistribute it
-and/or modify it under the terms of the GNU General Public
-License as published by the Free Software Foundation;
-version 2 of the License.
-
-This program is distributed in the hope that it will be
-useful, but WITHOUT ANY WARRANTY; without even the implied
-warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. See the GNU General Public License for more
-details.
-
-You should have received a copy of the GNU General Public
-License along with this package; if not, write to the Free
-Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-Boston, MA 02110-1301 USA
-
-On Debian systems, the full text of the GNU General Public
-License version 2 can be found in the file
-`/usr/share/common-licenses/GPL-2'.
- -->
- <ul>
- <li>Resized and coloured by me</li>
- </ul>
- </li>
</ul>
</div>