Take Linux From Zero to Boot in Less Than a Second

Some of us here at FOSS Force don’t mind waiting for a computer to boot. It reminds us of the old days when, after turning on the TV, radio or record player, we had to wait for the tubes to warm up.

The Screening Room

At 2015’s Embedded Linux Conference Europe, Jan Altenberg, who works for Linutronix in Germany, explains how Linux can be optimized to boot in less than one second. Find out more in this fascinating video.

Personally, I don’t have time to wait an entire second for booting Linux. During the boot process, I usually go fix myself a sandwich, go out for a walk, or pay some household bills. Then, when I return, Linux has finished booting in a second and I can finally sit down to get some work done.

Related

For the past 10 years, Phil has been working at a public library in the Washington D.C.-area, helping youth and adults use the 28 public Linux stations the library offers seven days a week. He also writes for MAKE magazine, Opensource.com and TechSoup Libraries. Suggest videos by contacting Phil on Twitter or at pshapiro@his.com.

20 comments to Take Linux From Zero to Boot in Less Than a Second

The problem isn’t Linux (the kernel). On traditional PCs, the BIOS and even UEFI can take longer than the kernel. Then userspace starts, and even with a parallel startup like systemd it can take 20 seconds (or more). That only gets you to the login screen. With a fully automated desktop setup, it takes another minute before I can actually do work.

From power-on to ready to work, is about 3 minutes. Using a Chromebook with suspend and resume is not an answer. Network sessions (e.g., ssh) has to be reestablished, and there’s currently no automated way to do that.

Android has apps like SSH Persistent Tunnels (SPT), but terminal sessions are still manual.

I think it’s great that Linux can boot that fast, but really it’s already the fastest part of the process.

Please don’t hold systemd up as a good example of fast startup. While that was one of its original goals it is no longer, and it has become far too large and complex to do so. Even poettering will admit that. Despite this, the blind faith rumor that systemd boots fast persists.

The truth is, systemd is SLOWER than even sequential startup via system V in many cases. Using a fast parallel startup via OpenRC, runit, or s6 is far faster and (and far more stable) than systemd.

Personally I’m not a speed freak. It doesn’t matter to me one bit that someone else’s machine fires up and starts faster than mine. I’m content with watching my boot screen splash…and don’t mind waiting at all. I have a ThinkPad with 16GB RAM and a 1TB HDD, so I’m not in a rush. I prefer a system that’s stable and slow than one that’s ridiculously fast and buggy. So for all the folks who insist that their machine NEEDS to be 0.000003 seconds faster than the molecules falling from space?….have fun keeping up with NO ONE. for the rest of us, relax, it doesn’t matter how fast your machine starts up, all that matters is that it DOES startup and that it DOES work…ALL the time! (or at least as long as your hard drive, and monitor stay alive and kicking!…LoL!

When my pc has to boot it’s terribly slow but I really don’t care. Most of the time I just let my machine hibernate and it wakes up pretty much instantly.
Like most others my main priority is stability.

Having recently replaced the hard drive in my Lenovo T400 with an SSD, it makes a big difference both at startup, and in loading programs. Having said that, startup on all of my computers (Two T400s and an M58P, not the newest/fastest) is under a minute. If that much startup time bothers you, you are probably one of those that exceed the speed limit even though (in this little town in the boonies) it will make only a minute or 2 difference in your arrival time to go from one end of town to the other!

The comments on this article are a bit bizarre. It’s not about your desktop machines but rather about the projects that really can’t wait. Imagine you are building an in car entertainment system which also tracks fuel consumption and engine error messages. It must be ready fast, preferably before the engine starts. And it’s only an example. My laptop boots in about 15 seconds and that’s just too long for some practical applications.

It all depends on the situation. Lots of times I don’t care–but if I’m on a short coffee break I want my laptop to boot NOW because if it takes minutes my break could be half over before I get to start reading the news.

Well, I like to leave my apps open when I close the lid / I prefer the device going to sleep then so I can continue my work when I open the lid. But I believe this article really isn’t about the “Linux desktop use”. Although I could be wrong.

@Mike: Yes systemd might be the culprit of a lot of boot up times on a lot of machines. But I look at it this way: Until I’m able to write something that does better? I’ll just use it and be content.

@Igor: I too sometimes let my machine go into hibernate mode, and it’s perfectly fine when I wake it up.

@Nonya: I was thinking about the SSD replacement procedure, but opted against it. I’ve been doing a lot of reading on it and there’s not enough reason/justification for me. Besides I don’t trust the fact that eventually? it will run out of space and begin OVERWRITING what’s already there!….so yeah…no…I’ll be one of the holdouts who remain using “spinning disks” until they don’t make ’em anymore, and I doubt that will happen anytime soon, since they’ve just come out with 8-10 TB spinning hard drives.

And finally: I think this obsession with speed and faster machinery stems from the current mentality of society. In all actuality you pc’s AREN’T slow, but you’re made to FEEL as if it is, in order to get you to run out and buy a “faster” PC, which…if you’ve notices?…that eventually…it too will be made to “feel” slow!) When you think about the amount of computations a PC can do in ONE MINUTE!??…there’s no way YOU can decipher if it’s faster or slower, by the time you’ve blinked twice your machine has calculated some million odd calculations. I chose to stop feeding into the “Big Lie” from manufacturers and retailers, there’s nothing wrong with owning a PC from 2/3/4/5/6 years ago. I mean, as long as you’re running LINUX and not WINDOWS?….your machine should be just fine, it might “look” outdated…..it might not be as sleek, and glossy as the current devices out there, but there’s really nothing different about the “A” button on your machine and the one on something else except yours LOOKS older! I try to counsel as many people as I can to STOP spending hard earned money on a “newer” version of what you already own. And I don’t just limit it to computers and technology….but cars….tools…etc. Now understand, I’m not a caveman, I DO realize that things WILL wear out and get old and eventually become more of a hassle to own than to replace. But in the grand scheme of things? You’re almost always pressured to buy a newer version of whatever for no other reason than that “it’s old and outdated”….I’ll be holding on to my T4xx laptops and my desktops for as long as they remain functioning, and when something breaks that I can’t replace or fix?…then I’ll buy a model maybe a few years “in front” of my current one. (Which I’m almost certain I can get for LESS than $300!!)…..And THIS is the main driving force behind me using Linux, it runs on “older” hardware just fine!

@Jerko: I have been working in the IT field since ‘9, and I’ll tell you this much. Someone who is building an app, doesn’t shut down their machine, period. You want it to load up fast?….you want instant access? you don’t log off….you don’t hibernate, you just lock your screen and go and come back as you please. And this article applies to both desktops and laptops, as the mobile device in the workplace is becoming more and more a reality. As for designing an in-car app? trust me it won’t be runninig on an Intel x86 processor, so it will be just as fast as it needs ot be in order ot monitor and gauge what it needs to. I have a car with an in console system that tracks so many things about the car, and that’s tons faster than my laptops, but even THAT device shows you the “Buick” logo for a few seconds while it too…has to boot up. All machines that run an OS and go from an inert state to powered on?…will require time to boot up. Until they design a machine with the abilities of the human body (a.k.a – you “wake up” and can automatically decipher the weather by looking out side, what you’ll wear by having info of whats in your closet and what you’ll eat on your way into work, all while brushing your teeth, putting together the email you’ll send when you get to your desk…in your head, and what time you’ll be leaving the office in order to make it to the concert on time!)…until machines are capable of this kind of “revolution input” there’s always going ot be a wait time for the machine ot prep itself.

> “Yes systemd might be the culprit of a lot of boot up times on a lot of machines. But I look at it this way: Until I’m able to write something that does better? I’ll just use it and be content.”

I listed several systems that DO work better than systemd.

They are used, but not as widespread as systemd because they haven’t had the Red Hat mob running around to every distro trying to get them installed as the default, and using API lock-in as a way to drive adoption.

@Mike: Agreed. I wish I knew enough to remove systemd and install something else in its place. I’d do it in a heartbeat, if for no other reason than for me to get more familiar with my Linux system’s innards!

@J: I wonder if there are Windows servers out there that would be able to remain up and running for 71 days without needing to be rebooted after an update? I had always been under the assumption that the windows server family of operating systems were versions of Windows that were a bit more hardy than the watered down version sold to home users. I will definitely look this up to find out whats the longest a Windows server / machine has been up…

The server versions of Windows aren’t any better or different than the consumer versions, except they are less deliberately crippled.

That may sound like a dig at Microsoft, but it’s accurate. Going all the way back to NT4, it was discovered that the only difference between the Workstation and Server products were some registry keys to enable/disable certain features. The binary files were identical. Microsoft has continued this grand tradition of anti-features (deliberately crippling existing features in software) by limiting features by Windows SKU, such as the number of RDP connections to consumer versions of Windows being limited, because it would proves too useful otherwise (Why buy the server?).

This model has been adopted by a lot of proprietary software where ‘PRO’ versions don’t really consist of unique builds, but simply contain keys to unlock premium features.