Reducing Boot Time On a General Linux Distro
Linzer writes "In this blog entry, Fred Crozat (head of Mandriva's engineering team in France) explains in great detail how his team has been detecting and getting rid of bottlenecks in the boot process, from the early stages to loading the desktop environment, thus decreasing overall boot time. An informative tour of the nuts and bolts of the boot process and how they can be tinkered with: initrd, initscripts, udev, modprobe calls. The basic tool they use for performance analysis is bootchart, which produces a map of process information and resource utilization during boot. The final trick: preloading desktop environment files while waiting for the user to type her password."
Yes! We will call it... Upstart! Oh wait.
Sam ty sig.
As Fred's post mentions, Mandriva has been using a parallel init system (called prcsys) since January 2006. It's entirely SysV compatible and requires only that the SysV init scripts have dependency information (in fd.o standardized format) in the headers. It transparently handles init scripts with no dependency information (they're started serially, after everything else) and can be disabled with a single kernel parameter, 'nopinit'. It pre-dates upstart, which only showed up in late 2006.
OSX's launchd does a fantastic job at this. My Macbook boots in no time. Plus it keeps on working while I'm in the desktop environment, so if I need a service I can just start using it and it's launched automatically. A good example is the ssh-agent. It just works.
The usb implementation is buggy. They threw in enough fixes till it roughly worked on Windows and then it was considered good enough to ship. That's why it doesn't work on Linux. I'm just wondering how you don't know this already. Surely you've heard of this happening before?
Igor Presnyakov stole my hat