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!!!!!
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 kernel command line attached.
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 a self-hosting Fedora Base is to reduce the number of packages to do such a rebuild.
$ getconf _NPROCESSORS_ONLN
returns the number of CPUs online.
This article shows how to reduce boot time for Fedora 17, but the recipe can also be applied to 18, 19 and 20.
The target is to get a fast booting system with NetworkManager running and gdm displaying the login screen as fast as possible.