]> git.decadent.org.uk Git - debian-kernel-talk.git/blobdiff - index.html
Fill in out-of-tree modules
[debian-kernel-talk.git] / index.html
index 480752b8a46e562db5a10e5a50dfbc91add8fd71..46e1aa6c6fec049a81f2fbe65465f6c880d04ed1 100644 (file)
 </div>
 
 <div class="slide">
-  <h1>Debian kernel team</h1>
+  <h1>Debian kernel team (1)</h1>
+  <p>
+    Who are we?
+  </p>
+  <ul class="incremental">
+    <li>
+      Currently 5 general maintainers: Maximilian Attems, Bastian
+      Blank, dann frazier, Moritz Muehlenhoff and me
+    </li>
+    <li>
+      Many more specialised contributors:
+      <ul>
+       <li>Specific architectures</li>
+       <li>Specific features (e.g. Xen)</li>
+       <li>Bug triage</li>
+      </ul>
+    </li>
+    <li>
+      Would appreciate more help, particularly with bug triage and
+      PowerPC
+    </li>
+  </ul>
+</div>
+
+<div class="slide">
+  <h1>Debian kernel team (2)</h1>
+  <p>
+    What do we do?
+  </p>
+  <ul class="incremental">
+    <li>
+      Bug triage - takes a huge amount of time
+    </li>
+    <li>
+      Backport bug fixes and features - particularly new hardware
+      support for stable
+      <ul class="incremental">
+       <li>...while trying not to change kernel ABI in stable</li>
+      </ul>
+    </li>
+    <li>
+      Update build configurations for each new upstream release -
+      e.g. to enable new drivers
+    </li>
+    <li>
+      Try to ensure smooth upgrades when there are major
+      implementation changes - e.g. KMS, switch to libata drivers
+    </li>
+    <li>
+      Integrate <em>some</em> features not accepted upstream
+    </li>
+  </ul>
+</div>
+
+<div class="slide">
+  <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>Official 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>Custom Linux kernel packages</h1>
+  <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">