Fill in out-of-tree modules
[debian-kernel-talk.git] / index.html
index 824fe94..46e1aa6 100644 (file)
 </div>
 
 <div class="slide">
-  <h1>Official Linux kernel packages</h1>
+  <h1>Official Linux kernel packages (1)</h1>
+  <p>
+    Main source package is linux-2.6 (still!).  Most binary package
+    names change regularly.
+  </p>
+  <ul class="incremental">
+    <li>
+      linux-image-<var>upstream</var>-<var>abi</var>-<var>flavour</var>
+      - compiled kernel and modules
+    </li>
+    <li>
+      linux-headers-<var>upstream</var>-<var>abi</var>-<var>flavour</var>
+      (and others) - development package for OOT modules
+    </li>
+    <li>
+      linux-libc-dev - headers for userland
+    </li>
+    <li>
+      linux-source-<var>upstream</var> - for custom kernels
+    </li>
+    <li>
+      linux-doc-<var>upstream</var>, linux-tools-<var>upstream</var>,
+      etc.
+    </li>
+    <li>
+      linux-support-<var>upstream</var>-<var>abi</var> - scripts and
+      metadata to support linux-latest-2.6
+    </li>
+  </ul>
 </div>
 
 <div class="slide">
-  <h1>Custom Linux kernel packages</h1>
+  <h1>Official Linux kernel packages (2)</h1>
+  <p>
+    The linux-latest-2.6 source package builds meta-packages to
+    support automatic upgrades between binaries built from linux-2.6.
+  </p>
+  <ul class="incremental">
+    <li>
+      linux-image-<var>flavour</var>
+    </li>
+    <li>
+      linux-headers-<var>flavour</var>
+    </li>
+    <li>
+      linux-source, linux-doc, linux-tools, etc.
+    </li>
+  </ul>
+  <p class="incremental">
+    The installer will normally install linux-image-<var>flavour</var>
+    (for some appropriate <var>flavour</var>).
+  </p>
+</div>
+
+<div class="slide">
+  <h1>Official Linux kernel packages (3)</h1>
+  <ul class="incremental">
+    <li>
+      firmware-free - separate 'firmware' compliant with DFSG
+    </li>
+    <li>
+      linux-base - base package for images and tools
+    </li>
+    <li>
+      linux-kbuild-2.6 builds linux-kbuild-<var>upstream</var> -
+      code used 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>
+      <tt>make && make install</tt>
+    </li>
+    <li>
+      <tt>make deb-pkg</tt> - build packages
+    </li>
+    <li>
+      <tt>make-kpkg</tt> - build packages with more customisation;
+      requires kernel-package
+    </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>
+      <tt>dkms</tt> - builds and installs modules automatically.  Can
+      build packages for installation on other systems.  Also
+      supported by Ubuntu and SUSE.
+    </li>
+    <li>
+      <tt>module-assistant</tt> - builds packages as directed.
+      Uses a separate package name for each kernel ABI.
+    </li>
+  </ul>
 </div>
 
 <div class="slide">