Lennart Poettering

Total Page:16

File Type:pdf, Size:1020Kb

Lennart Poettering INTERVIEW LENNART POETTERING REBUILDING LINUX FROM THE GROUND UP We meet Lennart Poettering, the lead developer of Systemd, an ambitious (and controversial) attempt to rewrite the Linux base system. ew pieces of software in scheduled actions (like Cron) and history have been so fiercely much more. Almost every major Linux Fdebated as Systemd. Initially distribution has adopted Systemd, but a replacement for Sysvinit, the there are still some unhappy campers boot scripts that start up a Linux out there, so Mike and Graham installation, Systemd has grown into ventured to Berlin to meet Systemd’s a hugely powerful – and sometimes lead developer and get his view. complex – replacement for the “bag We also looked beyond Systemd, “Most people who say of bits” that make up the Linux base and Lennart’s intriguing proposals Systemd is un-Unixish have system. It’s growing all the time for a new packaging system to make and now handles logging, device life easier for third-party application no idea what Unix is like.” hotplugging events, networking, developers… Systemd has now been different maintainers, different coding working on Systemd, many of us who adopted by pretty much every styles, different release cycles, different worked on the lower levels of the major distribution, and yet whenever maintenance statuses. Much of the operating system realised that Sysvinit it gets mentioned in discussions on Linux userspace used to be pretty badly was not going to be the future. And the web, flamewars erupt. What do maintained, if at all. You had completely then I was playing around with writing you think are still the biggest different styles, the commands worked my own init system, which had the misconceptions? differently – in the most superficial funny name Babykit, and that was 10 Lennart Poettering: There are many level, some used -h for help, and others years ago or something. And then different misconceptions. Something --h. It’s not uniform. Canonical’s Scott James Remnant you always see is the claim that If we put a lot of the glue in one started working on a new init system Systemd is monolithic – and another is repository, it’s not all the way towards called Upstart. He made it public, and I that it’s not like Unix. The Unix Unix, but it’s half way between stopped working on Babykit. misconception is a pretty interesting traditional Linux and traditional Unix. We, at that time, thought: OK, Upstart one, because most people who say We do not put libc and the kernel in the is the future! Scott understood how init Systemd is un-Unixish have no idea same repository, just the basic things. systems work – it needs to be dynamic, what Unix is actually like. So that’s a misconception that I’m it needs to react to events, and it’s not What’s typical for Unix, for example, always bemused about, and I’m pretty the static thing that Sysvinit was. So we is that all the tools, the C library, the sure that most people who claim that thought that was the way of the future, kernel, are all maintained in the same have never actually played around with but as it progressed, we realised it repository, right? And they’re released in Unix at all. probably wasn’t the future, because we sync, have the same coding style, the realised that conceptually, it was the same build infrastructure, the same Another issue is: some people wrong design. release cycles – everything’s the same. see Systemd presented as an The way Upstart worked is that, as a So you get the entire central part of the init system replacement, but now it’s programmer or admin, you write: if A operating system like that. If people doing X, Y and Z on top. You’ve said happens to B, or X happens to Y, do a claim that, because we stick a lot of it’s about replacing a “bag of bits” certain thing. But we believed that an things into the Systemd repository, then with an integrated suite of tools. init system should work the other way it’s un-Unixish, then it’s absolutely the When you started Systemd, was it a around, where you say: this is where I opposite. It’s more Unix-ish than Linux case of Red Hat saying to you, “we want to go to, and you figure out the ever was! want a new init system”, or… rest. Because of that design, Upstart The Linux model is the one where LP: No, it was actually the opposite. was very simple, but it put a lot of you have everything split up, and have Back in the day, when we started complexity on admins and developers, 42 www.linuxvoice.com LENNART POETTERING INTERVIEW wasn’t moving ahead. And then we started working on it, pulled out the old Babykit code, gave it a new name, and started proposing it. A lot of people understood that this was the better approach. It was a lot more complex than Upstart – to make it clear, I think Upstart actually has its benefits. The source code is very, very nice, and it’s very simple, but I think it’s too simple. It doesn’t have this engine that can figure out what the computer is supposed to be doing. So we started writing Systemd, and Red Hat didn’t like it at all. Red Hat management said: no, we’re going for Upstart, don’t work on that. So I said, OK, I’ll work on it in my free time. Eventually Red Hat realised that the problems we solved with Systemd were relevant, and were problems that needed to be solved, and that you couldn’t ignore them. Then we convinced the Fedora Technical Committee to adopt it, and then Red Hat internal management accepted it for RHEL, and we managed to convince every committee that because you actually had to write down that Canonical tried very hard to stay in mattered, bit by bit. It was absolutely all these rules. It wasn’t the computer control of it. They made sure, with not that Red Hat told us to work on it that figured out what to do. copyright assignment, that they made it – we had to convince them. We thought: if you want to solve this really hard to contribute, but that’s what properly, then you need to let the Linux actually lives off. You get these I don’t think many people know computer do these things. And this had drive-by patches, as I would call them, that! lots of different effects: for example, where people see that something is LP: This is something that people in Upstart always maximised what broken, or something could be general don’t know. They assume that happened on the system, while we improved. They do a Git checkout, do Red Hat is this one entity, that has one think you always have to minimise what one change, send you it and forget opinion and pushes one thing. It’s really happens. And the reason for that was about it. not like that. The people who work at simply because, if you specify exactly Red Hat, the engineers, they come from what state you want to end up in, you And you never see them again! the community – they first become can pull in all the dependencies LP: Yeah, and this is great – famous in the community, they hack on recursively and boot to exactly that. these are the people you want to have, things, do good stuff, and then Red Hat because the vast majority of patches comes along and says, “Hey, do you are actually of that kind. It gives you this want to work for us?” “We started writing Systemd, polishing that you want. The people And when you start working for Red and Red Hat didn’t like it at all. invested in the project all the time do Hat, they don’t check your opinions at the big things, and don’t care so much the door. You can be sure that if there So I worked in my free time.” about the polishing. So these kind of are multiple opinions on one topic in the patches are what you want. But if you broader community, the very same The Upstart way is always, “if this is do these copyright assignment things, opinions inside Red Hat exist too. Inside started, then start that”. If the network you will never get those people because of Red Hat there are discussions. Red is up, you take that as a trigger to start they would have to sign a contract Hat has many different people, and NFS and things like that. It always has before they can send you something. most of them have strong opinions and this effect that you start as much as Putting it all together, we realised that convictions. possible instead of as little as possible. Upstart wouldn’t be it. So at one Linux So anyway, long story short, we Plumbers Conference, four years ago or And much of this debate came to the conclusion that Upstart is so, Kay Sievers and I said that we happens in public, on public conceptually wrong, and it moved at should do something about it, after we mailing lists. Then you have some glacial speeds. It also had the problem saw at the conference how Upstart people saying that all this arguing www.linuxvoice.com 43 INTERVIEW LENNART POETTERING looks bad, compared to how people would hate us for it.
Recommended publications
  • The GNOME Census: Who Writes GNOME?
    The GNOME Census: Who writes GNOME? Dave Neary & Vanessa David, Neary Consulting © Neary Consulting 2010: Some rights reserved Table of Contents Introduction.........................................................................................3 What is GNOME?.............................................................................3 Project governance...........................................................................3 Why survey GNOME?.......................................................................4 Scope and methodology...................................................................5 Tools and Observations on Data Quality..........................................7 Results and analysis...........................................................................10 GNOME Project size.......................................................................10 The Long Tail..................................................................................11 Effects of commercialisation..........................................................14 Who does the work?.......................................................................15 Who maintains GNOME?................................................................17 Conclusions........................................................................................22 References.........................................................................................24 Appendix 1: Modules included in survey...........................................25 2 Introduction What
    [Show full text]
  • State of Linux Audio in 2009 Linux Plumbers Conference 2009
    State of Linux Audio in 2009 Linux Plumbers Conference 2009 Lennart Poettering [email protected] September 2009 Lennart Poettering State of Linux Audio in 2009 Who Am I? Software Engineer at Red Hat, Inc. Developer of PulseAudio, Avahi and a few other Free Software projects http://0pointer.de/lennart/ [email protected] IRC: mezcalero Lennart Poettering State of Linux Audio in 2009 Perspective Lennart Poettering State of Linux Audio in 2009 So, what happened since last LPC? Lennart Poettering State of Linux Audio in 2009 RIP: EsounD is officially gone. Lennart Poettering State of Linux Audio in 2009 (at least on Fedora) RIP: OSS is officially gone. Lennart Poettering State of Linux Audio in 2009 RIP: OSS is officially gone. (at least on Fedora) Lennart Poettering State of Linux Audio in 2009 Audio API Guide http://0pointer.de/blog/projects/guide-to-sound-apis Lennart Poettering State of Linux Audio in 2009 We also make use of high-resolution timers on the desktop by default. We now use realtime scheduling on the desktop by default. Lennart Poettering State of Linux Audio in 2009 We now use realtime scheduling on the desktop by default. We also make use of high-resolution timers on the desktop by default. Lennart Poettering State of Linux Audio in 2009 2s Buffers Lennart Poettering State of Linux Audio in 2009 Mixer abstraction? Due to user-friendliness, i18n, meta data (icons, ...) We moved a couple of things into the audio server: Timer-based audio scheduling; mixing; flat volume/volume range and granularity extension; integration of volume sliders; mixer abstraction; monitoring Lennart Poettering State of Linux Audio in 2009 We moved a couple of things into the audio server: Timer-based audio scheduling; mixing; flat volume/volume range and granularity extension; integration of volume sliders; mixer abstraction; monitoring Mixer abstraction? Due to user-friendliness, i18n, meta data (icons, ...) Lennart Poettering State of Linux Audio in 2009 udev integration: meta data, by-path/by-id/..
    [Show full text]
  • Important Notice Regarding Software
    Important Notice Regarding Software The software package installed in this product includes software licensed to Onkyo & Pioneer Corporation (hereinafter, called “O&P Corporation”) directly or indirectly by third party developers. Please be sure to read this notice regarding such software. Notice Regarding GNU GPL/LGPL-applicable Software This product includes the following software that is covered by GNU General Public License (hereinafter, called "GPL") or by GNU Lesser General Public License (hereinafter, called "LGPL"). O&P Corporation notifies you that, according to the attached GPL/LGPL, you have right to obtain, modify, and redistribute software source code for the listed software. ソフトウェアに関する重要なお知らせ 本製品に搭載されるソフトウェアには、オンキヨー & パイオニア株式会社(以下「弊社」とします)が 第三者より直接的に又は間接的に使用の許諾を受けたソフトウェアが含まれております。これらのソフト ウェアに関する本お知らせを必ずご一読くださいますようお願い申し上げます。 GNU GPL / LGPL 適用ソフトウェアに関するお知らせ 本製品には、以下の GNU General Public License(以下「GPL」とします)または GNU Lesser General Public License(以下「LGPL」とします)の適用を受けるソフトウェアが含まれております。 お客様は添付の GPL/LGPL に従いこれらのソフトウェアソースコードの入手、改変、再配布の権利があ ることをお知らせいたします。 Package List パッケージリスト alsa-conf-base glibc-gconv alsa-conf glibc-gconv-utf-16 alsa-lib glib-networking alsa-utils-alsactl gstreamer1.0-libav alsa-utils-alsamixer gstreamer1.0-plugins-bad-aiff alsa-utils-amixer gstreamer1.0-plugins-bad-bluez alsa-utils-aplay gstreamer1.0-plugins-bad-faac avahi-autoipd gstreamer1.0-plugins-bad-mms base-files gstreamer1.0-plugins-bad-mpegtsdemux base-passwd gstreamer1.0-plugins-bad-mpg123 bluez5 gstreamer1.0-plugins-bad-opus busybox gstreamer1.0-plugins-bad-rawparse
    [Show full text]
  • Developer Conference 2012 Schedule
    Developer Conference 2012 Schedule Friday D1 D2 D3 Vlastimil Eliáš Jakub Hrozek, Jan Zeleny František Řezníček Centralized Identity Management 9:00 - 9:45 FreeIPA/SSSD + Intro to MIT Kerberos [Security] Towards Unified Messaging [CoreOS] And SSO for jboss.org Community Systems [JBoss] Alexander Bokovoy, Andreas Schneider Kamil Dudka, Ondřej Vašík Christian Sadilek 9:50 - 10:35 Cross-realm Trusts in FreeIPA v3.0 [Security] Common C/C++ Error Patterns & Static Analysis [CoreOS] JBoss Errai Framework [JBoss] Eduard Beneš, Miroslav Grepl Adam Tkáč Martin Kouba 10:40 - 11:25 SELinux News in Fedora 16 [Security] DNSSEC in Fedora 17 [CoreOS] CDI for Seam2 [JBoss] Dmitri Pal Marcela Maslanova, Jindrich Novy Peter Skopek 11:30 - 12:15 Identity Management Roadmap + MIT and Kerberos [Security] Dynamic Software Collections [CoreOS] PicketBox in AS7 [JBoss] Quick break Peter Vrabec Bryn Reeves Karel Piwko 12:30 - 13:15 Security Compliance Check in Fedora [Security] Supporting the Open Source Enterprise [Misc] Arquillian Drone Helping Ike Get Rid of the Bugs [JBoss] Jan Hutar Miloslav Trmac Software Robot Competition Around the World and Our Way Pavol Pitoňák 13:20 - 14:05 Concise Overview of Security [Security] [Misc, CZ] RichFaces: Testing on Mobile Devices [JBoss] Steve Grubb Stanislav Kozina Geoffrey De Smet 14:10 - 14:55 Government Security [Security] What Can Linux Learn from the Others [Misc] What Are Drools, Guvnor and Planner? [JBoss] Lennart Poettering, Kay Sievers Phil Knirsch Pavel Tisnovsky 15:00 - 15:45 Do's and Don'ts when Writing System
    [Show full text]
  • Beyond Init: Systemd Linux Plumbers Conference 2010
    Beyond Init: systemd Linux Plumbers Conference 2010 Kay Sievers Lennart Poettering November 2010 Kay Sievers, Lennart Poettering Beyond Init: systemd Triggers: Boot, Socket, Bus, Device, Path, Timers, More Kay Sievers, Lennart Poettering Beyond Init: systemd Kay Sievers, Lennart Poettering Beyond Init: systemd Substantial coverage of basic OS boot-up tasks, including fsck, mount, quota, hwclock, readahead, tmpfiles, random-seed, console, static module loading, early syslog, plymouth, shutdown, kexec, SELinux, initrd+initrd-less boots. Status: almost made Fedora 14. Kay Sievers, Lennart Poettering Beyond Init: systemd including fsck, mount, quota, hwclock, readahead, tmpfiles, random-seed, console, static module loading, early syslog, plymouth, shutdown, kexec, SELinux, initrd+initrd-less boots. Status: almost made Fedora 14. Substantial coverage of basic OS boot-up tasks, Kay Sievers, Lennart Poettering Beyond Init: systemd mount, quota, hwclock, readahead, tmpfiles, random-seed, console, static module loading, early syslog, plymouth, shutdown, kexec, SELinux, initrd+initrd-less boots. Status: almost made Fedora 14. Substantial coverage of basic OS boot-up tasks, including fsck, Kay Sievers, Lennart Poettering Beyond Init: systemd quota, hwclock, readahead, tmpfiles, random-seed, console, static module loading, early syslog, plymouth, shutdown, kexec, SELinux, initrd+initrd-less boots. Status: almost made Fedora 14. Substantial coverage of basic OS boot-up tasks, including fsck, mount, Kay Sievers, Lennart Poettering Beyond Init: systemd hwclock, readahead, tmpfiles, random-seed, console, static module loading, early syslog, plymouth, shutdown, kexec, SELinux, initrd+initrd-less boots. Status: almost made Fedora 14. Substantial coverage of basic OS boot-up tasks, including fsck, mount, quota, Kay Sievers, Lennart Poettering Beyond Init: systemd readahead, tmpfiles, random-seed, console, static module loading, early syslog, plymouth, shutdown, kexec, SELinux, initrd+initrd-less boots.
    [Show full text]
  • Konferenzprogramm - Tag 2 - Freitag, 09.05.2014 Time Stage 12 Stage C Stage D Stage E 09:30 Nils Magnus (Linuxtag E
    Konferenzprogramm - Tag 2 - Freitag, 09.05.2014 Time Stage 12 Stage C Stage D Stage E 09:30 Nils Magnus (LinuxTag e. V.) und Heinrich Seeger (droidcon): Eröffnung Freitag l 4 n e i 10:00 1 g n 0 r g 2 e Martin Gerhard Loschwitz Thomas Schöbel-Theuer (1&1 o K L y 10:15 a (hastexo Professional Services Internet AG): MARS Light: d D n GmbH): An Introduction to Replicating Block Devices over a 10:30 H C g OpenStack Long Distances A n i D c a k r c T a t S 10:45 n e p Fabio M. Di Nitto (Red Hat, Inc.): Alasdair G. Kergon (Red Hat): 11:00 O Highly Available OpenStack done Thin Provisioning and Caching on 11:15 right SSDs using LVM and Device- mapper 11:30 12:00 Keynote in Stage 11: Greg Kroah-Hartman (Linux Foundation): The Linux kernel, how it is developed, and how we stay sane doing it 13:00 Mittagspause in Buffetform in den Ausstellungshallen 4 und 6 (für alle Besucher des LinuxTag im Ticket inbegriffen). l 4 n e i 14:00 1 g n 0 r g 2 e Giuseppe de Candia (Midokura) Thorsten Leemhuis (Heise : o K L y 14:15 a How Linux kernel enables overlay Zeitschriften Verlag GmbH & Co. d D n networks for virtualized KG -- Redaktion c't): What's up in a H C environments g Kernel land A n i D c a k r c T 14:30 a t S Yves Fauser (VMware): Software- 14:45 n e Defined Networking for OpenStack p Lennart Poettering (Red Hat, Inc.) O using Open Source Plugins and VMware NSX und Kay Sievers (Red Hat): The anatomy of kdbus 15:00 Tim Bell (CERN): Expanding the 15:15 universe without a Big Bang 15:30 Kaffeepause in den Ausstellungshallen 4 und 6 (für alle Besucher des LinuxTag im Ticket inbegriffen).
    [Show full text]
  • Beyond Init: Systemd Linux.Conf.Au 2011
    Beyond Init: systemd linux.conf.au 2011 Lennart Poettering January 2011 Lennart Poettering Beyond Init: systemd compatible with SysV and LSB init scripts. systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using Linux cgroups, supports snapshotting and restoring of the system state, maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit." \systemd is a system and session manager for Linux, Lennart Poettering Beyond Init: systemd systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using Linux cgroups, supports snapshotting and restoring of the system state, maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit." \systemd is a system and session manager for Linux, compatible with SysV and LSB init scripts. Lennart Poettering Beyond Init: systemd uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using Linux cgroups, supports snapshotting and restoring of the system state, maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit." \systemd is a system and session manager for Linux, compatible with SysV and LSB init scripts. systemd provides aggressive parallelization capabilities, Lennart Poettering Beyond Init: systemd offers on-demand starting of daemons, keeps track of processes using Linux cgroups, supports snapshotting and restoring of the system state, maintains mount and automount points and implements an elaborate transactional dependency-based service control logic.
    [Show full text]
  • Kernel Korner Udev--Persistent Device Naming in User Space
    http://0-delivery.acm.org.innopac.lib.ryerson.ca/10.1145/1000000/99325... Kernel Korner udev--Persistent Device Naming in User Space Whether you're plugging a camera and scanner in to your laptop or adding another SCSI drive to your company server, it's time to end the current mess of major and minor numbers. by Greg Kroah-Hartman Starting with the 2.5 kernel, all physical and virtual devices in a system are visible to user space in a hierarchal fashion through sysfs. /sbin/hotplug provides a notification to user space when any device is added or removed from the system. Using these two features, a user-space implementation of a dynamic /dev now is possible that can provide a flexible device naming policy. This article discusses udev, a program that replaces the functionality of devfs. It provides /dev entries for devices in the system at any moment in time. It also provides features previously unavailable through devfs alone, such as persistent naming for devices when they move around the device tree, a flexible device naming scheme, notification of external systems of device changes and moving all naming policy out of the kernel. The /dev directory on a Linux machine is where all of the device files for the system should be located. A device file details how a user program can access a specific hardware device or function. For example, the device file /dev/hda traditionally is used to represent the first IDE drive in the system. The name hda corresponds to both a major and a minor number, which are used by the kernel to determine what hardware device to talk to.
    [Show full text]
  • The Pulseaudio Sound Server Linux.Conf.Au 2007
    Introduction What is PulseAudio? Usage Internals Recipes Outlook The PulseAudio Sound Server linux.conf.au 2007 Lennart Poettering [email protected] Universit¨atHamburg, Department Informatik University of Hamburg, Department of Informatics Hamburg, Germany January 17th, 2007 Lennart Poettering The PulseAudio Sound Server 2 What is PulseAudio? 3 Usage 4 Internals 5 Recipes 6 Outlook Introduction What is PulseAudio? Usage Internals Recipes Outlook Contents 1 Introduction Lennart Poettering The PulseAudio Sound Server 3 Usage 4 Internals 5 Recipes 6 Outlook Introduction What is PulseAudio? Usage Internals Recipes Outlook Contents 1 Introduction 2 What is PulseAudio? Lennart Poettering The PulseAudio Sound Server 4 Internals 5 Recipes 6 Outlook Introduction What is PulseAudio? Usage Internals Recipes Outlook Contents 1 Introduction 2 What is PulseAudio? 3 Usage Lennart Poettering The PulseAudio Sound Server 5 Recipes 6 Outlook Introduction What is PulseAudio? Usage Internals Recipes Outlook Contents 1 Introduction 2 What is PulseAudio? 3 Usage 4 Internals Lennart Poettering The PulseAudio Sound Server 6 Outlook Introduction What is PulseAudio? Usage Internals Recipes Outlook Contents 1 Introduction 2 What is PulseAudio? 3 Usage 4 Internals 5 Recipes Lennart Poettering The PulseAudio Sound Server Introduction What is PulseAudio? Usage Internals Recipes Outlook Contents 1 Introduction 2 What is PulseAudio? 3 Usage 4 Internals 5 Recipes 6 Outlook Lennart Poettering The PulseAudio Sound Server Introduction What is PulseAudio? Usage Internals Recipes Outlook Who Am I? Student (Computer Science) from Hamburg, Germany Core Developer of PulseAudio, Avahi and a few other Free Software projects http://0pointer.de/lennart/ [email protected] IRC: mezcalero Lennart Poettering The PulseAudio Sound Server Introduction What is PulseAudio? Usage Internals Recipes Outlook Introduction Lennart Poettering The PulseAudio Sound Server It’s a mess! There are just too many widely adopted but competing and incompatible sound systems.
    [Show full text]
  • !!Part Deux!! Shared Logging with the Linux Kernel
    Shared Logging with the Linux Kernel !!Part Deux!! Sean Hudson Embedded Linux Architect mentor.com/embedded Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. Qt is a registered trade mark of Digia Plc and/or its subsidiaries. All other trademarks mentioned in this document are trademarks of their respective owners. Who am I? I am an embedded Linux architect and Member of Technical Staff at Mentor Graphics. I have worked on embedded devices since 1996. I started working with Linux as a hobbyist in 1999 and professionally with embedded Linux in 2006. In OSS, I have been involved with the Yocto Project since it's public announcement in 2010, have served on the YP Advisory Board for two different companies, and am currently a member of the OpenEmbedded Board. 2 www.mentor.com/embedded Why “Part Deux”? To provide an update to my talk at ELCE 2015 in Dublin — Slides for previous presentation here: – http://elinux.org/images/2/2b/2015-10-05_-_ELCE_- _Shared_Logging.pdf — Video of previous presentation here: – https://www.youtube.com/watch?v=E4h1Of8zyVg Because I get to make a silly cultural reference 3 www.mentor.com/embedded Outline What and why of shared logging? Hey! Haven’t I seen this before? Kernel logging structures, then and now Design and Implementation Q&A / Discussion 5 www.mentor.com/embedded What is shared logging? Simply put, both the bootloader and the kernel can: — read and write log entries for themselves normally and — read log entries from the other — read multiple boot cycles The bootloader can also: — Dynamically specify a shared memory location to use for logging In order for the bootloader to read kernel entries and to allow multiple boot cycles, log entries must persist past reboots.
    [Show full text]
  • Tuning Systemd for Embedded
    Tuning systemd for Embedded Alison Chaiken [email protected] Mar. 23, 2015 Latest version: http://she-devel.com/ELC_systemd.pdf Auxiliary files: http://she-devel.com/ELC_auxiliary.tar.bz2 Text in blue is hyperlinked. ? ? ? ? Quiz: what is the most widely used Linux init system? ? ? ? ? phenomenom.” -- Gary Hamel “ Show Action Linux itself.” -- is Linux GKH, Linux “ Valley Silicon Gates,-- Bill industry.” the technology in position “ Success self-correcting Success is a hurt Thethatever thing can only has a guaranteed No one Linux needs to keepinnovating Pirates Pirates of Licensed under CC BY-SA 3.0 http://commons.wikimedia.org/wiki/File:Fire-lite-bg- 10.jpg#mediaviewer/File:Fire-lite-bg-10.jpg Philosophy of systemd Extract duplicate functionality from daemons and move it to systemd core or kernel. Replace /etc scripts with declarative config files. Expose newer kernel APIs to userspace via a simple interface. systemd is: ● modular; ● asynchronous and concurrent; ● described by declarative sets of properties; ● bundled with analysis tools and tests; ● features a fully language-agnostic API. One daemon to rule them all xinetd: a daemon to lazily launch internet services when activity is detected on an AF_INET socket systemd: a daemon to lazily launch any system service when activity is detected on an AF_UNIX socket (oversimplification) Complexity arising from many similar small units init.d scripts systemd units ● Unit's action and parameters: ExecStart= ● Dependencies: Before=, After=, Requires=, Conflicts= and Wants=. ● Default dependencies: – Requires= and After= on basic.target; – Conflicts= and Before= on shutdown.target. ● Types of unit files: service, socket, device, mount, scope, slice, automount, swap, target, path, timer, snapshot sysVinit runlevels ≈ systemd targets ● Targets are synchronization points.
    [Show full text]
  • Resource Management with Systemd Linuxcon North America 2013
    Resource Management with systemd LinuxCon North America 2013 Lennart Poettering September 2013 Lennart Poettering Resource Management with systemd Resource Management? Lennart Poettering Resource Management with systemd On embedded: limited resources, lots of things to run On servers: a lot of resources, maximization of density Underlying technology for systemd: Linux kernel control groups Distributing available CPU, IO, and memory resources between services/applications Lennart Poettering Resource Management with systemd On servers: a lot of resources, maximization of density Underlying technology for systemd: Linux kernel control groups Distributing available CPU, IO, and memory resources between services/applications On embedded: limited resources, lots of things to run Lennart Poettering Resource Management with systemd Underlying technology for systemd: Linux kernel control groups Distributing available CPU, IO, and memory resources between services/applications On embedded: limited resources, lots of things to run On servers: a lot of resources, maximization of density Lennart Poettering Resource Management with systemd Distributing available CPU, IO, and memory resources between services/applications On embedded: limited resources, lots of things to run On servers: a lot of resources, maximization of density Underlying technology for systemd: Linux kernel control groups Lennart Poettering Resource Management with systemd First used by systemd merely for grouping processes Original purpose from the kernel side though: resource management
    [Show full text]