Chicken and Egg For a long time we tried to solve the early boot IPC problem. IPC problem you ask? Well, in the early boot phase we cannot talk D-BUS, because the daemon is not running yet, but to bring up the system, so that the D-BUS daemon can run […]

Rust Echo Server

On modern CPUs, rust seems to perform very nicely with the thread context switches, at least when benchmarking an echo server. For that I also wrote an echo server benchmark client. The of the server also contains some benchmark numbers.

dracut and CVE-2016-4484: Cryptsetup Initrd root Shell

People who want to secure their Fedora/RHEL system have to: add a BIOS password add a grub password add “” to the kernel command line Anaconda does add “” to the kernel command line automatically, if you setup the bootloader with a password.

GPG, Smartcard and ssh

This blog posts shows how to tweak Fedora, if you want to use a smartcard with OpenPGP and use it also as a ssh key. It also serves me as a recipe for fresh installations.

A Python Transaction Class

This is a repost of a blog post of 2008. Just for the reference 🙂 This class allows sub-classes to commit changes to an instance to a history, and rollback to previous states. The final class with an extension for __setstate__ and __getstate__ can be found here: and […]

libtool: getting rid of 180,000 sed forks

When compiling systemd on rawhide, we noticed a significant slowdown in compile time. Investigating further, it turns out, that libtool forks an incredible amount of sed. Running perf showed 30% of the “make all” was spent in bash. strace showed an execve of sed with the same arguments 180,000 times!!!!! […]

Single UEFI executable for kernel+initrd+cmdline

Lately Kay Sievers and David Herrmann created a UEFI loader stub, which starts a linux kernel with an initrd and a kernel command line, which are COFF sections of the executable. This enables us to create single UEFI executable with a standard distribution kernel, a custom initrd and our own […]

Self Hosting Fedora Base

If you want to bootstrap a distribution or want to rebuild it from the sources (SRPMS) to get the same binaries (think CentOS), you have to build the build tools and rebuild them with the built build tools, which have to be built with other build tools… My goal for […]

Linux: HOWTO get the number of CPUs

$ getconf _NPROCESSORS_ONLN returns the number of CPUs online Internally it is parsing /sys/devices/system/cpu/online, which can have the contents: 0-3,5,7-9. Better let getconf do all the counting for you. This is very useful, if you want to optimize the number of threads.