Sam writes "A new goalpost has been set in the race for faster bootup times. MontaVista Software announced (and demonstrated at the Virtual Freescale Technology Forum) a dashboard application going from cold boot to operational in one second flat on their embedded Linux platform. Although this is unlikely to immediately benefit your average Linux user, previous real-time patches have eventually made their way into the main kernel."
I'm surprised that this is news. I remember working a few years ago on booting Linux (also the MontaVista version) in 600 million cycles flat, which for a CPU running at 600 MHz, is exactly one second as well.
Impressive and would be a huge improvement over the current state of things.
But then again, my 1Mhz Apple ][ could cold boot in just a couple seconds.Of course, loading Applesoft Basic from tape took an additional two minutes but Integer Basic was in the ROM.
Michael Abrash wrote a great article about this in Dr. Dobbs magazine in the 90s. His young daughter (5 years old?) asked him why he never used his "fast" computer. Abrash was using a state-of-the-art 266mhz DX2 powerhouse and couldn't figure out what she meant. She was referring to the old Vic-20 in the corner that would boot in just a few seconds. Windows 3.0 took several minutes to load. IIRC, the article was titled "perception is everything"
I wonder how much of the boot slowdown has to do with architectural change(loading from slow disk to plentiful RAM vs. small amount of RAM and lots of stuff burned into ROM, the rise of networking as a more or less assumed part of the boot process, increase in the number of highly complex peripherals that need to be negotiated with), and how much has to do with the OS gradually grabbing more of what applications historically had to do(DOS loaded like the wind; but didn't actually load very much).
I wonder how much of the boot slowdown has to do with architectural change
None of it - at least not the architecture you're meaning (ROM vs. HD loading)
The post above yours talked about an A1200 that booted in 3 seconds - from hard drive.
I had an A3000 that booted from HD in 6 seconds - and it was only that slow because it loaded up drivers for my network card, set up TCP/IP, initialized the (additional) display card, and a bunch of other things (desktop customization.)
FACT NAZI Observation:
The 486DX came in 20, 25, 33 or if you were unlucky 50Mhz variants. Consequently a clock doubled (DX2) 486 was not capable of anything close to 266Mhz. That wasn't achieved until the Tillamook-Pentium much later.
CoreBoot (formerly known as LinuxBIOS) will boot a full Linux kernel on a general-purpose machine in 3 seconds. Ok, it's two seconds longer, but it ain't bad.
Okay, I haven't been using desktop Linux on a day to day basis since around 2003; but even then, sleeping and hibernating worked reasonably well - so I didn't reboot all that often. On my Mac, the only time I reboot is when an update forces me to. So (serious question) why is faster boot times all that important? I wouldn't think devices w/ embedded Linux would shut down regularly, but maybe I'm wrong...
I wouldn't think devices w/ embedded Linux would shut down regularly, but maybe I'm wrong...
Certainly you don't want them to shut down regularly, but if it does spontaneously shut down for some reason (power interruption comes to mind) then getting your embedded device back online fast may be very important, depending on the importance of the embedded device in your system.
Depends on the type of embedded device, I suspect.
In extremely broad terms, there is "embedded" as in "essentially always on" which covers things like routers, NAS boxes, LOM cards, and watches; and "embedded" as in "should turn on and off as fast as the device it is embedded in" which covers things like TV electronic program guide systems, car engine computers, and the like. The line between the two can be rather blurry(my cellphone is on most of the day, to receive work calls; but waiting 40ish seconds
My phone gets no reception at work, so I turn it off. I turn it on again when I leave, and I usually need to use it at that time. It's frustrating that it takes longer to boot my phone than to actually make the phone call.
Give me a call when they can go from off to Google in less than 1 second. (OS boot, wireless initialization, browser start, google reply). Shoot, I would be impressed with 10 seconds.
My gaming workstation at home goes from off to Windows XP desktop in 9 seconds. Minimal POST, no pagefile, auto-login, 4-HDDs striped, yadda yadda. If I put FF in the startup folder, your 10 second requirement would be met. Of course, it's a bad disk just waiting to happen, but it loads games faster than my wii or xbox.
That might be kinda hard, considering that in my experience it takes no less than five seconds, and sometimes as long as twenty seconds, for the wireless card to complete a connection with the router, especially if there's encryption involved.
You're also assuming that latency is trivial. That's probably an invalid assumption in the most common use case for the sort of machine where this would be useful (i.e. netbooks getting online via 3G or similar).
Also, kudos on the music choice. The wah-wah pedal in the opening music really gives the tech demo that "porn soundtrack" feel I know you were going for.
I'm working as an embedded driver software engineer and setup our company's OpenEmbedded build system to provide an end-to-end build environment for our embedded offering and while I can't find the link at the moment -- the one second boot time has been done before and was posted on TI's OMAP developer site a while ago. If I remember correctly it's mostly about U-Boot and how it copies the kernel into memory (byte by byte as opposed to streaming it) which is where you get the majority of your time decrease.
Either way, MontaVista is not the first on this one and it's a shame they're pretending they are.
The one second boot time is also never going to benefit regular PCs as they achieve it due to the nature of embedded systems -- you build a distro for your specific hardware which means no probing, none of that BIOS junk. No looking for the 'first' boot device.. U-Boot can be configured to automatically jump to the booting phase so you're already faster there. Beyond that, load and decompress your kernel (it'd be faster if your kernel wasn't compressed too wouldn't it?)..
So, chalk this up to having a kernel built specifically for your hardware and a boot-loader that is set to only boot one way, ever.
Some people (including myself) are kind of anal about turning things off when they're not being used. On the other hand, a lot of people also just turn on their computer and walk away to get something to eat/drink/use the restroom while the machine boots, so it isn't really a big problem.
Some of us want to run laptops, netbooks and other devices where the ability to shut down completely and then turn on quickly, using zero battery in the meantime would be very useful.
The simple solution, of course, is to add in, say, 4GB of flash storage to laptop motherboards for exclusive use in hibernation. It could also double as swap space during normal usage.
Even as it is, my laptop comes out of hibernation in five seconds or so (in Windows); it doesn't take very long for your average hard drive to spam your data back into RAM (assuming I had a lot running when I went into hibernation).
I can't wait until I get a powerful desktop machine that has an idle power draw low enough that I'd get no noticeable benefit to my electric bill by turning the machine off.
Linux has insane uptime. I can usually keep my box on indefinitely. I'll only turn it off when I accidentally pull out the cord when I'm reaching behind my desk or when I blow a fuse by running the microwave, toaster, and dishwasher at the same time.
Why have such a quick boot time when you hardly need to boot in the first place?
Because, in my experience, laptops are far less well-supported and far less reliable. My desktop machine currently has 100+ days of uptime, and the last power cycle was because of a scheduled power outage in the building. That uptime is typical for my desktops. In contrast, my laptop rarely goes more than a couple of days without needing a reboot because some driver or another gets into a fubar state. I use my desktop 8-10 hours per day, and my laptop 1-2 hours per day, so factor that in as well.
If you dual boot between Linux and Windows, like I do, quick boot times are important. I often find myself just staying in Windows to do things I would be better off doing in Linux because I don't want to wait for the computer to reboot. Waiting for Windows to shut down and then waiting for Linux to boot up takes a while (in terms of attention span). I already have a hard enough time motivating myself to be productive at home;)
On an unrelated note... why are your microwave, toaster, dishwasher, and comp
They just want to simulate the effect of printing marketing materials on a worn-out laser printer in need of toner because that looks sooooo professional.
Nothing says we're professionals and have important information for you like a crooked illegible photocopy except perhaps a grade-school spirit duplicator. Expect funky light purple text next. The holy grail, of course, will be a wrinkled paper background that actually makes it look like they dug the web page back out of the trash and gave it to you.
Whether or not you like his writing, I think Maddox hit the peak of usable web design: dark background, with large-font bright text. If you don't like the yellow, you could go with old-CLI-style green. Either way, it's the easiest webpage on the internet to read.
The BIOS isn't always the problem... if it takes three seconds for the video card to become usable (fans running, memory initialized, etc), you're not going to get less than a three-second perceived boot time, no matter how fast you make everything else happen. The same goes for other hardware. If they happen in series (or worse, if they have to happen in series), then that can add up - that can be mitigated by the BIOS, of course, but I can see why boot times might get longer.
The BIOS isn't always the problem... if it takes three seconds for the video card to become usable (fans running, memory initialized, etc), you're not going to get less than a three-second perceived boot time, no matter how fast you make everything else happen. The same goes for other hardware. If they happen in series (or worse, if they have to happen in series), then that can add up - that can be mitigated by the BIOS, of course, but I can see why boot times might get longer.
This is absolutely part of the problem. The power supply needs to turn on its fans and generate stable voltage, then the case fans and mobo power conditioning needs to stabilize. Then you get to touch the BIOS, which probably does a staggered startup of most devices to prevent power supply droop. As stated, all of this hardware then needs to reach a usable state, both mechanically and electrically.
In a car, the power supply is DC to start with, the hardware is smaller and simpler (requiring fewer moving
Probably they should. I have never seen one single credible justification for over 1 second boot time for any desktop operating system.
I don't think the eventual target is desktops.
From TFA:
For industrial automation and other similar applications, fast boot and response time is critical to successful operation. Applications must be fully operational at power on and cannot be delayed due to the volatile nature of the platform and environment. Variables such as power fluctuation, network failure, device availability, and memory management must be responded to with no loss of performance and functionality. These same demanding requirements are found not just in Industrial Automation applications, but automotive, aerospace, and military applications as well.
I can see other reasons for linux based kernel devices like web/net appliances, game consoles, cell phones, etc... to have really low boot times.
During the summer I shut down my desktop daily. Besides the electricity used directly, it also means my AC has to work harder to keep a certain temperature.
I'd love to have a reasonably powerful desktop machine that idles at 20W or less, but for now it idles at 100W, and that's quite a bit of heat to be needlessly generated in a small apartment in the summer.
Finally (Score:5, Funny)
Re: (Score:2)
eh I prefer Honey Bunches of Oats. [postcereals.com]
Been there, done that (Score:4, Informative)
I'm surprised that this is news. I remember working a few years ago on booting Linux (also the MontaVista version) in 600 million cycles flat, which for a CPU running at 600 MHz, is exactly one second as well.
You can even still: watch a video of this here [eve-team.com]
Re:Been there, done that (Score:5, Interesting)
How many of those 600 million cycles are performing operations as opposed to waiting for IO and memory access?
How many operations does it take to boot Linux?
Parent
It's 1980 all over again (Score:5, Interesting)
Impressive and would be a huge improvement over the current state of things.
But then again, my 1Mhz Apple ][ could cold boot in just a couple seconds.Of course, loading Applesoft Basic from tape took an additional two minutes but Integer Basic was in the ROM.
Michael Abrash wrote a great article about this in Dr. Dobbs magazine in the 90s. His young daughter (5 years old?) asked him why he never used his "fast" computer. Abrash was using a state-of-the-art 266mhz DX2 powerhouse and couldn't figure out what she meant. She was referring to the old Vic-20 in the corner that would boot in just a few seconds. Windows 3.0 took several minutes to load. IIRC, the article was titled "perception is everything"
Re: (Score:3)
Re: (Score:2)
I wonder how much of the boot slowdown has to do with architectural change
None of it - at least not the architecture you're meaning (ROM vs. HD loading)
The post above yours talked about an A1200 that booted in 3 seconds - from hard drive.
I had an A3000 that booted from HD in 6 seconds - and it was only that slow because it loaded up drivers for my network card, set up TCP/IP, initialized the (additional) display card, and a bunch of other things (desktop customization.)
Loading off disk isn't the issue.
Re: (Score:3, Informative)
A DX2, at 266 MHz, in the early 90s? If this is an Intel 486 we're talking about I think you've gotten the numbers a bit wrong. Mine ran at 33 MHz.
Re:It's 1980 all over again (Score:5, Informative)
Parent
That's pretty cool... (Score:2)
Re:That's pretty cool... (Score:5, Informative)
CoreBoot (formerly known as LinuxBIOS) will boot a full Linux kernel on a general-purpose machine in 3 seconds. Ok, it's two seconds longer, but it ain't bad.
Parent
Re: (Score:2, Informative)
No, it's a 200% increase.
Re: (Score:3, Informative)
It's 300% of the old boottime, which is a 200% increase.
Re: (Score:2)
Embedded apps often run on a stripped down embedded system, so for that context, the test is fair.
Does it matter all that much? (Score:4, Interesting)
Okay, I haven't been using desktop Linux on a day to day basis since around 2003; but even then, sleeping and hibernating worked reasonably well - so I didn't reboot all that often. On my Mac, the only time I reboot is when an update forces me to. So (serious question) why is faster boot times all that important? I wouldn't think devices w/ embedded Linux would shut down regularly, but maybe I'm wrong...
Re: (Score:2)
I wouldn't think devices w/ embedded Linux would shut down regularly, but maybe I'm wrong...
Certainly you don't want them to shut down regularly, but if it does spontaneously shut down for some reason (power interruption comes to mind) then getting your embedded device back online fast may be very important, depending on the importance of the embedded device in your system.
Re: (Score:2)
In extremely broad terms, there is "embedded" as in "essentially always on" which covers things like routers, NAS boxes, LOM cards, and watches; and "embedded" as in "should turn on and off as fast as the device it is embedded in" which covers things like TV electronic program guide systems, car engine computers, and the like. The line between the two can be rather blurry(my cellphone is on most of the day, to receive work calls; but waiting 40ish seconds
Re: (Score:2)
Surf internet in 1 second? (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
That might be kinda hard, considering that in my experience it takes no less than five seconds, and sometimes as long as twenty seconds, for the wireless card to complete a connection with the router, especially if there's encryption involved.
You're also assuming that latency is trivial. That's probably an invalid assumption in the most common use case for the sort of machine where this would be useful (i.e. netbooks getting online via 3G or similar).
Direct link to MontaVista Video on YouTube (Score:5, Informative)
The video was hard to find on the given links. One of them even had the audacity to ask me to log in to view it. Yeah, as if.
One Second Linux Boot Demonstration (new version) [youtube.com]
Also, kudos on the music choice. The wah-wah pedal in the opening music really gives the tech demo that "porn soundtrack" feel I know you were going for.
i wanna see! (Score:2)
Completely overrated and someone else did it first (Score:4, Insightful)
I'm working as an embedded driver software engineer and setup our company's OpenEmbedded build system to provide an end-to-end build environment for our embedded offering and while I can't find the link at the moment -- the one second boot time has been done before and was posted on TI's OMAP developer site a while ago. If I remember correctly it's mostly about U-Boot and how it copies the kernel into memory (byte by byte as opposed to streaming it) which is where you get the majority of your time decrease.
Either way, MontaVista is not the first on this one and it's a shame they're pretending they are.
The one second boot time is also never going to benefit regular PCs as they achieve it due to the nature of embedded systems -- you build a distro for your specific hardware which means no probing, none of that BIOS junk. No looking for the 'first' boot device.. U-Boot can be configured to automatically jump to the booting phase so you're already faster there. Beyond that, load and decompress your kernel (it'd be faster if your kernel wasn't compressed too wouldn't it?)..
So, chalk this up to having a kernel built specifically for your hardware and a boot-loader that is set to only boot one way, ever.
Re:Completely overrated and someone else did it fi (Score:5, Informative)
Found it.
Originally posted by 'Mohanky' June 2008:
http://wiki.davincidsp.com/index.php/All_This_For_1_Second_Boot [davincidsp.com]
Parent
Re: (Score:2)
Re: (Score:2, Insightful)
A computer sitting idle needlessly consumes power. A computer switched off doesn't.
Re:Not needed (Score:5, Insightful)
I'll bite.
Some of us want to run laptops, netbooks and other devices where the ability to shut down completely and then turn on quickly, using zero battery in the meantime would be very useful.
Parent
Re: (Score:2)
Re: (Score:2)
The simple solution, of course, is to add in, say, 4GB of flash storage to laptop motherboards for exclusive use in hibernation. It could also double as swap space during normal usage.
Even as it is, my laptop comes out of hibernation in five seconds or so (in Windows); it doesn't take very long for your average hard drive to spam your data back into RAM (assuming I had a lot running when I went into hibernation).
Re: (Score:2)
Whoops, that last parenthetical comment was from my first draft ^_^
Re: (Score:2)
I can't wait until I get a powerful desktop machine that has an idle power draw low enough that I'd get no noticeable benefit to my electric bill by turning the machine off.
Re: (Score:2)
It wasn't done for desktop machines and servers. It was meant for embedded devices. Think pocket mp3 players and industrial control devices.
Re: (Score:2)
Linux has insane uptime. I can usually keep my box on indefinitely. I'll only turn it off when I accidentally pull out the cord when I'm reaching behind my desk or when I blow a fuse by running the microwave, toaster, and dishwasher at the same time.
Why have such a quick boot time when you hardly need to boot in the first place?
Because, in my experience, laptops are far less well-supported and far less reliable. My desktop machine currently has 100+ days of uptime, and the last power cycle was because of a scheduled power outage in the building. That uptime is typical for my desktops. In contrast, my laptop rarely goes more than a couple of days without needing a reboot because some driver or another gets into a fubar state. I use my desktop 8-10 hours per day, and my laptop 1-2 hours per day, so factor that in as well.
Couple
Re: (Score:2)
If you dual boot between Linux and Windows, like I do, quick boot times are important. I often find myself just staying in Windows to do things I would be better off doing in Linux because I don't want to wait for the computer to reboot. Waiting for Windows to shut down and then waiting for Linux to boot up takes a while (in terms of attention span). I already have a hard enough time motivating myself to be productive at home ;)
On an unrelated note... why are your microwave, toaster, dishwasher, and comp
Re:Nice text color (Score:5, Funny)
Parent
Re:Nice text color (Score:5, Funny)
They just want to simulate the effect of printing marketing materials on a worn-out laser printer in need of toner because that looks sooooo professional.
Nothing says we're professionals and have important information for you like a crooked illegible photocopy except perhaps a grade-school spirit duplicator. Expect funky light purple text next. The holy grail, of course, will be a wrinkled paper background that actually makes it look like they dug the web page back out of the trash and gave it to you.
Parent
Re: (Score:2)
Whether or not you like his writing, I think Maddox hit the peak of usable web design: dark background, with large-font bright text. If you don't like the yellow, you could go with old-CLI-style green. Either way, it's the easiest webpage on the internet to read.
Re: (Score:2, Informative)
Re: (Score:3, Funny)
Re: (Score:3, Insightful)
Re: (Score:2)
well, there is an open source bios project, so that doesn't have to be the problem.
Re: (Score:2)
The BIOS isn't always the problem... if it takes three seconds for the video card to become usable (fans running, memory initialized, etc), you're not going to get less than a three-second perceived boot time, no matter how fast you make everything else happen. The same goes for other hardware. If they happen in series (or worse, if they have to happen in series), then that can add up - that can be mitigated by the BIOS, of course, but I can see why boot times might get longer.
I've also heard that it can
Re: (Score:3, Informative)
The BIOS isn't always the problem... if it takes three seconds for the video card to become usable (fans running, memory initialized, etc), you're not going to get less than a three-second perceived boot time, no matter how fast you make everything else happen. The same goes for other hardware. If they happen in series (or worse, if they have to happen in series), then that can add up - that can be mitigated by the BIOS, of course, but I can see why boot times might get longer.
This is absolutely part of the problem. The power supply needs to turn on its fans and generate stable voltage, then the case fans and mobo power conditioning needs to stabilize. Then you get to touch the BIOS, which probably does a staggered startup of most devices to prevent power supply droop. As stated, all of this hardware then needs to reach a usable state, both mechanically and electrically.
In a car, the power supply is DC to start with, the hardware is smaller and simpler (requiring fewer moving
Re: (Score:2)
Probably they should. I have never seen one single credible justification for over 1 second boot time for any desktop operating system.
I don't think the eventual target is desktops.
From TFA:
For industrial automation and other similar applications, fast boot and response time is critical to successful operation. Applications must be fully operational at power on and cannot be delayed due to the volatile nature of the platform and environment. Variables such as power fluctuation, network failure, device availability, and memory management must be responded to with no loss of performance and functionality. These same demanding requirements are found not just in Industrial Automation applications, but automotive, aerospace, and military applications as well.
I can see other reasons for linux based kernel devices like web/net appliances, game consoles, cell phones, etc... to have really low boot times.
Re: (Score:2)
Poor attempt at trolling. Get your facts straight at least.
Re: (Score:2)
If XP is supposed to be how power management is done, I will pass.
It's faster to just reboot the box into Linux.
Re: (Score:2)
Re: (Score:2)
During the summer I shut down my desktop daily. Besides the electricity used directly, it also means my AC has to work harder to keep a certain temperature.
I'd love to have a reasonably powerful desktop machine that idles at 20W or less, but for now it idles at 100W, and that's quite a bit of heat to be needlessly generated in a small apartment in the summer.