Forgot your password?
typodupeerror
Linux Business Operating Systems

Embedded Linux Achieves One-Second Boot Time 164

Posted by timothy
from the all-it-does-is-operate-the-power-button dept.
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."
This discussion has been archived. No new comments can be posted.

Embedded Linux Achieves One-Second Boot Time

Comments Filter:
  • Finally (Score:5, Funny)

    by 2names (531755) on Wednesday July 15, 2009 @02:29PM (#28706307)
    I can post before I log in.
  • by alain94040 (785132) * on Wednesday July 15, 2009 @02:29PM (#28706311) Homepage

    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]

    • by characterZer0 (138196) on Wednesday July 15, 2009 @03:06PM (#28706799)

      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?

      • How many operations does it take to boot Linux?

        As many licks as it takes to get to the center of a tootsie pop.

    • by jorghis (1000092)

      It is not news. I work for an embedded software company and we have operating systems that boot in well under a second. Its not a big deal. Really. Its just a pleasant side effect of the fact that a lot of embedded operating systems don't really have to do a whole lot on boot.

  • by JonTurner (178845) on Wednesday July 15, 2009 @02:30PM (#28706317) Journal

    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).
      • by schon (31600)

        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)

      by noname444 (1182107)

      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.

      • by JonTurner (178845)

        good catch -- indeed, that was a goof. meant to write 66 but my fingers had other ideas. Sorry. But at any rate, I don't think the specific numbers are that important. The point was the new machine was computationally hundreds of times faster. But in actual use, it was slower in some areas that really matter, to the degree that even a young child noticed!
        BTW, It's been a few years since I read it, but I believe this story is included in Abrash's book titled "Michael Abrash's Graphics Programming Black Book"

      • Not only that, but Win 3.1 took about .2 seconds to load from a dos prompt on my old pentium 90. I'd be afraid to see the machine that took 2 minutes to boot Win 3.1!
    • by Nethemas the Great (909900) on Wednesday July 15, 2009 @03:22PM (#28707023)
      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.
  • Though the fact that this is an embedded device with, most likely, a REALLY stripped down version of Linux is kind of cheating a bit.
    • by jd (1658) <.imipak. .at. .yahoo.com.> on Wednesday July 15, 2009 @02:40PM (#28706437) Homepage Journal

      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.

      • CoreBoot (formerly known as LinuxBIOS) will boot a full Linux kernel on a general-purpose machine in 3 seconds.

        Except one can't easily install coreboot on a random PC because as I understand it, most motherboard makers have declined to cooperate. Therefore, any machine to run coreboot would need to be purpose built. So if a machine is advertised as compatible with coreboot, is it really "general-purpose"?

        • by jd (1658)

          Coreboot actually works on a very wide range of motherboards, in much the same way that Linux had drivers for hardware where the vendors weren't cooperating (reverse-engineering). I maintain (when I have time) the Freshmeat record for Coreboot and just about every entry I've done for it has had vast numbers of new drivers.

    • by sjames (1099)

      Embedded apps often run on a stripped down embedded system, so for that context, the test is fair.

  • by 93 Escort Wagon (326346) on Wednesday July 15, 2009 @02:34PM (#28706369)

    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...

    • by kent_eh (543303)

      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.

      • by putzin (99318)
        Yeah, that's exactly it. In my business, we try to design for 0 failures, but that's unrealistic. So we also design in restarts that are fast enough that the outage isn't as noticeable to whoever is using the services. The less our customers customers have to deal with outage, the less our customers have to yell at us, or do bad things with contract clauses. If my PPC embedded controller comes back to life and working in 1 second, then my peripheral services can come back that much faster, and the network i
    • 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
      • by Stray7Xi (698337)

        Outside consumer devices it could be even more important, such as solar-powered wireless sensors. For example, every hour it powers on an embedded device which transmits the data back to a server then powers down. The boot time has real effects on power requirements. Which is either solved by larger solar panel ($$$) or fewer updates.

    • 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.
    • by elgaard (81259)

      Can it wake up from sleeping and hibernating in a second?

      If you have a full-disc encrypted computer you want to turn if off when you are not sitting in front of it.

    • It depends what you are doing. shutdown != hibernate/suspend.
      suspend is used as a workaround for slow boot,
      hibernate is also used but even that can only be so fast ~2.5s per gig of ram in use when hibernated.
      But both are just ways to save power while and allow you to continue your current task later and should not be considered replacements for shutdown/startup when your done.

      I wouldn't think devices w/ embedded Linux would shut down regularly,

      Embedded linux can go everywhere, in this specific case its a car system that
      1) has very low power usage requirements (no suspend)
      2)

    • by tepples (727027)

      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

      It doesn't for everyone, in part because several notable hardware makers decline to cooperate with the developers of Linux and the developers of user-space driver frameworks designed to run on Linux.

    • by selven (1556643)
      What if you're carrying a laptop on a trip where you won't have a power socket for a long time and you want to conserve energy? Hibernate isn't 100% effective.
  • 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.
    • by Culture20 (968837)
      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.
      • Somewhat off-topic, but related to your post... my gaming machine takes forever to boot. Part of the problem is that when it's powered off, and I push the power button, it spends ten seconds just spinning the fans before the BIOS POST screen shows up. I have minimal POST enabled, but I suspect the issue is my video card's initialization (which, presumably, must finish before the BIOS can initialize and display its POST screen). My machine has a Core i7 920, an MSI X58 Platinum motherboard, 12GB RAM, and

    • Here [slashdot.org]. Though the latency and bandwidth suck.
    • 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).

    • 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).

      That would depend on two things: 1. how fast you can type in the passphrase to unlock the keyring that holds your WEP/WPA/WPA2 keys, and 2. how fast your router (whose operating system you usually do not control) responds.

  • by Qubit (100461) on Wednesday July 15, 2009 @02:44PM (#28706479) Homepage Journal

    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 want to see what the kernel .config and rc.xxx files that load at boot time look like
  • by synthesizerpatel (1210598) on Wednesday July 15, 2009 @04:16PM (#28707699)

    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.

  • This is great but I also want a completely power-loss tolerant file system that doesn't need any fscking on restart. If I'm building a true Linux-based appliance, not a general purpose computer, laptop or netbook, basic criteria would be fast boot and the ability to turn it off by disconnecting the power without telling it to shut down gracefully. Basic toggle switch control and no fancy hardware to keep power available while it's shutting down. This would be battery powered and an end-user should be abl

% APL is a natural extension of assembler language programming; ...and is best for educational purposes. -- A. Perlis

Working...