% % Copyright © 1999, 2005-2010 Axel Beckert % Copyright © 2010 Alexander Reichle-Schmehl % % Lizensiert unter der Creative Commons SA 3.0 DE Lizenz % siehe http://creativecommons.org/licenses/by-sa/3.0/de/ % \documentclass{beamer} \mode { \usetheme{Boadilla} \setbeamercovered{transparent} } \usepackage[english,ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage{times} \usepackage[T1]{fontenc} \title[Debian GNU/kFreeBSD] {Debian und der FreeBSD-Kernel} \subtitle {apt-get install freebsd} \author[Axel Beckert, Alexander Reichle-Schmehl] {Axel~Beckert \and Alexander~Reichle-Schmehl} \date[CeBIT 2010] {Cebit Univention Open Source Bühne} \subject{Debian GNU/kFreeBSD} \pgfdeclareimage[height=0.5cm]{university-logo}{open-logo-100} \logo{\pgfuseimage{university-logo}} \AtBeginSection[] { \begin{frame}{Outline} \tableofcontents[currentsection,currentsubsection] \end{frame} } \beamerdefaultoverlayspecification{<+->} \begin{document} \begin{frame} \titlepage \end{frame} \begin{frame}{Gliederung} \tableofcontents \end{frame} \section{Was ist Debian GNU/kFreeBSD eigentlich genau?} \begin{frame}{Was ist Debian GNU/kFreeBSD eigentlich genau?} \begin{itemize} \item Es ist eine Portierung, ihre eigene \texttt{Architecture}. \item Genauer, es sind zwei Portierung/Architekturen: kfreebsd-i386 und kfreebsd-amd64, kurz k-i and k-a) \item Seit April 2009 offizieller Bestandteil des Debian-Archivs. Vorher bei Debian-Ports.org gehostet. \item Man kann nicht Linux- und kFreeBSD-Kernel mit der gleichen Installation nutzen. \item Man kann ein Chroot mit Linux-Software auf GNU/kFreeBSD betreiben sofern FreeBSDs Linux Compatibility Layer ausreicht. \item Es ist also nicht ganz so einfach wie \texttt{apt-get install freebsd} \item \texttt{apt-get install kfreebsd-source-\$version} geht trotzdem, auch auf Debian GNU/Linux und schon seit 4.0 (Etch). :-) \end{itemize} \end{frame} \subsection{Wofür steht der Name?} \begin{frame}{Wofür steht der Name?} \begin{center} \only<1>{\includegraphics[height=0.75\textheight]{Kernel_Layout.png}} \only<2>{\includegraphics[height=0.75\textheight]{Kernel_Layout_Linux.png}} \only<3>{\includegraphics[height=0.75\textheight]{Kernel_Layout_FreeBSD.png}} \end{center} \only<4->{ \begin{itemize} \item \textbf{Debian} DFSG, dpkg, apt, D-I, für ihre Stabilität bekannte Stable-Releases \item \textbf{GNU} (e)glibc, Userland (coreutils, etc.) \item \textbf{kFreeBSD} für ihre Stabilität bekannte FreeBSD-Kernel (daher das \texttt{k}) plus ein paar kernel-/dateisystem-bezogene Tools \begin{itemize} \item Fing mit FreeBSD-Kernel 5.x um 2005 an \item Momentan werden die Kernel 7.2 (testing + D-I) und 8.0 testing) unterstützt \end{itemize} \end{itemize}} \end{frame} %\begin{frame}{Wofür steht der Name?} %\end{frame} \section{Warum eine Portierung auf den FreeBSD-Kernel} \begin{frame}<1-5>[label=warum]{Warum?} \begin{itemize} \item Because we can! (SCNR) \item Kombiniert Vorteile des Debian Systems und von FreeBSD \item \url{http://wiki.debian.org/Debian_GNU/kFreeBSD_why} \item Hält Software portabel, hilft, falsche Annahmen entgegenzuwirken \item Bessere Performance? Hängt von vielen Faktoren ab: \onslide<6> \url{http://www.phoronix.com/scan.php?page=article&item=debian_kfreebsd}\\ (Diese Tests wurden allerdings mit einem 7.2er Kernel ohne Superpages gemacht) \end{itemize} \end{frame} \begin{frame}{Performance? kFreeBSD ist schneller!} \begin{center} \includegraphics[width=0.9\textwidth]{phoronix/8.png} \end{center} {\tiny Quelle: \url{http://www.phoronix.com/scan.php?page=article&item=debian_kfreebsd}} \end{frame} \begin{frame}{Performance? Nein, Linux ist schneller!} \begin{center} \includegraphics[width=0.9\textwidth]{phoronix/14.png} \end{center} {\tiny Quelle: \url{http://www.phoronix.com/scan.php?page=article&item=debian_kfreebsd}} \end{frame} \begin{frame}{Performance? Linux und kFreeBSD sind gleich schnell!} \begin{center} \includegraphics[width=0.9\textwidth]{phoronix/5.png} \end{center} {\tiny Quelle: \url{http://www.phoronix.com/scan.php?page=article&item=debian_kfreebsd}} \end{frame} \begin{frame}{Performance? Oder wie jetzt?} \begin{center} \includegraphics[width=0.9\textwidth]{phoronix/3.png} \end{center} {\tiny Quelle: \url{http://www.phoronix.com/scan.php?page=article&item=debian_kfreebsd}} \end{frame} \againframe<6>{warum} \subsection{Warum keine BSD-libc?} \begin{frame}{Warum keine BSD-libc?} \begin{itemize} \item Die Libc an den Kernel anzupassen ist wesentlich weniger Arbeit als Tausende von Pakete zu patchen um mit einer weiteren Libc zusammenzuarbeiten. \item Debian GNU/NetBSD und GNU/FreeBSD (kein \texttt{k}) haben dies versucht und sind gescheitert. \end{itemize} \end{frame} \section{Vergleiche mit existierenden Systemen} \subsection{Verglichen mit Linux} \begin{frame}{GNU/kFreeBSD verglichen mit Linux hat:} \begin{itemize} \item Sauberere Standard-Kernel-Schnittstellen in FreeBSD: \begin{itemize} \item /dev \item OSS \item weniger bazaar-artiges Entwicklungsmodell \end{itemize} \item stabilere Schnittstellen \item Features, die man mit Linux nicht bekommt: \begin{itemize} \item pf \item ZFS \item Jails \medskip \item dtrace \item NDIS-Treiber im Mainline-Kernel \end{itemize} \item weniger oder weniger umfangreiche Pakete, da Software von linux-spezifischen Features (ALSA, libiw, inotify, etc.) abhängt. \end{itemize} \end{frame} \subsection{Verglichen mit \glqq echtem\grqq\ FreeBSD} \begin{frame}{GNU/kFreeBSD verglichen mit FreeBSD hat:} \begin{itemize} \item dpkg, apt und Freunde \item alle Software kommt in vorkompilierten Binärpaketen \item keine rollenden Releases bei Ports/Paketen \smallskip \item grob gleichviel Ports/Pakete \item keine nicht-DFSG-freien Binärblobs im Kernel \end{itemize} \end{frame} \section{Was fehlt derzeit nocht?} \begin{frame}<1-5>[label=fehlt]{Was fehlt noch?} \begin{itemize} \item ZFS und FUSE Userland Utilities \item IPv6 Glue für \glqq route\grqq, etc. \item Bluetooth, inotify-kqueue Compatibility Layer, etc. \item Einige weniger wichtige FreeBSD-spezifische Tools wie den moused, etc. \medskip \item 15\% der Pakete \onslide<6-> \begin{itemize} \item Oft sind's nur fehlende oder falsche Build-Dependencies \item Linux-spezifische Pakete \item Details: \url{http://buildd.debian.org/stats/} \end{itemize} \end{itemize} \end{frame} \begin{frame}{Abdeckung des Debian Archives} \begin{center} \includegraphics[width=0.9\textwidth]{graph-quarter-big.png} \end{center} {\tiny Quelle: \url{http://buildd.debian.org/stats/}} \end{frame} \begin{frame}{Abdeckung des Debian Archives} \begin{center} \includegraphics[width=0.9\textwidth]{graph2-week-big.png} \end{center} {\tiny Quelle: \url{http://buildd.debian.org/stats/}} \end{frame} \againframe<6>{fehlt} \section*{Zusammenfassung} \begin{frame}{Zusammenfassung} \begin{itemize} \item Debian GNU/kFreeBSD ist eine zusätzliche Architektur, neben den anderen Linux-Architekturen. \item Sie umfasst ein GNU-Userland mit sämtlichen von Debian bekannte Tools und einen FreeBSD-Kernel. \item Wenn alles klappt, wird es mit Debian 6.0 \glqq Squeeze\grqq\ in diesem Jahr released. \item Testen kann man es bereits jetzt. \item An unserem Stand anschauen, auch\ldots \end{itemize} \end{frame} \begin{frame}{Besuchen sie uns!} Halle 2, Stand B26 (bei Univention) \begin{center} \includegraphics[width=0.9\textwidth]{messe-2-b26.png} \end{center} \end{frame} \appendix \section*{\appendixname} \subsection*{Kontakt und Ressourcen} \begin{frame}{Kontakt und Ressourcen} \begin{itemize} \item \url{http://wiki.debian.org/Debian_GNU/kFreeBSD} \item \url{http://wiki.debian.org/Debian_GNU/kFreeBSD_FAQ} \item IRC: \texttt{\#debian-kbsd} auf \texttt{irc.debian.org} \item Mailingliste: \url{http://lists.debian.org/debian-bsd/} \item Porter-Maschinen zugänglich für alle Debian-Entwickler, gehostet an der ETH Zürich \begin{itemize} \item \texttt{io.debian.net} kfreebsd-i386 \item \texttt{asdfasdf.debian.net} kfreebsd-amd64 \end{itemize} \item \url{http://glibc-bsd.alioth.debian.org/porting/PORTING} \item Dieser Vortrag: \url{http://svn.schmehl.info/svn/talks/kfreebsd/} \end{itemize} \end{frame} \subsection*{Danksagung} \begin{frame}{Danksagung} \begin{itemize} \item Den ganzen kFreeBSD-Portern. \item Marius Nünnerich und Thorsten Glaser für die Idee zu diesem Vortrag. \item Petr Salinger, Aurelien Jarno, Björn A. Zeeb, Guillem Jover, Witold Baryluk and Cyril Brulebois fürs kurzfristige Korrekturlesen der Folien, Kommentare und Vorschläge :-) \item Axel Beckert für's erstellen dieser Folien und das geduldige Beantworten diverser Fragen. \end{itemize} \end{frame} \end{document}