Slashdot Mirror


Embedded Linux 1-Second Cold Boot To QT

An anonymous reader writes "The blog post shows an embedded device cold booting Linux to a QT application all in just one second. This post also includes a link which describes what modifications were made to achieve this."

141 comments

  1. Ain't that qute? by Carewolf · · Score: 2, Insightful

    I assume they mean Qt application, not QuickTime, or whatever.

    1. Re:Ain't that qute? by Anonymous Coward · · Score: 5, Insightful

      If the first thing that enters your mind when reading "QT" is QuickTime, you're on the wrong website I'm afraid.

    2. Re:Ain't that qute? by Anonymous Coward · · Score: 5, Funny

      If he came here for abuse, it's definitely the right website!

    3. Re:Ain't that qute? by internettoughguy · · Score: 3, Insightful

      If the first thing that enters your mind when reading "QT" is QuickTime, you're on the wrong website I'm afraid.

      It's usually rendered as Q t not Q T .

    4. Re:Ain't that qute? by Anonymous Coward · · Score: 1

      No, it isn't.

    5. Re:Ain't that qute? by lennier1 · · Score: 1

      QT -> QuickTime -> Trouble

      Isn't that the usual line of thought?

    6. Re:Ain't that qute? by countSudoku() · · Score: 5, Informative

      I had the same reaction. The answer lies in the wikipedia, not in the unhelpful intermediate posts:

      http://en.wikipedia.org/wiki/Qt_(framework)

      Qt "is a cross-platform application framework that is widely used for developing application software with graphical user interface (GUI) (in which case Qt is referred to as a widget toolkit when used as such), and also used for developing non-GUI programs such as command-line tools and consoles for servers"

      --
      This is the NSA, we're gonna geet U h@x0r5! Also, what is a h@x0r5?
    7. Re:Ain't that qute? by Anonymous Coward · · Score: 1

      And it's pronounced as "cute".

    8. Re:Ain't that qute? by PatPending · · Score: 2

      I came here for a good argument.

      --
      What one fool can do, another can. (Ancient Simian Proverb)
    9. Re:Ain't that qute? by gabebillings · · Score: 2

      I came here for a good argument.

      Well, do you want to have just one argument, or were you thinking of taking a course?

    10. Re:Ain't that qute? by NemoinSpace · · Score: 3, Funny

      as a corallary to OP: If the first thing that enters your mind when reading "QT" is QuickTime, you have a problem.
      if you go to wikipedia for help? Now you have 2 problems.
      can we please get back to arguing now?

    11. Re:Ain't that qute? by Anonymous Coward · · Score: 0

      If you're trying to quote The Argument Sketch, try:

      http://www.mindspring.com/~mfpatton/sketch.htm

    12. Re:Ain't that qute? by Anonymous Coward · · Score: 0

      I was only kidding. Relax a little.

    13. Re:Ain't that qute? by aynoknman · · Score: 2

      I came here for a good argument.

      I'm sorry, but this is abuse.

      --
      We need a "+1 -- nice sig" moderation.
    14. Re:Ain't that qute? by nawcom · · Score: 3, Insightful

      can we please get back to arguing now?

      Yeah, right after I finish beating Doom III by "I.D." software running on my "MAC".

      I wouldn't be surprised if the poster pronounces daemon as "daymon" either. The geek ego sure seems to get in the way of learning how to pronounce things. It looks like devs these days will have to provide audio files to show how to pronounce their work.

      *shakes his head at correct pronunciation deniers*

    15. Re:Ain't that qute? by cgenman · · Score: 1

      I just wish I GNU what you were talking about.

    16. Re:Ain't that qute? by zish · · Score: 4, Funny

      I know I'm going to get modded "off-topic", but this is getting too silly.

      --
      Spork.

      P.S. Spork.
    17. Re:Ain't that qute? by Gerald · · Score: 2

      QuikTrip. The device gives you coffee and a microwave sandwich while filling your gas tank, all in less than a second.

    18. Re:Ain't that qute? by postmortem · · Score: 1

      take char * string

    19. Re:Ain't that qute? by PopeRatzo · · Score: 4, Funny

      I came here for a good argument.

      I came here to meet lonely singles in my area.

      --
      You are welcome on my lawn.
    20. Re:Ain't that qute? by Anonymous Coward · · Score: 1

      If the first thing that enters your mind when reading "QT" is QuickTime, you're on the wrong website I'm afraid.

      I'm an Apple Fanboy, you insensitive clod!

    21. Re:Ain't that qute? by Anonymous Coward · · Score: 1

      My best friend was killed by Apple Fanboys you insensitive clod!

    22. Re:Ain't that qute? by Urkki · · Score: 1

      If the first thing that enters your mind when reading "QT" is QuickTime, you're on the wrong website I'm afraid.

      Well, QT is QuickTime. Qt is the toolkit. And he's just assuming that slashdot summary got it wrong.

    23. Re:Ain't that qute? by Meski · · Score: 1

      Can QuickTime do anything in one second? (apart from crash)

    24. Re:Ain't that qute? by Anonymous Coward · · Score: 0

      No you didn't...

    25. Re:Ain't that qute? by Chrisq · · Score: 1

      I came here for a good argument.

      Well, you might have to make do with mindless abuse.

    26. Re:Ain't that qute? by Anonymous Coward · · Score: 1

      Plenty of lonely singles on /.

      Lonely female singles, not so much.

    27. Re:Ain't that qute? by DarkTempes · · Score: 1

      The jargon file/hacker's dictionary explicitly states that day-mun is acceptable pronunciation.
      It doesn't really matter that the original users, in correct English, pronounced it dee-mon when a made up meaning of a word (the computer terminology definition) is pronounced in a multitude of ways decades later.

    28. Re:Ain't that qute? by shish · · Score: 1

      pronounce their work [irssi.org]

      L-eye-nux / L-ee-nux, fair enough; but this guy's using syllables that don't exist in half the world!

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    29. Re:Ain't that qute? by CyberDragon777 · · Score: 1

      It can offer you updates with Safari and iTunes install preselected.

      --
      We both said a lot of things that you are going to regret.
    30. Re:Ain't that qute? by AzP · · Score: 1

      And you have to do the Qt 4 dance while saying it.

    31. Re:Ain't that qute? by Anonymous Coward · · Score: 0

      Well if it really was quicktime that would be an accomplishment!

    32. Re:Ain't that qute? by diesel66 · · Score: 1

      In many circles, "daymon" is just fine.

      http://en.wikipedia.org/wiki/Daemon_(computer_software)

      Yes, the geek ego really does get in the way of learning how to pronounce things.

      --



      eleven plus two / twelve plus one
    33. Re:Ain't that qute? by hairyfeet · · Score: 1

      Okay, how about I give everyone a nice new topic to get PO'ed over and argue about? My Theory: While these 1 second boots are a cute trick and all, Embedded Linux is gonna quickly end up the Useful Idiot of the megacorps, where a community works their collective asses off and at the end of the day have nothing for all their hard work except the fattening of some megacorp's bottom line.

      Why is that? This sentence: GPL V2 and TiVoization. Hell even the most basic rules of the GPL like providing source is apparently too much bother for many of the Android pad manufacturers, but in the end it will be for naught thanks to things like signing kernels and hardware DRM.

      I mean everyone here rushed to trip over themselves to say how wonderful Google was for Android, yet nobody seemed to notice or care that all of Android is GPL V2 and it didn't occur to anyone to ask why? Or is it because we all know why, it is because Google only cares about Google and not about FOSS.

      Lets be honest folks: The ONLY reason why everyone is using embedded Linux and not BSD is thanks to TiVo showing the corporate world the GPL V2 loophole, that magically lets them turn all the hard work the embedded Linux guys have done (which is frankly pretty far ahead of BSD in embedded tools and design) and with a wave of the wand poof! Its suddenly BSD for all the good the GPL did. I mean who gives a crap if they give you the source if the machine won't let you run it without the corp's permission?

      So while I'm glad that all the hard work those guys put in have paid off with 1 second booting, if they are releasing under GPL V2 they may as well have not bothered. If they want to release under BSD then do so, but if they want the protections that GPL offers they damned well better be under GPL V3, because otherwise this is just a license for the megacorps to shamelessly rip away. So let the arguing commence!

      --
      ACs don't waste your time replying, your posts are never seen by me.
    34. Re:Ain't that qute? by mcgrew · · Score: 1

      I assure you I've been a nerd since before most slashdotters were born. Hell, I read the entire Encyclopedia Britannica when I was ten, used a slide rule in high school to cheat in math class, built a ham radio reciever and guitar amp when I was a kid. I've hacked hardware, built computers from junk, hand-assembled machine code, software hacked a low resolution (40x20) MC-10 to about 500x400 and wrote a complete graphics program for it complete with capabilities to print the images on the MC-10's primitive plotter, and in fact my nerdiness almost got me expelled from the 7th grade.

      But I've never heard of Qt before today, and QuickTime has been around forever. Now, if someone would have confused QT (or Qt) with "quart" you might have had cause to question his nerdiness.

    35. Re:Ain't that qute? by mcgrew · · Score: 1

      The geek ego sure seems to get in the way of learning how to pronounce things.

      Er, guilty as charged, your honor. I like pronouncing Linux as "lie nix" reather than "lennox", even though I'm a Linux fan who'se been using various distros for almost a decade.

    36. Re:Ain't that qute? by bill_mcgonigle · · Score: 1

      But I've never heard of Qt before today

      Maybe you have that Slashdot section turned off in your preferences.

      http://www.google.com/search?q=qt+site:slashdot.org

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    37. Re:Ain't that qute? by KingAlanI · · Score: 1

      someone mod this particular AC "Informative".
      Going off on a tangent, I wonder if the sexual orientation of lonely geeks is any different from the average - we could use some more serious levelheaded science on such things...

      --
      I listen to both RIAA and non-RIAA stuff if I like the music, tangential business/politics nonwithstanding.
    38. Re:Ain't that qute? by Anonymous Coward · · Score: 0

      I came here to meet lonely singles in my area.

      you must be new here

    39. Re:Ain't that qute? by suggsjc · · Score: 1

      No you didn't

      --
      When I have a kid, I want to put him in one of those strollers for twins and then run around the mall looking frantic.
    40. Re:Ain't that qute? by korgitser · · Score: 1

      The wrong century also:)

      --
      FCKGW 09F9 42
    41. Re:Ain't that qute? by XCondE · · Score: 1

      I came here for a good argument.

      I came here to meet lonely singles in my area.

      I came here to chew bubblegum

    42. Re:Ain't that qute? by dna_(c)(tm)(r) · · Score: 1

      MAYBE you should use less SHOUTING etc. ?

      Bur seriously, they have given back a lot of FOSS to the community themselves (GWT, contributions to Linux, OpenOffice etc) Have you?. They're getting the concept of FOSS, getting a lot out of it and giving something back - in such a way it is beneficial to their bottom line. And mine. And yours.

  2. Pretty cool... by emanem · · Score: 1

    ...speechless!
    Ciao!

    1. Re:Pretty cool... by HomelessInLaJolla · · Score: 1

      picotux does not seem to be available anymore. That's too bad. :-(

      --
      the NPG electrode was replaced with carbon blac
    2. Re:Pretty cool... by PatPending · · Score: 1, Insightful

      I don't think it's cool at all because this takes away one more of my excuses to grab a cup of Joe and have a smoke.

      --
      What one fool can do, another can. (Ancient Simian Proverb)
    3. Re:Pretty cool... by Z00L00K · · Score: 1

      I agree that this was a really good job done!

      I will have to look into that because there are many applications around that would benefit from such a solution.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    4. Re:Pretty cool... by Hammer · · Score: 1

      The important lesson from this is that if you were to strip out all the stuff that comes in most distros to handle all kinds of hardware and such you would get a faster boot on your desktop too. Now, having said that..... How much does boot time really matters??

    5. Re:Pretty cool... by AlecC · · Score: 1

      It depends upon your application, but in many, quite a lot. One reason quoted for the popularity if the iPad is its "instant on". 1 second cold boot means 1 second from zero power consumption to operation. If it is a display in your car, you want it to start in a second.

      --
      Consciousness is an illusion caused by an excess of self consciousness.
    6. Re:Pretty cool... by Ashtead · · Score: 1

      Kleinhenz, who are making the picotux, have had a server crash apparantly, according to http://www.kleinhenz.com/

      Not sure if one could get Qt going on the Picotux however, besides, the startup time there is about 90 seconds from poweron to the time the busybox banner and prompt appears on the serial console.

      The equipment shown in the featured blog is identified as a Renesas MS7724 development board. It has quite a lot more peripherals.

      --
      SIGBUS @ NO-07.308
    7. Re:Pretty cool... by Sloppy · · Score: 1

      Cars come to mind right off. Start car -> no music for next 2 minutes -> this computer is lame.

      --
      As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    8. Re:Pretty cool... by Hammer · · Score: 1

      Now my comment was that you could trim boot on a desktop.... I do not have a desktop in my car as a sound system, and I dare guess that neither do you ;-)

    9. Re:Pretty cool... by mcgrew · · Score: 1

      If the application is for a formerly instant-on analog device it matters a LOT. It takes my DVD player about twenty seconds after being powered up to become functional, and it seems like a lifetime compared to a VCR.

      I find it funny that we used to wait a full minute for the TV's tubes to warm up, but now we have no tubes and instead wait for the TV's computer to boot up.

    10. Re:Pretty cool... by Nutria · · Score: 1

      Loading Emacs onto a Sun-3.

      --
      "I don't know, therefore Aliens" Wafflebox1
  3. Ermm.. by Anonymous Coward · · Score: 0

    HOW?

    1. Re:Ermm.. by buchner.johannes · · Score: 5, Informative

      The have a slideshow here: http://www.slideshare.net/andrewmurraympc/elce-the , it's interesting starting at slide 19. Especially the executable reordering to defer loading of UI event handling code is impressive.

      --
      NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
    2. Re:Ermm.. by devent · · Score: 2

      I hate slideshare. What ever happened with good old Pdf downloads? But now Pdfs need to be embedded in Web2.0 crap. We ain't on the cloud yet, every PC out there have have a Pdf viewer installed. If they at least would use JavaScript so you don't need Flash for it like Google Maps.

      "Download is disabled by the owner". If the owner don't like the Pdf be in public than why the hell are they posting it on a freely accessible website? Does the owner really thinks I'm going to copy it and distribute it as my own work? Does the owner trusts me with nothing? Should I blank my brain after I saw the slides?

      If the owner want that I see his stupid slides then he should trust me more and not forbidding me of open my favorite Pdf viewer, print the slides out or to copy his stupid slides on a different device.

      He can take his slides and put them where the sun don't shine. Then he can be really sure that nobody is going to copy his work.

      --
      http://www.mueller-public.de - My site http://www.anr-institute.com/ - Advanced Natural Research Institute
  4. Details by bcmm · · Score: 1

    Any details on what they've done? Is it largely hardware-specific initialisation, or have they made changes that would be useful on a traditional desktop?

    --
    # cat /dev/mem | strings | grep -i llama
    Damn, my RAM is full of llamas.
    1. Re:Details by Anonymous Coward · · Score: 2, Informative

      Any details on what they've done? Is it largely hardware-specific initialisation, or have they made changes that would be useful on a traditional desktop?

      From the article:

      "We've not applied any specific intellectual property but instead spent time analysing where boot delays are coming from and simply optimising them away. The majority of the modifications we make usually fall into the category of 'removing things that aren't required', 'optimising things that are required', or 'taking a new approach to solving problems' and are tailored very precisely to the needs of the 'product'."

      Also:

      "If you're interested in exactly what modification I made and a little more about the approach taken - you may be interested in these slides [http://www.slideshare.net/andrewmurraympc/elce-the] which I presented at ELC-E 2010"

  5. yes, my 1990 Acorn A3000... by FuckingNickName · · Score: 4, Interesting

    ...booted in about 5 seconds, and that was to a general desktop.

    And my toy homebrew OS boots to a primitive UI in under 2 seconds after BIOS, and much of that is running interpreted bytecode.

    The fact is that a full BIOS + Linux / Windows system is a horrible fucking mess of bloat, but part of it is the price you pay finding and initialising all those millions of third party devices your old/embedded device isn't going to need to worry about.

    Still, as always, I believe any engineer's claim not before I get to test it myself.

    1. Re:yes, my 1990 Acorn A3000... by Cyberax · · Score: 1

      "...booted in about 5 seconds, and that was to a general desktop."

      So does Linux back in 2008 - http://www.youtube.com/watch?v=s7NxCM8ryF8 Yes, BIOS is a kludge but it's on the way out.

      As for Linux/Windows - they can certainly be optimized to achieve sub-second boot times. But flexibility might be greatly limited in this case.

    2. Re:yes, my 1990 Acorn A3000... by Microlith · · Score: 2, Insightful

      The fact is that a full BIOS + Linux / Windows system is a horrible fucking mess of bloat

      It's also a huge pile of capability that wasn't around 20 years ago. I find it hard to believe that, capability-wise, your Acorn A3000 was on par with a modern PC. I don't see it as bloat, but as the necessary result of supporting a wide array of capabilities (not necessarily hardware) and an extremely capable and platform-independent environment.

      BIOSes (especially RAID) are the slowest part these days, and UEFI is hopefully going to combat that.

    3. Re:yes, my 1990 Acorn A3000... by FuckingNickName · · Score: 1

      as the necessary result of supporting a wide array of capabilities (not necessarily hardware)

      Explain.

      BIOSes (especially RAID) are the slowest part these days, and UEFI is hopefully going to combat that.

      Many modern BIOS implementations are just a UEFI implementation with a translation layer. The "problem" is the firmware self-testing and doing lots of patient device detection/initialisation - there's no inherent reason UEFI would improve that.

    4. Re:yes, my 1990 Acorn A3000... by Pharmboy · · Score: 2

      Yes, BIOS is a kludge but it's on the way out.

      A quick search only showed news articles from 2003 (behind a pay wall...), but I am pretty sure I heard the same claims before 2000. I have no idea what the technical hurdles are, but there has been much talk and little action on killing BIOS.

      On the plus side, I'm looking forward to using more than 640k of ram, which is no longer enough for anyone.

      --
      Tequila: It's not just for breakfast anymore!
    5. Re:yes, my 1990 Acorn A3000... by sitharus · · Score: 4, Insightful

      Your Acorn A3000 held and executed most of the OS from ROM. When you don't have to copy from disk times are much faster.

      --
      --sitharus
    6. Re:yes, my 1990 Acorn A3000... by thegarbz · · Score: 3, Informative

      Actually if you custom compile your kernel to strip out every device driver that's irrelevant to your system you will save an absolute trivial amount of boot time at best. Go to TFA and click the slideshow to see where the real slogs of the boot lie.

    7. Re:yes, my 1990 Acorn A3000... by X0563511 · · Score: 1

      The problem is - why? What are you doing that makes 10 seconds less on your boot such a big deal!?

      It works as-is now, and there's not a whole lot to be gained by "fixing" it - which is why it doesn't seem to be happening.

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
    8. Re:yes, my 1990 Acorn A3000... by Anonymous Coward · · Score: 0

      Hi John!

    9. Re:yes, my 1990 Acorn A3000... by Anonymous Coward · · Score: 1

      The problem is - why? What are you doing that makes 10 seconds less on your boot such a big deal!?

      Jef Raskin summed it up in one of his commandments for designing a "humane" interface:

      "A computer shall not waste your time or require you to do more work than is strictly necessary."

    10. Re:yes, my 1990 Acorn A3000... by Anonymous Coward · · Score: 0

      Coreboot was started in 1999, that's probably what you remember.

    11. Re:yes, my 1990 Acorn A3000... by Anonymous Coward · · Score: 0

      Well, if you're running Linux on your laptop, you can't suspend/resume... ;)

    12. Re:yes, my 1990 Acorn A3000... by afidel · · Score: 2

      The biggest problem is the first widely used MS OS that support EUFI was Vista x64 SP1 so system builders had basically no incentive to switch (EUFI supports BIOS emulation but if 90% of systems sold will be running the emulation why not just ship a BIOS with fewer compatibility issues).

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    13. Re:yes, my 1990 Acorn A3000... by wolrahnaes · · Score: 3, Insightful

      CarPC? HTPC? Just being able to turn the computer entirely off when it's not in use rather than suspend?

      This particular example was focused on embedded applications, but the general idea of being able to boot a computer reasonably close to instantly is advantageous pretty much anywhere.

      --
      I used to get high on life, but I developed a tolerance. Now I need something stronger.
    14. Re:yes, my 1990 Acorn A3000... by QuantumBeep · · Score: 1

      Explain.

      VESA BIOS extensions. DMI. ACPI. Legacy USB device support (that's software). Option ROM detection and execution. Thermal management detection and operation. LBA (my first three computers didn't have that). Hardware-level security. That's just off the top of my head, in flash ROM soldered to your motherboard.

      It gets more interesting the moment the boot sector is executed.

    15. Re:yes, my 1990 Acorn A3000... by hedwards · · Score: 1

      Any time wasted is not available for other uses. Yes, it's only 10 seconds, but it does add up over time. Plus, unless it took a ridiculous amount of time, I'm not sure I see any reason not to do it. Plus systems that boot fast tend to be less bloated.

    16. Re:yes, my 1990 Acorn A3000... by Anonymous Coward · · Score: 0

      OK, the A3000 has a ROM of 512k I think.
      Lets assume a slightly larger ROM, say 10M.
      How long does it take to load 10M from HDD to memory on a modern system?

    17. Re:yes, my 1990 Acorn A3000... by Hammer · · Score: 1

      Well, if you're running Linux on your laptop, you can't suspend/resume... ;)

      Of course you can suspend, I do that several times a day

    18. Re:yes, my 1990 Acorn A3000... by rrohbeck · · Score: 1

      Reading a megabyte or so from disk to RAM doesn't take longer than a couple milliseconds.

    19. Re:yes, my 1990 Acorn A3000... by Anonymous Coward · · Score: 0

      Well, an embedded device probably has Flash nowadays. It doesn't need to copy code from disk either. In fact, with xip (executie in place) it doesn't even need to copy at all.

    20. Re:yes, my 1990 Acorn A3000... by FuckingNickName · · Score: 1

      The irony is that a slideshow is one of the most time-consuming ways of absorbing information.

    21. Re:yes, my 1990 Acorn A3000... by AzP · · Score: 1

      Of course you can suspend, I do that several times a day

      You just can't resume afterwards...

    22. Re:yes, my 1990 Acorn A3000... by Hammer · · Score: 1

      I do that several times a day.... When I open the lid on the laptop it is up in 2 seconds

    23. Re:yes, my 1990 Acorn A3000... by Rockoon · · Score: 1

      Reading a megabyte or so from disk to RAM doesn't take longer than a couple milliseconds.

      ..not in those days (1990.)

      In those days, drives often peaked out at 5 Mbit/sec with seek times of at best 40ms, but often as bad as 80ms average.

      So a "megabyte or so" would take several seconds to read at best.

      --
      "His name was James Damore."
    24. Re:yes, my 1990 Acorn A3000... by Rockoon · · Score: 1

      How long does it take to load 10M from HDD to memory on a modern system?

      Including spin-up time? We take it for granted that our HD's are often always spinning when using our systems. From cold boot that simply isnt the case.

      I know that when I access my older drive, which is normally not spun up (its just a backup) it takes over 1 second before I can get a directory listing.

      --
      "His name was James Damore."
    25. Re:yes, my 1990 Acorn A3000... by petermgreen · · Score: 1

      Actually it does with a 7200RPM drive rotational latency alone is going to eat over 4ms on average (sometimes you will be lucky and it will be near zero, sometimes you will be unlucky and it will be double that) for each access and actually reading a file is likely to take multiple accesses. Still reading in a single file (even a fairly large one) from a modern drive takes a pretty small ammount of time if you only do one.

      The thing is most disk based operating systems i've seen don't work like that, they are made up of a large number of files which are loaded one after another. Worse those files often represent programs/services/etc which have some other delays (waiting for hardware, waiting for interruptions from the user etc) in them. Such a design is much slower to boot than a single system image, especially if it wasn't explicitly designed for speed.

      Linux itself loads extremely quickly (measured from making selection in the bootloader to first running userland code) because it's a single image being pulled in from disk in a most likely sequential manner. It's all the stuff built on top of it that takes ages.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    26. Re:yes, my 1990 Acorn A3000... by petermgreen · · Score: 1

      Note that this doesn't mean custom compiling the kernel is a bad idea not because of what you can strip out but because compiling stuff into the kernel saves the need for an initrd.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    27. Re:yes, my 1990 Acorn A3000... by Anonymous Coward · · Score: 0

      Why would you want to turn it cold off instead of suspending/hibernating? I can see only downsides, frankly -- cold caches everytime the computer is booted so programs start slower, having to open all programs everytime the computer boots, having to save all work before shutting down, etc.

      Seriously, I haven't turned off any of my computers (in the sense of shutdown) for years and years, suspending/hibernating is where it's at, I just turn the computer on and pick up exactly where I left off.

    28. Re:yes, my 1990 Acorn A3000... by Anonymous Coward · · Score: 0

      Your Acorn A3000 held and executed most of the OS from ROM. When you don't have to copy from disk times are much faster.

      A modern hard disk is way faster than the ROM of the Acorn A3000.

      And the BIOS of a modern PC usually uses several Megabytes of Flash, while the A3000 only had 1 MB of RAM. Don't know about ROM.

      So, if you're counting the BIOS as an "operating system", it's boot process is the POST. Lasting what, about a second? Well - some BIOSses already present a GUI then - offering a browser and some other goodies. What? You want more? Windows? Linux? Properly installed devices? Bad luck...

      Can't find a lot of specifics on the A3000. But a similar computer of that area would be the Atari ST - also 8 MHz clock frequency, and also 1 MB of RAM. (192 KB of ROM by the way). Different CPU though. The 68k CPU of the ST requires four cycles to read a 16 bit word from memory, that is, 4 MB per second in total (including instructions - no CPU cache at all). Good SSD "disk drives" are more than a hundred times as fast.

      Uli

    29. Re:yes, my 1990 Acorn A3000... by rolando2424 · · Score: 1

      What are you doing that makes 10 seconds less on your boot such a big deal!?

      Trying to get the first post

      --
      Okay seriously I've just run out of pointless things to say.
    30. Re:yes, my 1990 Acorn A3000... by bball99 · · Score: 1

      best reply i've read all day - tks for the chuckle!

  6. Made my day by LoRdTAW · · Score: 4, Interesting

    Its good to see a fun tech article like this on /. I haven't seen any in a while (maybe its just me).

    I assume that during boot time, the Qt UI and low level hardware modules are loaded immediately. Then other modules and services can be loaded later on such as networking, video capture drivers and other lower priority services. I also assume the UI is not based on X but a Qt implementation that is directly drawing to the frame buffer.

    Lately I have been on a bit of an embedded systems kick playing around with PLC's and embedded micro controllers. This is a great article.

    1. Re:Made my day by nametaken · · Score: 1

      I bet it would be fun to see... if they hadn't hosted the site on the device too.

    2. Re:Made my day by pinkushun · · Score: 1

      I enjoyed it. Imagine how nice it would be in a instant wireless browsing device. Or it serves out pages from which you can control a connected Arduino device. Turn on and go - very neat!

  7. Function re-ordering inside the image? wow by RollingThunder · · Score: 5, Insightful

    I have to say, the most impressive/innovative tweak, to me, was the re-ordering of required functions in the compiled binary. Doing so allowed them to reduce load time, by making it that only two blocks had to be demand-read off the flash filesystem, instead of four.

    That's some crazy, use-the-drum-spin-as-timing, innovative thinking right there. Serious kudos.

  8. Re:Function re-ordering inside the image? wow by Chrutil · · Score: 5, Informative

    That's actually common practice in profile guided optimization, put commonly used code close together in the image to minimize the number of pages loaded.

  9. At last! by mr_lizard13 · · Score: 5, Funny

    This is the year of Linux on the de- wow, that was quick.

    --
    "We live in a global world" - Harvey Pitt, former Securities and Exchange Commission Chairman
    1. Re:At last! by Anonymous Coward · · Score: 0

      This is the year of Linux on the de- wow, that was quick.

      Except they didn't boot to a desktop, just a toy application with no significant functionality. It would take significantly longer to boot to something like Gnome (or KDE since they're using Qt).

    2. Re:At last! by The+Wild+Norseman · · Score: 1

      I would mod you up; that was literally the funniest thing I've read all year!

      --
      "A government is a body of people usually -- notably -- ungoverned." -Shepherd Book
  10. Re:Function re-ordering inside the image? wow by pz · · Score: 1

    I have to say, the most impressive/innovative tweak, to me, was the re-ordering of required functions in the compiled binary. Doing so allowed them to reduce load time, by making it that only two blocks had to be demand-read off the flash filesystem, instead of four.

    That's some crazy, use-the-drum-spin-as-timing, innovative thinking right there. Serious kudos.

    Most assuredly!

    I realized these guys were serious when they talked about the bandwidth reading from flash vs. the bandwidth of boot image decompression. Kudos, indeed.

    --

    Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
  11. Flash 9 by Max+Hyre · · Score: 2


    The bleedin' slideshow requires Flash 9 , for crying in a bucket! Why the hell do you need Flash to show a sequence of static images in succession!? And to download the slides, you have to have two accounts: one on Facebook, and one on something called Slideshare.

    Screw it.
    </rant>

    (Be glad I'm sparing you my take on Javascript.)

    --
    I refuse to believe corporations are people until Texas executes one. -- desert rain on http://www.dailykos.com/user/
    1. Re:Flash 9 by Anonymous Coward · · Score: 0

      Well, there is an embedded video in the slides, so Flash is slightly justified.

    2. Re:Flash 9 by fatphil · · Score: 1

      Are we sure the slides were even images - some of them might even have just been text!

      Screwed it too.

      --
      Also FatPhil on SoylentNews, id 863
    3. Re:Flash 9 by Anonymous Coward · · Score: 0

      Are we sure the slides were even images - some of them might even have just been text!

      Screwed it too.

      I am sure you would have been really impressed if they had released their blog Silverlight based with embedded html5, h.264 video with a slide show. And on a site that is impervious to being / dotted like ones we all love in Washington State.

      Maybe in a few years that is all we are going to see on the web, at least in the world according to Lord Ballmer.

      Judging from the amount of time these guys must of spent coding to do what they did most likely did not have the time or energy left to use a really efficient presentation piece of software like Power Point!

      It gives me Mono just thinking about how much of a kiss and tell that would be if they had to go work for Lord Ballmer, and not themselves.

      But then again: Perhaps some here on /. have already surrendered their intellectual property and just run around saluting and shouting the mantra All Roads Lead to Redmond! Hail Ballmer, Hail Ballmer, (genuflection) Heil Ballmer, Heil Ballmer.....oops

    4. Re:Flash 9 by frogboyflips · · Score: 3, Informative

      There is also a PDF of the slides on the elinux.org web site under the 'Boot Time' page.

  12. Awesome by Anonymous Coward · · Score: 0

    Some mighty awesome hacking going on there!
    Too bad it won't translate well into desktops.

  13. Re:Function re-ordering inside the image? wow by noidentity · · Score: 5, Informative
    Really? I thought this was standard stuff for profile-guided-optimization. It's common knowledge that when a system initializes, it jumps all over the image, which is bad if it's paged. Seems a big "duh" to reorder functions so that all the init code is together.

    Another optimization that was common old Mac compilers was "dead-stripping", where they avoided linking in any functions that were never called. Apparently this isn't commonly done and instead if a single function in a file is called, then ALL are linked in, at least when I looked into it for Linux a while back.

  14. 1 second? Lies! by Urza9814 · · Score: 1

    Um, when he pulls the plug - he inserts it at 1:03, the device is mostly booted by 1:06, but the video feed isn't restored until 1:08. In other words, I'd say at least 3 seconds, I'd call it 5 seconds to fully boot and load the application.

    Don't get me wrong, still impressive, but it seems to be a bit more than one second...

    On an unrelated note: Why the hell does Slashdot still not work properly with Google Chrome? It's the only site I've ever had any problems with....

    1. Re:1 second? Lies! by 7-Vodka · · Score: 2
      are you sure that the machine isn't booting in one second and then it takes the monitor itself some time to adjust?

      I'd be willing to bet they are doing software boot process monitoring and know exactly how long it takes to boot.

      --

      Liberty.

  15. Re:Function re-ordering inside the image? wow by mhotchin · · Score: 3, Interesting

    Um. This capability has been around since FOREVER. I worked at MS 'beside' the group that created exactly such a tool, called BBT. This was ~2000.

    It was the most used, but not the only result of a tool suite called Vulcan. This would allow you to pull apart and re-assemble a binary, either for re-ordering (optimization) or to add instrumentation for other optimization projects (like the one I worked on).

  16. Who needs fast boot? by Anonymous Coward · · Score: 0

    Stop!

    If you thought of posting "Who among us needs a fast-booting machine when we just leave our machines on all the time? Nobody reboots!", please choke on a lump of poison, because fast booting is desireable and awesome.

    Don't say I'm tilting at windmills, people do post that kind of shit.

    1. Re:Who needs fast boot? by Anonymous Coward · · Score: 0

      Mod parent up, I've been annoyed with "booting" ever since computers stopped being "instant on" devices in the 80s. Sure, computers are more powerful and flexible now, but they're also a lot more annoying.

  17. There is one small problem... by RogueWarrior65 · · Score: 1

    No, it's not about the Knights who say Ni. Does this thing have USB support? Does it have Wifi support? Products by Technogic Systems boot to a shell prompt in less than 2 seconds but if you need to load USB drivers and populate a /dev it drops to about 6-10 seconds. Wifi takes longer.

    1. Re:There is one small problem... by PiSkyHi · · Score: 2

      ...and what the hell is wrong with using a pre-configured suspend image anyhow? seems like a lot of effort wasted IMO.

    2. Re:There is one small problem... by RogueWarrior65 · · Score: 1

      Assuming that you have the ability to save the image. See, I'm developing what is essentially a Linux-based appliance that can be faceless (no user-interface) and uses a simple toggle switch on the battery so there is no facility for a graceful shutdown which it sounds like you'd need to do the suspended image. Plus I'm using a read-only file system for the OS to guard against corruption and tiny read/write partition for settings.

      One reason why fast boot is important to me is since it's faceless, the user will think something is wrong if it takes longer than about 10 seconds to be up and running. From the factory, the SBC boots to a shell prompt in about 2 seconds. Pretty good. But, as soon as you add mdev (or udev) into the equation, it slows down quite a bit. Configuring USB devices increases the boot time to almost 10 seconds. Then if I want to get WIFI up and running, that takes even longer.

      The one thing about his presentation that's interesting is the use of SquashFS over JFFS2 which appears to give quite a performance boost.

  18. Re:Function re-ordering inside the image? wow by Maestro485 · · Score: 1

    ahhh damn what was that drum-spin story? I've read it around here before and I've been trying to find it again but with no luck. It's a great story and if you have a link it would be much appreciated!

  19. Re:Function re-ordering inside the image? wow by sp332 · · Score: 4, Informative

    The Story of Mel! http://foldoc.org/The+Story+of+Mel (That's not the original, that's the "free verse" version which is better IMHO.) It might even be a true story! http://en.wikipedia.org/wiki/Mel_Kaye

  20. Re:Function re-ordering inside the image? wow by Anonymous Coward · · Score: 0

    I don't think it's all that impressive.

    Almost 10 years ago QNX offered a 1.44 MB floppy disk that contained the OS, a nice user desktop, a network stack, a modem driver, and web browser.

    It took a little time to load, only because it was running off a Floppy. How long would it take to load 1.44 MB off flash these days?

    If you've got hardware that doesn't make you wait a long time on a bios startup, loading up an OS should be able to be quite fast.

  21. Re:Function re-ordering inside the image? wow by codepunk · · Score: 3, Funny

    You forgot to mention the performance died when marketing made you link in ie.h .

    --


    Got Code?
  22. About the same amount of time by santax · · Score: 1

    that it took to write this post? For a minute I was thinking this was twitter.

  23. Re:Function re-ordering cheats? by Anonymous Coward · · Score: 3, Interesting

    Um. This capability has been around since FOREVER. I worked at MS 'beside' the group that created exactly such a tool, called BBT. This was ~2000.

    It was the most used, but not the only result of a tool suite called Vulcan. This would allow you to pull apart and re-assemble a binary, either for re-ordering (optimization) or to add instrumentation for other optimization projects (like the one I worked on).

    You deliberately seem to miss one really important point.

    These guys do not have to pull apart binaries they can mod them from source if they feel like it. You have let the cat out of the bag and admitted that Microsoft uses disassemble technique on other peoples binaries all the time. No wonder it was so easy for you guys to clone closed functions in IBM's Lotus Suite and com SQL framework, then pretend that you did not know what was going on when all of a sudden their binaries were slower and less reliable than yours!

    So you guys have been doing what you say others have no business do to your software FOREVER. Face it... considering the fact that embedded Linux runs most TVs, BD players and other really popular devices on the market today, you are just mouthing a party line and not making a real valid argument why MS is losing out in the embedded products market!

  24. Re:Function re-ordering inside the image? wow by martin-boundary · · Score: 1

    Another optimization that was common old Mac compilers was "dead-stripping", where they avoided linking in any functions that were never called. Apparently this isn't commonly done and instead if a single function in a file is called, then ALL are linked in, at least when I looked into it for Linux a while back.

    But doesn't rely on linker optimization support to work (eg GCC's new LTO)? Normally in the first pass when all the objects are being compiled, there's no way to know which functions are going to be unused (I'd imagine, IANACD).

  25. **Yawn** by fsterman · · Score: 1

    Wake me up when they get to ~80 millseconds.

    --
    Is there anything better than clicking through Microsoft ads on Slashdot?
  26. my 2 cents... by Anonymous Coward · · Score: 0

    this shows how many ressources are wasted in normal operating conditions. Before optimisation, the processor and other things were just idling most of the time... This is a lean approach, focus on removing the waste.

    As an engineer in electronics, I really like the "to the metal" approach. Good job!

  27. The link does not seem to work. by apetrelli · · Score: 1

    It redirects to 123 reg. What's happening?

    1. Re:The link does not seem to work. by apetrelli · · Score: 1

      It does not matter, now it works.

  28. Re:Function re-ordering inside the image? wow by marcansoft · · Score: 1

    It's called -ffunction-sections, which puts each function in a file in its own section so the linker can get rid of all the unused ones. No need for LTO.

  29. PDF is available here by lindi · · Score: 3, Informative

    My thoughts exactly, I don't want to use non-free adobe flash and slideshare does not work with gnash. Fortunately a very similar looking PDF does seem to be available at

    http://elinux.org/images/f/f7/RightApproachMinimalBootTimes.pdf

  30. Re:Function re-ordering inside the image? wow by Anonymous Coward · · Score: 0

    The linker's task is to put in the executable only what's needed. Taking only the right object files from archives is logically similar to taking only the right functions from object files. You could call both steps optimizations. If you skip either step, the only result is a larger executable, but it will still work.

    The "new" LTO in linkers actually works on statement level, not function level. That's far more complicated because the relation between instructions is far less clear, and far more architecture-dependent. Function-level linking is comparison is so trivial, I'm wondering why it's so uncommon on Unix. I think Visual Studio got it about two decennia ago.

  31. Re:Function re-ordering inside the image? wow by Douglas+Goodall · · Score: 1

    Use the drum spin as timing, are we talking bendix G15 here?

  32. Acorn Electron by drunkahol · · Score: 1

    True, my Acorn Electron didn't boot into a Qt application, but it managed to get to a prompt virtually instantly.

    I've been waiting for those days to return.

  33. Re:Function re-ordering inside the image? wow by Chemisor · · Score: 1

    To do function level linking you need to compile your sources with -ffunction-sections -fdata-sections and pass --gc-sections to ld. It might be scary to some people because the .o files produced this way are much larger. Also, it does not work on shared libraries, for the obvious reason that you can not tell what will be unused.

  34. Re:Function re-ordering inside the image? wow by petermgreen · · Score: 1

    Demand paging in of executables made sense back when we only had a few megs of ram in a general purpose computer but I wonder if it's an idea that is past it's time and if we would be better off loading smaller executables in a single read operation. Especially on hard drive based systems (flash is better but still once you add all the layers on I bet a single large read is faster than many small ones)

    --
    note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  35. This will be the death of Linux... by gosand · · Score: 1

    We won't have our uptime to brag about anymore!

    --

    My beliefs do not require that you agree with them.

  36. Re:Function re-ordering inside the image? wow by swillden · · Score: 1

    Function-level linking is comparison is so trivial, I'm wondering why it's so uncommon on Unix

    Because static linking is so uncommon. If you are linking statically, you can use -ffunction-sections to put each function into its own section so the linker can skip all the unused ones.

    --
    Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
  37. Re:Function re-ordering inside the image? wow by noidentity · · Score: 1

    Because static linking is so uncommon.

    A program's mainline code is statically linked. At least when I'm writing a program, I often use small utilities I've written over the years. They aren't substantial enough to be put into a shared library, and they contain plenty of functions a given program never calls.

  38. Re:Function re-ordering inside the image? wow by RollingThunder · · Score: 1

    Without demand paging, he would have had to read the entire executable in; far more than just four or two blocks from the filesystem. The issue was I/O bandwidth rather than response time to requests, from what I understood.

  39. Re:Function re-ordering inside the image? wow by slashdotjunker · · Score: 1

    Well, if you're really crazy you put the init code together into a contiguous block so you can use it as a data buffer after you're done initializing everything.

    Of course we realized that that was still too conservative. The next year we started allocating data buffers inside the init function while we were still executing it. Just follow the instruction pointer down and allocate behind it.

  40. Re:Function re-ordering inside the image? wow by swillden · · Score: 1

    Because static linking is so uncommon.

    A program's mainline code is statically linked. At least when I'm writing a program, I often use small utilities I've written over the years. They aren't substantial enough to be put into a shared library, and they contain plenty of functions a given program never calls.

    I use shared libraries for those.

    On Unix systems there's very little reason not to. On Windows it's a bit of work (not a lot, but some) to fix your code up so it can be used as a DLL, but on Unix it's just some compiler and linker flags -- and not even that if you're using a build system that takes care of it for you. The only downsides are (a) possibly a tiny bit of wasted RAM as unused functions that happen to be on the same page as used function are loaded, but that is typically more than offset if two programs using the library might be running at once, and (b) an extra lib to distribute with the executable. In practice, (b) is a non-issue as the installation and packaging tools can pick up all such dependencies automagically. Well, I guess it increases the size of the distributed package a bit, but that's trivial.

    --
    Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
  41. Re:Function re-ordering inside the image? wow by Anonymous Coward · · Score: 0

    Ummm.. I guess. I guess it all depends on your background and perspective. When I started working for an embedded sys company after high-school that was one of my first contributions... The tradeoff/choice between compression vs no decompression overhead is a pretty typical one made in flash based embedded products for years. There is another parameter that is less important today, with demand loading from NAND more common... The cost of NOR flash and minimizing it. Sometimes compressing RISC code is a big win from a cost perspective. Like I said I used to investigate this as an entry level schlub.
      I later moved on to an embedded Linux project and of course the first thing was bringing down Uboot+arm-linux miserable boot time to something not so bad. In that time, the default u-boot code didn't bother with enabling caches (because there was not even basic MMU setup for the ARM). But I recall, getting the Linux and X11 based system booting in a similar timeframe (say 3 to 4 secs) as these guys. I'll note that I was also quite proud of the fact that when the screen came up, everything save for WLAN was actually done (no ongoing background init)
    These guys obviously are doing a job, but this isn't rocket surgery.. this type of stuff is all in a day's work for embedded grunts. Fast booting is an enabler to doing something useful which is usually more interesting, it is isn't the focus of use... though it can be damn important.

  42. 560 milliseconds from reset to shell by conan.sh · · Score: 1

    on 300 MHz ARM, NAND flash: http://www.makelinux.com/emb/fastboot/