Slashdot Log In
Reducing Boot Time On a General Linux Distro
Posted by
timothy
on Tue Sep 30, 2008 11:34 AM
from the replace-the-disembarculator dept.
from the replace-the-disembarculator dept.
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."
Related Stories
[+]
How Kernel Hackers Boosted the Speed of Desktop Linux 380 comments
chromatic writes "Kernel hackers Arjan van de Ven and Auke Kok showed off Linux booting in five seconds at last month's Linux Plumbers Conference. Arjan and other hackers have already improved the Linux user experience by reducing power consumption and latency. O'Reilly News interviewed him about his work on improving the Linux experience with PowerTOP, LatencyTOP, and Five-Second Boot."
[+]
Hardware: PC Makers Try To Pinch Seconds From Their Boot Times 212 comments
Some computers are never turned off, or at least rarely see any state less active than "standby," but others (for power savings or other reasons) need rebooting — daily, or even more often. The New York Times is running a short article which says that it's not just a few makers like Asus who are trying to take away some of the pain of waiting for computers, especially laptops, to boot up. While it's always been a minor annoyance to wait while a computer slowly grinds itself to readiness, "the agitation seems more intense than in the pre-Internet days," and manufacturers are actively trying to cut that wait down to a more bearable length. How bearable? A "very good system is one that boots in under 15 seconds," according to a Microsoft blog cited, and an HP source names an 18-month goal of 20-30 seconds.
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.

Interesting but how useful, really? (Score:4, Insightful)
Re:Interesting but how useful, really? (Score:5, Insightful)
Some people power down their computers at night.
Parent
Re:Interesting but how useful, really? (Score:5, Funny)
How can they sleep without the soothing fan noise?
Parent
Re:Interesting but how useful, really? (Score:5, Funny)
I have fanless computers, you insensitive clod!
Parent
Re:Interesting but how useful, really? (Score:5, Funny)
My bedroom contains exactly three things that use electricity. The alarm clock, the waterbed heater, and the ceiling fan/light fixture.
So, what the wife uses is ... battery-powered?
Parent
Re:Interesting but how useful, really? (Score:5, Funny)
Parent
Re:Interesting but how useful, really? (Score:5, Funny)
You just call in a contractor as the project requires, eh?
Parent
Re:Interesting but how useful, really? (Score:5, Insightful)
If their default linux setup doesn't complete boot-up before their finish their morning piss they have a problem that no guide will fix :-)
Parent
Re:Interesting but how useful, really? (Score:5, Interesting)
I used to have that problem. Drove me bananas. The problem wasn't fixed until I got a new computer. I did find a slightly better solution than rebooting, though. I used to keep a CLI window up. If the mouse failed, I'd unload the USBHID kernel modules, then reload them. I don't remember which modules in specific, but it did provide relief without rebooting.
Unfortunately, this was a fairly common issue with the Linux kernel. There was little interest in fixing it at the time, so you may just need new hardware. (It's possible that the issue was ignored because it was caused by poor USB implementations. Which would hopefully mean that newer hardware is unaffected.)
Parent
Re:Interesting but how useful, really? (Score:5, Insightful)
It's so buggy that Windows doesn't have a problem with it.
Seriously, I'm a huge Linux fan, I use it at work, I use it at home, I'm using it right now... but that's just ridiculous.
I don't have to keep a shell window open, as there are hot keys enough to get one (I don't reboot by hitting the button), but I'm not about to spend a penny on something Windows can handle just because Linux can't.
Parent
Re:Interesting but how useful, really? (Score:5, Informative)
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?
Parent
Re:Interesting but how useful, really? (Score:5, Insightful)
And yet, who does the average user blame? Their hardware or Linux? There is a certain threshold beyond which arguing is pointless. If something doesn't work, you're not hurting anyone except yourself by trying to deflect blame. (Rightly or not.) As a developer myself, that's a lesson I had to learn long ago.
Just some food for thought.
Parent
Re:Interesting but how useful, really? (Score:5, Insightful)
Yes you are unusual.
I shut down my work PC when I leave at night. I shut down my laptop when I put it back into the case.
Netbooks are also shutdown when you put them away.
Even you might shutdown your PC to save some power if it didn't take very long to power it back up.
Parent
Re:Interesting but how useful, really? (Score:5, Funny)
To the death or will first blood satisfy the honor of these OS's? And do the cellphone and PDA act as seconds?
Parent
Re:Interesting but how useful, really? (Score:5, Insightful)
Parent
Re:Interesting but how useful, really? (Score:5, Insightful)
The thing is, even when you are indeed helping solve whatever problem you choose to participate in, in reality the design of those projects is to take advantage of the unused cycles of a PC while doing its "regular" scheduled work. That is, to maximize the usage of the PC.
By leaving your computer on only because of the @home projects you are doing the opposite, ie. not maximixing PC usage, because you are indeed "creating unused cycles" for idle time work. I see it like trying to maximize the electricity use at home by running a garbage-burning generator (just for the sake of the example), and then "creating" garbage on purpose just to "take advantage" of it. That's not really what the original intent of the generator was and thus is not maximizing anything.
Of course in the end it's your choice, just maybe something you could think about from a different perspective.
Parent
Re:Interesting but how useful, really? (Score:4, Insightful)
Fast boot laptops would be a nice feature. On the server side look at Sun's SMF of Solaris 10. It boots many services in parallel. Not only does this decrease boot time but SMF knows the depencies of all services. This is useful when troubleshooting a failed service. I'd like to see this in Linux.
Parent
Re:Interesting but how useful, really? (Score:5, Informative)
Yes! We will call it... Upstart! Oh wait.
Parent
Re:Interesting but how useful, really? (Score:5, Informative)
Parent
Re:Interesting but how useful, really? (Score:5, Informative)
Parent
Re:Interesting but how useful, really? (Score:5, Insightful)
Unless your box is actually doing something useful overnight, you're wasting a lot of power leaving it switched on all the time. Never mind the tree-hugger angle, that's costing you money.
We've had various low power/sleep/hibernate modes available for _years_ now, I think we should work on getting those features working more reliably under Linux than telling users to change their ways to suit Linux's lack of progress. For that matter, just change the fucking boot process already, see every other modern OS for examples. Solaris, Mac OS X, Vista.. and I'm sure there are others who also moved on from crusty linear execution of shell scripts.
This is typical Linux-speak.. "It's not broke/missing, you should change."
Go ask someone with a Mac what his boot time is. "You mean you turn yours off?"
Try hibernating a Mac laptop. Don't know how? Close lid. Wait less than 5 seconds for blinky light. Unplug power and rip out battery. Yes, it hibernates that quick, and it's automatic.
iMacs, desktop systems mind you, default to standby mode after 10 minutes idle. It's even smart enough to not standby a system that's streaming music or sharing files, it'll just standby when the connections are closed. OS X's suspend/resume is the most reliable out there. True, it's because of the tight integration with Apple hardware, that's what you pay for. Linux and Microsoft are at a slight disadvantage, but that's the open PC market for you, love it or hate it.
Apple has paid particular attention to this area, but you might even learn a thing or two by looking at Vista's power saving modes. Also, Solaris has a nice streamlined boot process and replaced much of their old init stuff, you might want to check that out.
The Linux community can't just tell it's users to change any more, there are many alternatives, and I wouldn't say anyone is asleep at the wheel anymore. It's not just Linux vs. big sleeping giant Microsoft anymore like many of you thought around 2000. There's much more out there than Windows, and even that improves leaps and bounds every generation. Linux has hurt many traditional UNIX systems, and I can think of a big one that isn't going to (and doesn't have to) cave in to Linux. Than there's Apple, which frankly, Linux can't hold a freaking candle to, but anyone who really wants Linux to succeed on the desktop needs to pay close attention to them.
However, people aren't logical. People tend to place more emphasis on time spent waiting for the system to boot than a lot of other bottlenecks. You can argue about the reasons for this, it's an interesting psychological debate, but the fact is that it's true. Boot speed has a big psychological effect on how fast people think a system is. So, it's a good idea to optimize it.
Logic, schmogic, are you going to let every other system outperform Linux (in the eyes of the users, or however you want to put it) because you think your users have an illogical desire for a faster booting system? Are you trying to cleverly say you're right, users are wrong, but you'll appease them anyway? Yah, that's a nice twist on "customers are always right." The customer is wrong, but I'll do it anyway because they're stupid. That's a winning attitude. This is why Linux has so much trouble.
Parent
her? (Score:5, Funny)
A female Linux user?!? You can compile and install Gentoo while waiting for that to happen. : p
Re:her? (Score:5, Funny)
A female Linux user?!? You can compile and install Gentoo while waiting for that to happen. : p
Hey! I thought I was a real woman (and people with your point of view were extinct by now)
--
laura.
Parent
POST (Score:5, Insightful)
My problem is not the linux distro coming up to a login prompt, but the server getting past all the cards prompts to get to the normal boot. What with scsi controller cards having their own bios, the system bios, and miscellaneous others, it can take longer to get past the post then to boot linux. The HP DL360 G5's we have can take almost 30 seconds just to starting booting the linux kernel.
why bother with booting? (Score:5, Insightful)
Why not just get hibernate to work well and do that?
There is a lot of CPU chewed in the booting process and you can only do so much to speed it up.