LWN.net Logo

LPC: Booting and systemd

By Jonathan Corbet
September 14, 2011
At the 2011 Linux Plumbers Conference, it was not entirely unusual to hear complaints that the sessions were not as energetic and discussion-oriented as they were in previous LPCs. Chances are good that anybody talking that way did not attend the "Boot and Init" session, which was an occasion for vigorous - if good-natured - debate. This article will cover two of the topics discussed there: booting the system and the init process.

Reworking the boot sequence

According to Harald Hoyer, Linux does not lack for available boot loaders; indeed, we have far too many of them. These boot loaders are becoming more complex in unwelcome ways. GRUB and GRUB2, for example, contain reimplementations of a number of filesystems used in Linux. GRUB developers work hard to keep up, but they often find themselves one step behind what is being done in the kernel. GRUB2 has made things worse by turning its configuration file into a general-purpose scripting language; that adds a bunch of complexity to the bootstrap process. We also see battles between distributions (and non-Linux operating systems) over who controls the master boot record (MBR) on the disk.

Harald had a proposal for improving the situation: rather than add complexity to boot loaders in an attempt to keep up with the kernel, why not just boot a simple generic Linux kernel and let it deal with the rest? His idea is to create a /firstboot directory with a simple filesystem and populate it with a single Linux kernel and an initramfs image whose sole purpose is to find the real kernel and boot that. This kernel will naturally understand Linux filesystems, and it will support a user space with enough power to run whatever scripts are needed to find other bootable images on the system. Meanwhile, the initial boot loader can be made to be as simple as possible and distributions can stop messing with the MBR.

The idea has some clear appeal, but it was not universally accepted by the others in the room. To many, it looks like trying to solve the boot problem by adding an extra level of indirection. In the process, it adds another kernel bootstrap which, in turn, will make the boot process longer and, arguably, more likely to fail. It is safe to say that no consensus was reached in the room; the work will presumably continue and will be judged on its merits when it is more advanced.

Systemd

The bulk of the time in this session was spent discussing Systemd. Lennart Poettering talked at length about what has been accomplished in the last year and where Systemd can be expected to go in the future. Suffice to say that, as always, he does not lack ambition or a willingness to stir things up.

In the last year, Lennart said, we have seen the first release of a distribution using Systemd by default - Fedora 15. Mandriva has recently released a Systemd-based version, and others (including openSUSE and "a couple of others") are in the works. He seemed well pleased with the adoption of Systemd so far.

Systemd is now able to boot a system without invoking any shells at all. Under "ideal circumstances" it can get to a running user space less than one second after startup. Not everybody gets to run under ideal circumstances; the goal for the rest of us is less than ten seconds. There are some significant challenges in the way of getting there, though; for example, just loading the SELinux policy can take a few seconds by itself. Starting up the logical volume manager (LVM) can also take a while; Lennart proposes to fix that one by just removing LVM and using the volume management features in Btrfs instead.

Lennart paused here to make the point that Systemd is now a capable init system. But that's not where it stops; the plan is for Systemd to be a platform on which a number of interesting things can be built.

There was a bit of discussion over moving functionality into Systemd. For example, not everybody is happy with moving the setting of the host name into the program. Lennart's position is that this task is done with a single system call; invoking a separate binary for that just isn't worthwhile. Others disagreed with this assessment. There was similar disagreement over setting the system clock directly instead of using hwclock; once again Lennart thinks it is too simple a task to require a separate program, especially one as filled with legacy cruft as [Lennart Poettering] hwclock is. Scott James Remnant asserted that said cruft is what makes hwclock actually work for all systems and asked whether Lennart planned to refuse to support older machines. Lennart's response was that older hardware is fine; what he is not supporting is older kernels that lack proper realtime clock drivers.

In general, though, he said that, while Systemd is trying to simplify common initialization tasks and make them fast, there is nothing preventing people from using external programs like hwclock if that is what they want to do. Systemd carefully avoids taking away the ability to use older tools if that's what's needed. When those tools are not necessary, though, Systemd aims to be able to completely boot a system with only a very small number of other packages (such as glibc, d-bus, and util-linux) installed. In the process, he hopes to standardize the boot process across distributions, getting rid of lots of little differences that do not need to be there.

A moment was spent defending Systemd against the charge of being bloated. It is not bigger than it needs to be, Lennart said, and embedded developers can use configuration options to trim it down considerably if there is functionality that they do not want. Systemd is being picked up by embedded distributions like Yocto and Ångström.

There are a number of interesting changes coming into Systemd in the near future. One of those is the elimination of getty processes at startup time. Instead, Systemd will start a getty on demand if and when the user switches to a virtual console. The user experience will be the same, but there will be fewer processes cluttering the system.

All services started by Systemd will have their standard output and error streams connected to syslog by default. That makes it easier to write services; it even supports the severity notation used by printk() in the kernel. The downside is that verbose processes can clog the system log, but, Lennart said, that should be fixed by shutting those processes up.

"Presets" are another upcoming feature. Each distribution has its own policy regarding whether services should be started by default and where the exceptions are. Fedora, for example, requires explicit administrator action to start any service, while Debian tends to assume that, if a service is installed, it is meant to be run. The preset feature allows the distributor to encapsulate that policy in a single file outside of the packages for those services. Spins or derivative distributions can use it to create a different policy without needing to modify the packages themselves, and administrators can impose their own policy if they wish.

Further in the future is the idea of using systemd to manage sessions. The problems encountered at that level, he said, are quite similar to those encountered at initialization time. It's really just a matter of starting a set of programs and keeping track of them. He had hoped to have session management ready for Fedora 16, but that didn't happen, so the current target is Fedora 17.

As part of this work, Lennart would really like the kernel to present a single view of an "application," which can involve any number of processes. For example, it would be nice to give specific applications access to certain ports through the firewall. Control groups handle this task reasonably well, so that is what Systemd is using. He is also trying to create a unified view of a "session" encompassing its control group, desktop, login information, PAM credentials, etc.

Specific goals for Fedora 17 include finishing this user session work. There should also be multi-seat support. Imagine plugging in a USB hub with keyboard, mouse, audio port, and frame buffer device; Systemd will pick it up, start a GDM session, and all of it will just work with no configuration work required at all. This feature will be nice for settings like schools where one system can easily handle multiple users; he also noted that it can be highly useful for debugging embedded systems. Once upon a time, all Unix systems were multi-seat; he is, he said, just bringing back a feature that was in Unix at the very beginning. One side effect of this work will be the removal of ConsoleKit.

There was some talk of removing the cron daemon, but that seems unlikely to happen. What may happen instead is a movement of all the standard system cron jobs to Systemd with the result that cron becomes an optional utility. There was some interesting talk of using wakeup timers to set up jobs that can actually power up the system to run. But cron itself is a useful tool with a nice-enough interface; there doesn't seem to be any real reason to replace it. But it will probably only be started if actual configuration files are found.

Finally, there was a bit of talk about Systemd's socket activation mechanism and security. Evidently "the SELinux folks" (not named in the discussion) do not like this feature because Systemd represents a third, uncontrolled process in the connection between client and server. But Lennart pointed out that Systemd never reads data from sockets; it simply uses them in the activation process. And, in any case, Systemd is charged with loading the SELinux policy in the first place; if it cannot be trusted, the system has larger problems.

The overall picture was of a project that is on a roll, gaining features and users at a fast rate. The Systemd view of the world has not yet won over everybody, but the opposition seems to be fading. Systemd looks like the init system of the future (and more) for a lot of high-profile distributions.


(Log in to post comments)

LPC: Booting and systemd

Posted Sep 15, 2011 2:11 UTC (Thu) by smoogen (subscriber, #97) [Link]

> There are a number of interesting changes coming into Systemd in
> the near future. One of those is the elimination of getty processes
> at startup time. Instead, Systemd will start a getty on demand if and
> when the user switches to a virtual console. The user experience will
> be the same, but there will be fewer processes cluttering the system.

One hopes that we do not need a getty to debug a systemd problem of starting getty's :).

LPC: Booting and systemd

Posted Sep 15, 2011 2:33 UTC (Thu) by PhracturedBlue (subscriber, #4193) [Link]

How are the debugging capabilities in systemd? As an Ubuntu user, I've found that debugging upstart (well upstart + plymouth + init) is incredibly painful. In my case it has had to do mostly with getting filesystems mounted at boot, but it was nearly enough for me to throw up my hands and give up on Ubuntu altogether. My initial impression was that I liked the concepts of upstart better than systemd, but honestly all I really care for in my init system is that it gets my system up and running quickly and is easy to debug, and so far Ubuntu has failed with at this for me.

LPC: Booting and systemd

Posted Sep 15, 2011 3:36 UTC (Thu) by rahulsundaram (subscriber, #21946) [Link]

LPC: Booting and systemd

Posted Sep 15, 2011 4:04 UTC (Thu) by mezcalero (guest, #45103) [Link]

tty1 is always run, only tty2 and beyond do getty auto spawning in order ot guarantee the best debugability.

LPC: Booting and systemd

Posted Sep 15, 2011 11:05 UTC (Thu) by cesarb (subscriber, #6266) [Link]

> tty1 is always run

I thought tty1 was the one which usually did not run because X was there?

LPC: Booting and systemd

Posted Sep 15, 2011 15:09 UTC (Thu) by rfunk (subscriber, #4054) [Link]

In my experience X is normally on 7 or 8. But then I've been using Ubuntu (and before that Debian) for quite a while now, so I'm not sure how the others do it these days.

LPC: Booting and systemd

Posted Sep 16, 2011 13:15 UTC (Fri) by jond (subscriber, #37669) [Link]

F15 puts X on 1.

LPC: Booting and systemd

Posted Sep 15, 2011 2:17 UTC (Thu) by busterb (subscriber, #560) [Link]

A primary bootstrap kernel is exactly how kboot works: http://kboot.sourceforge.net/

The PS3 bootloader petitboot used kboot to implement a graphical boot selector.

LPC: Booting and systemd

Posted Sep 15, 2011 6:55 UTC (Thu) by pabs (subscriber, #43278) [Link]

Another similar project is qi-bootmenu for devices like the OpenMoko FreeRunner (gta02), which consists of the Qi bootloader, Linux and an initramfs to provide a GUI for choosing which OS to boot.

http://www.brain-dump.org/projects/qi-bootmenu/

LPC: Booting and systemd

Posted Sep 15, 2011 12:25 UTC (Thu) by alankila (subscriber, #47141) [Link]

Maybe we should just go back to LILO. Why boot an intermediate kernel with some added complexity if you can just boot the real one, instead.

LPC: Booting and systemd

Posted Sep 15, 2011 13:20 UTC (Thu) by dan_a (subscriber, #5325) [Link]

> Maybe we should just go back to LILO. Why boot an intermediate kernel with some added complexity if you can just boot the real one, instead.

I quite enjoy doing kernel upgrades with GRUB. If you've never seen a system with a blank screen except for "LI" then you've not been using Linux very long!

LPC: Booting and systemd

Posted Sep 15, 2011 15:02 UTC (Thu) by epa (subscriber, #39769) [Link]

Even GRUB isn't as friendly as it could be; I have often longed for a simple file browser with 'cd' and 'ls' commands to find the kernel and initrd to boot. Part of what makes it awkward is LVM, which isn't very discoverable (there's no command to 'list available LVM devices and ask me which ones to mount', least of all from the GRUB command line), so it will be great when LVM goes away.

A simple command interpreter built into the kernel would also be a great help, e.g. when it can't find the root filesystem or /sbin/init.

LPC: Booting and systemd

Posted Sep 15, 2011 15:12 UTC (Thu) by rfunk (subscriber, #4054) [Link]

GRUB does have a limited command line allowing some level of file browsing, as I recall.

LPC: Booting and systemd

Posted Sep 16, 2011 14:38 UTC (Fri) by Cato (subscriber, #7643) [Link]

GRUB2 does support LVM, but I prefer to always use a non-LVM /boot partition. In fact, if everyone used boring filesystems such as ext3 for /boot, there would be no need for exotic filesystems in GRUB at all. Since /boot is small, slow changing and rarely needs resizing, I can't see the point of anything beyond ext3.

LPC: Booting and systemd

Posted Sep 19, 2011 9:33 UTC (Mon) by epa (subscriber, #39769) [Link]

The difficulty is in having a separate /boot at all. You must allocate a fixed amount of space which is either too little or too much. With a 500 gigabyte disk it doesn't matter but on a netbook with a four gigabyte SSD it is painful to lose 10% of it to /boot.

Earlier Fedora releases gave about a hundred megs to /boot but then cannot be upgraded to the latest Fedora version, since the upgrade process needs to put a disk image in there too. (There is a way to download the disk image over the network but for me it always hangs.)

LPC: Booting and systemd

Posted Sep 20, 2011 9:56 UTC (Tue) by Cato (subscriber, #7643) [Link]

If your only disk is a 4GB SSD on a notebook, don't use a separate /boot - just use ext3. You probably won't need LVM either.

LPC: Booting and systemd

Posted Sep 20, 2011 16:06 UTC (Tue) by mathstuf (subscriber, #69389) [Link]

When I had my 4GB SSD netbook, I did something like a 70MB ext2 /boot, 2GB /, 512MB of swap, and the rest for /home. If everything were /, I would have to format anyways for an upgrade (not enough space for the RPMs to upgrade with[1]). I also remember doing lvresize and other fun things to go from a 2GB /home to a 2GB / instead. Haven't used LVM since.

[1]I actually did do a yum upgrade (from F10 to F11 IIRC) on the machine. The RPMs fit, but not with the upgrade going. I ended up having to SIGSTOP yum, delete cached RPMs that had finished installing for disk space, and the SIGCONT yum again. Not something I plan on doing again. Especially during class.

LPC: Booting and systemd

Posted Sep 15, 2011 18:06 UTC (Thu) by dlang (✭ supporter ✭, #313) [Link]

I much prefer fixing and troubleshooting lilo boot problems compared to grub boot problems

yes, it's easier to trigger lilo problems, but when grub doesn't just 'do the right thing', figuring out how to fix it seems to be much harder.

LPC: Booting and systemd

Posted Sep 16, 2011 17:19 UTC (Fri) by jmorris42 (subscriber, #2203) [Link]

> If you've never seen a system with a blank screen except for
> "LI" then you've not been using Linux very long!

Well what is old is now new again. GRUB2 requires running an installer after any change, such as installing a newly built kernel. Forget that step and kaboom! Well you get the old config with no mention of the newly installed kernel if you weren't so unwise as to get rid of the current running kernel before rebooting but we still went backward with GRUB2.

LPC: Booting and systemd

Posted Sep 16, 2011 17:34 UTC (Fri) by jrn (subscriber, #64214) [Link]

> GRUB2 requires running an installer after any change, such as installing a newly built kernel. Forget that step and kaboom!

Forget that step and you have to type the name of the kernel by hand, you mean, right?

LPC: Booting and systemd

Posted Sep 22, 2011 22:29 UTC (Thu) by Wol (guest, #4433) [Link]

Does Grub2 do USB?

Many mobos do not do proper USB->PS2 emulation (some don't do it at all) so if all you have is a usb keyboard, you're stuffed. You can't tell grub which option you want so you get the choice of default, default or default. Tough luck if your upgrade broke but you made that the default in order to test it ...

For example, my mobo is broken some of the time - kernel upgrades are a pain because I never know whether my keyboard is going to work with grub or not :-(

Cheers,
Wol

LPC: Booting and systemd

Posted Sep 17, 2011 0:20 UTC (Sat) by giraffedata (subscriber, #1954) [Link]

Maybe we should just go back to LILO. Why boot an intermediate kernel with some added complexity if you can just boot the real one, instead.

Because you'd like to have a choice at boot time of kernels and kernel parameters. Hence the intermediate program, be it LILO, GRUB, or Linux.

If you really don't want that boot-time choice, then you should step back beyond LILO to the system that simply loads the first N blocks from the disk and branches to it. That can be your Linux boot image, with built-in parameters.

Even LILO is dependent on Linux filesystem design more than is desirable. It assumes a file is simply the content of a sequence of blocks, and that that sequence is static. A modern filesystem should not be bound to that.

LPC: Booting and systemd

Posted Sep 18, 2011 17:14 UTC (Sun) by raven667 (subscriber, #5198) [Link]

I suppose EFI systems don't have a way to pass parameters to the kernel, otherwise on newer systems there would seem to be less need for a separate bootloader at all. Presuming that EFI can't pass parameters (or an initrd) that seems like a missed opportunity for the Linux community to get native booting into the standard. Sometimes it seems like linux kernel developers don't participate in the right vendor clubs to influence the design of hardware and standards and end up needing to conform after the fact.

I'm just kind of talking out of my rear end here so maybe it's not like that at all but that's the sense that I get sometimes.

I wonder if grub EFI is an EFI loadable module or a more traditional x86 bootloader, something like that could have just been specified in the standard such that EFI could natively boot Win*, Linux, *BSD, etc. on common filesystems without any further installs or intermediaries. That would probably require compromise on the design which is always hard to get.

LPC: Booting and systemd

Posted Sep 18, 2011 18:26 UTC (Sun) by giraffedata (subscriber, #1954) [Link]

But there's a reason for all the layers involved in bringing up a system. Each one has a different tradeoff of simplicity and stability versus flexibility, each one has a separate dependence on other components of the system, and so on.

One could squeeze the GRUB and EFI layers into one, but look what you'd lose: Today, if I want to start determining kernel parameters in a new way, I can just update GRUB on my boot disk. If I mess it up so the system won't boot, that's OK - I can just tell EFI to boot from my backup boot disk (maybe a rescue CD) and fix it. But if all that parameter stuff was in EFI, I would have to flash a new EFI onto the motherboard, which isn't as easy. And if I screw it up, I might have a brick.

We can argue forever on how many layers are optimal, and what should go in each one (I'm hearing more and more opinions that GRUB2 has features that would better reside at the Linux kernel layer), but it's clear that having lots of bootstrap layers can be useful.

LPC: Booting and systemd

Posted Sep 18, 2011 20:06 UTC (Sun) by raven667 (subscriber, #5198) [Link]

That seems like a perfectly reasonable trade-off. As a practical matter, how often does the kernel interface have incompatible changes such that forces the need for a new bootloader. EFI and GRUB can already just load an arbitrary boot sector if you want a layered approach but from what little experience I have with EFI (just started working with it last week) it seems nearly capable enough.

Interestingly enough, elsewhere in LWN was a report of progress in making a linux kernel image that is directly bootable from EFI.

LPC: Booting and systemd

Posted Sep 18, 2011 18:40 UTC (Sun) by mjg59 (subscriber, #23239) [Link]

Right now the kernel isn't an EFI executable, so an additional bootloader is required in order to relocate it, set up the boot parameters structure, load an initrd if necessary and then jump to the kernel's entry point. There's ongoing work to make it possible to execute the kernel directly from EFI, with the command line arguments being provided directly. That's fine for the trivial case, but we'll still require a bootloader of some description if only to provide the user with their boot choices. While the EFI spec does support providing multiple boot choices that the user can select between, there's no specification for what the UI should look like. That's less than ideal.

LPC: Booting and systemd

Posted Sep 18, 2011 20:11 UTC (Sun) by raven667 (subscriber, #5198) [Link]

That's something that goes back to my original point of encouraging more participation in vendor committees and whatnot by not just concerned vendors who use and fund linux but also independent groups like the Linux Foundation. EFI already seems pretty capable so getting the rest of the small number of additional features in the spec that would be needed to fully replace something like GRUB might be do-able if you can talk to the right people.

LPC: Booting and systemd

Posted Sep 18, 2011 20:15 UTC (Sun) by mjg59 (subscriber, #23239) [Link]

The spec isn't intended to provide UI, since that's something that's intended to integrate with the platform vendor's design. You could imagine some vendors being happy with a text-based menu with various boot options, but it doesn't seem plausible that, say, Sony would go for that over some sort of graphical UI.

In any case, EFI doesn't require that the firmware be able to read arbitrary filesystems. If you want to boot a kernel off LVM or btrfs or even ext2, you need a bootloader sitting in the EFI system partition.

LPC: Booting and systemd

Posted Sep 18, 2011 20:36 UTC (Sun) by raven667 (subscriber, #5198) [Link]

At the risk of backseat designing, it seems that all that is really necessary is the ability to provide a list of labels and not specify how they are displayed. One would think that by default it would just load whatever is set to be the default with minimal prompting unless a key is hit. This is similar to how GRUB is usually set up and how I think Mac's work right now.

While it may be do-able to load modules for common filesystem types, as GRUB already does, so you can load kernels off them it seems more productive to be able to EFI boot the kernel directly and have the current and previous kernel images live on the EFI system partition. Basically make the EFI system partition replace the /boot directory.

LPC: Booting and systemd

Posted Sep 18, 2011 21:39 UTC (Sun) by mjg59 (subscriber, #23239) [Link]

There's no problem in configuring EFI to boot a kernel. The problem is in the UI that the firmware will expose to let you choose which kernel to boot or which boot arguments to pass. That's entirely non-standard, requires different keypresses on different hardware, looks different depending on a variety of circumstances and may not actually exist in any UI.

LPC: Booting and systemd

Posted Sep 19, 2011 3:44 UTC (Mon) by raven667 (subscriber, #5198) [Link]

As long as it has the information and _can_ load a kernel with options and _can_ present a UI I don't think the actual UI needs to be standard. I would expect it to be branded by the hardware vendor for example. As long as there is a standard place to put kernel images and a standard way to add/remove labeled boot entries and if you can manually boot custom options using the EFI shell then I think that would solve the problem. I don't think the actual UI needs to be standardized beyond that.

LPC: Booting and systemd

Posted Sep 15, 2011 15:06 UTC (Thu) by faramir (subscriber, #2327) [Link]

There is also kexec-loader

http://www.solemnwarning.net/kexec-loader/

which will fit on a floppy and can more or less read GRUB1 config files.

LPC: Booting and systemd

Posted Sep 15, 2011 2:46 UTC (Thu) by jcm (subscriber, #18262) [Link]

Fundamental disagreements on the whole point of systemd aside, I'm very worried about the lack of documentation. LWN articles and blog posts don't substitute for decades of practice, books, and experience in the UN*X world. Assuming that isn't an issue is a sure way of being bitten in years to come.

LPC: Booting and systemd

Posted Sep 15, 2011 3:35 UTC (Thu) by rahulsundaram (subscriber, #21946) [Link]

systemd has very comprehensive documentation including man pages, dozens of blog posts covering many aspects and every distribution had its own quirks for sysvinit while systemd is standardized as much as possible. I am sure books will cover it too. What would you consider as better documentation?

LPC: Booting and systemd

Posted Sep 15, 2011 18:17 UTC (Thu) by JEFFREY (subscriber, #79095) [Link]

IMHO Blog posts don't count as documentation. They are far too transient. Documentation should not require the use of web.archive.org.

AFAIK it's not documentation, if it's not distributed with the source.

Accurate man pages, and anything that `make install` (or whatever packaging system you use) puts in /usr{,/local}/share/doc *is* documentation.

LPC: Booting and systemd

Posted Sep 16, 2011 15:26 UTC (Fri) by rahulsundaram (subscriber, #21946) [Link]

Nonsense. Blog posts *are* documentation and man pages are reference documentation. systemd has both.

LPC: Booting and systemd

Posted Sep 16, 2011 16:39 UTC (Fri) by jeremiah (subscriber, #1221) [Link]

As long as there is enough documentation to fix/diagnose problems when you're somewhere without an internet connection.

LPC: Booting and systemd

Posted Sep 15, 2011 4:03 UTC (Thu) by mezcalero (guest, #45103) [Link]

Jon, there's this old Unix command "man", that is installed on the majority Unix systems. It's pretty cool, you should try it one day. It will show you documentation pages and stuff of most components of a Unix/Linux system.

systemd has 47 of these pages. Woohoo!

LPC: Booting and systemd

Posted Sep 15, 2011 7:08 UTC (Thu) by nix (subscriber, #2304) [Link]

Oh, that's nothing. sysvinit beats systemd hollow with, uh, one manpage.

Um.

LPC: Booting and systemd

Posted Sep 15, 2011 8:50 UTC (Thu) by jengelh (subscriber, #33263) [Link]

That may work towards the claim "systemd is bloated". systemd does so much more over sysvinit, having a larger bug surface.

LPC: Booting and systemd

Posted Sep 15, 2011 22:24 UTC (Thu) by bronson (subscriber, #4806) [Link]

I highly doubt that. systemd is big but it's all in one process. No single human on this planet understands all of modern sysvinit.

LPC: Booting and systemd

Posted Sep 16, 2011 17:10 UTC (Fri) by mezcalero (guest, #45103) [Link]

systemd is not all PID 1. In fact we are very modular and ship 40 separate binaries or so.

LPC: Booting and systemd

Posted Sep 16, 2011 3:39 UTC (Fri) by AndreE (subscriber, #60148) [Link]

I like this approach.

Documentation comprehensiveness being directly related to software bloat would give me a compelling argument to give to my boss when asks me to provide thorough documentation for my code

LPC: Booting and systemd

Posted Sep 18, 2011 13:27 UTC (Sun) by nix (subscriber, #2304) [Link]

Did I need sarcasm tags? I was trying to say 'any claims that systemd has no documentation must cater for the fact that sysvinit has dramatically less'.

LPC: Booting and systemd

Posted Sep 19, 2011 21:33 UTC (Mon) by Aissen (subscriber, #59976) [Link]

Indeed, it has a lot of manpages. But since it's trying to take over a lot of software, I have the feeling it might not be enough.
Example: https://bugzilla.redhat.com/show_bug.cgi?id=677962#c4

LPC: Booting and systemd

Posted Sep 15, 2011 7:28 UTC (Thu) by maniax (subscriber, #4509) [Link]

From what I've been reading in the last year, systemd is new, shiny, and most probably a tremendous PITA for any sysadmin with more than three machines at the moment. I think I'll wait until (and IF) Debian adopts it, because if someone can fix it and work around the attitude of its main developer, it's them...

(from my experience, all people that go out saying "My ways is the best, the rest aren't worth even considering" mostly create problems, don't solve them. The best case in point is DJB)

LPC: Booting and systemd

Posted Sep 15, 2011 7:47 UTC (Thu) by liljencrantz (guest, #28458) [Link]

From what I've seen, Poettering has been highly opinionated but polite and level headed when discussing systemd. Even in the face of angry maniacs blaming him for every problem in the world and calling for his demise on mailing lists, he's remained factual and solution oriented. That is a far cry from the «I will break all your audios» raving lunatic person that I feel he was sometimes channelling in the context of pulse.

Switching a major OS component like init will always be a huge PITA for system admins, but in this case, at least the end result should be something that gives them more control and fewer head aches once the migration is complete. But yeah, holding off the migration for another year or two is prudent, systemd is still in the «rapidly gaining features» phase, which historically implies lots of minor incompatibilities on upgrade.

LPC: Booting and systemd

Posted Sep 15, 2011 7:57 UTC (Thu) by tialaramex (subscriber, #21167) [Link]

I would distinguish people like DJB from people like say, JWZ or Lennart by the fact that the latter do actually adjust "their way" in the light of revelations about the workings of the universe (or say, the Linux kernel). The response to calm explanation of why Lennart is wrong is usually either a change to how his software works to accommodate these new facts or at least documentation showing how you can adapt his software to this viewpoint (and if you're right that's what everyone will do, probably including Lennart). With DJB what you can expect is a manifesto calling for all operating systems to be re-written, cultural orders to be overturned, and black to be declared white in the service of making DJB's software work as he intended.

George Bernard Shaw said that all progress depended upon the unreasonable man, but clearly there's a line beyond which no progress will be made because too much effort is expended on tilting at windmills. I think Lennart stays the right side of the line, mostly.

The main issue for an administrator is that systemd is different, which means learning new stuff. If you are (or employ) the kind of sysadmin who spends weeks cursing every minor change in common Unix tools, filesystem layouts and so on, then I have no doubt systemd will be a problem.

DJB

Posted Sep 23, 2011 15:03 UTC (Fri) by tialaramex (subscriber, #21167) [Link]

It occurred to me today that we should at least thank Bernstein for Bernstein vs United States. Taking the US government to court is the sort of task which more or less requires one to be stubborn beyond reason, and there can be no doubt that, at least at first, this case was a factor in the relaxation of US laws controlling cryptography.

But I still don't want to run his software.

LPC: Booting and systemd

Posted Sep 15, 2011 13:54 UTC (Thu) by wfp5p (subscriber, #56918) [Link]

I expected systemd to be tremendous PITA at first. However, it's not been a hassle for me at all. At least, not as it's implemented in Fedora 15. I don't have 100s of machines running it, but I have far more than 3.

LPC: Booting and systemd

Posted Sep 15, 2011 7:58 UTC (Thu) by eru (subscriber, #2753) [Link]

His idea is to create a /firstboot directory with a simple filesystem and populate it with a single Linux kernel and an initramfs image whose sole purpose is to find the real kernel and boot that. This kernel will naturally understand Linux filesystems, and [...]

Doesn't this require a whole primary partition dedicated to the "boot loader Linux" with its simple filesystem (minix?)? GRUB at least can keep its stuff in the same partition as the Linux installation: A /boot partition is not mandatory. I often find partitions becoming a scarce resource when playing with different distributions or OS'es on the same machine.

LPC: Booting and systemd

Posted Sep 15, 2011 8:28 UTC (Thu) by Thue (subscriber, #14277) [Link]

At some point in the not-too-far future, everybody should use http://en.wikipedia.org/wiki/GUID_Partition_Table , which allows for 128 partitions. Also, the UEFI MBR should be big enough to actually put the kernel in there.

LPC: Booting and systemd

Posted Sep 15, 2011 14:24 UTC (Thu) by bcl (subscriber, #17631) [Link]

As of F16 new installs use GPT. The future is now!

UEFI boots from a vfat partition so yes, there is enough space (we already support EFI) but it isn't stored in the MBR.

LPC: Booting and systemd

Posted Sep 16, 2011 13:19 UTC (Fri) by jond (subscriber, #37669) [Link]

This sub-thread amazes me somewhat, because I thought everyone long ago moved to use LVM in nearly all situations.

LPC: Booting and systemd

Posted Sep 16, 2011 14:35 UTC (Fri) by bronson (subscriber, #4806) [Link]

Completely the opposite! After getting burned bad by that corruption bug a few years ago, and trying to untangle spaghetti PVs scattered needlessly by lazy sysadmins, I avoid LVM when I can. For most Linux installs it's needless complexity and a bad temptation.

Yes, I'll still use it for a server that needs it. But with fast SSDs and contiguous 3TB for $120, I haven't needed it for 4 or 5 years.

LPC: Booting and systemd

Posted Sep 16, 2011 14:44 UTC (Fri) by Cato (subscriber, #7643) [Link]

LVM is not an unalloyed win, to say the least, and requires some skill to set up correctly. See http://serverfault.com/questions/279571/lvm-dangers-and-c... for some issues.

LPC: Booting and systemd

Posted Sep 19, 2011 18:26 UTC (Mon) by raven667 (subscriber, #5198) [Link]

I'm not quite sure it's that bad, i've never had a server failure where LVM was a factor but I've had many times where LVM has saved my bacon with the ability to live upsize filesystems. I could see that on a desktop without battery backed write cache that LVM is probably not useful and trying to shrink live filesystems is fraught with peril but in the server use case it is very useful.

LPC: Booting and systemd

Posted Sep 16, 2011 18:25 UTC (Fri) by jwakely (subscriber, #60262) [Link]

I always disable LVM on my own systems, I don't feel as though I'm missing out.

Copyright © 2011, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds