Slashdot Mirror


Software Tweak Makes Linux Boot In Under 200 ms

An anonymous reader writes "A version of Linux has been created that radically speeds up system boot time -- to less than 200 milliseconds (ms) from power-up to application code startup. The techniques, created by Real-time Linux vendor FSMLabs, are processor independent, and boot times of under 100 mS are expected in the future." Update: 09/30 01:04 GMT by T : Yep -- both headline and post should have read "ms" (milliseconds) rather than "mS" (milli Siemens); thanks to all the alert readers.

67 of 385 comments (clear)

  1. Only for embedded devices by Professor_Quail · · Score: 5, Informative

    This isn't for desktop linux, only for embedded devices.

    1. Re:Only for embedded devices by herrvinny · · Score: 2, Interesting

      yeah, I saw that too.. Slightly off topic, but what's the fastest boot time you can get with a 300mhz laptop? I have a compaq armada currently running Win 98, and if Linux can boot up faster than win 98 (I disabled a lot of stuff that autolaunches, like virus scanners, firewall, etc) I can use the laptop to take notes in lecture.

    2. Re:Only for embedded devices by JesseL · · Score: 2, Insightful

      The article says this work was done to improve the boot time of embedded devices, but I don't see anywhere why these changes couldn't be applied to any other computers running linux.

      --
      "Prefiero morir de pie que vivir siempre arrodillado!"
    3. Re:Only for embedded devices by HidingMyName · · Score: 5, Interesting
      I'm not privy to his techniques, but he may be hardwiring the compiled kernel for the target architecture to get more speed (recall that when programming, using early binding times trade off flexibility for speed). Yodaiken's a smart guy, so I may not have guessed his tricks.

      Embedded devices may not need to do things like hardware discovery, plug and play configuration, etc. since their hardware configuration may be constant (so this stuff could be compiled into the kernel). Additionally, booting the kernel is different than doing various daemon startups and file system initializations, network configuration, etc. that one typically wants for non-desktop devices.

    4. Re:Only for embedded devices by ihopMaintenance · · Score: 5, Funny

      I disabled a lot of stuff that autolaunches, like virus scanners, firewall, etc

      Good idea. Virus scanners and firewalls use WAY too much overhead. Heck I used to run them and they interfered with my screen savers and stuff. Who needs em.

    5. Re:Only for embedded devices by Anonymous Coward · · Score: 2, Interesting

      Or how about this, mod the kernel to detect a successful boot and then immediately take a snapshot of the kernel memory.

      Next time on boot, just copy the memory image into ram, set the registers up right and then jump to the instruction pointer after where the snapshot was taken and just continue.

      I think windows does something like that.

      And I know for a fact that emacs does this to help speed up its startup time.

    6. Re:Only for embedded devices by wo1verin3 · · Score: 2, Informative

      >> Perhaps the instant-on concept confuses you?

      No, it's not a matter of confusion, the parent seems to be deciding to use Windows vs Linux based on the bootup time which is silly. There are tools for every job. Sometimes it is Windows, sometimes it is Linux.

      The alternative I suggested was to use suspend, a better option would be hibernate perhaps where the laptop is completely powered down. The Ram contents are written to harddisk. On an ACPI system windows begins loading and sees that it was in suspend and loads the hibernation file into ram, or APM where this function is controlled more at the bios level.

    7. Re:Only for embedded devices by danheskett · · Score: 5, Informative

      Windows does exactly that for its "hibernate" feature. Essentially hardware is returned to a safe state (write operation suspended, etc) and the contents of memory written sequentially to a block of disk space. On boot, a small stub is loaded, which copies the data from disk to memory. Execution resumes at that point. The last thing that Windows does before hibernating is to schedule hardware re-initilization in a short period of time - essentially ensuring that things like sound cards, video cards, USB devices, etc get a "soft" reset when out of the hibernation period.

      On a decent reasonable recent PC this takes a few seconds. On my fast AMD box I hit the power button and about 2 seconds later the box is off. Hit the power button again and its back on in about 4 seconds exactly where I left off. If I lost my DHCP lease in the interim it takes another 3-4 seconds for network connections to resume.

      But whats best about the changes MS made to Windows XP is the multi-threaded boot process. Other than the kernel load the userland stuff is mostly all multi-threaded even on boot. This means services and whatnot are starting concurrently without waiting for other things to finish. Its somewhat less safe - a failed service could potentially cause others to hang and lock the system and/or cause a reset - however, I've yet to see that problem in the field. The net result is that on a typical AMD/P4 Windows XP box you can get to a login prompt/welcome screen in under 30 seconds, often under 20.

      Users I've switched from XP to various Linuxes have all complained about the boot times - Red Hat 8 on similiar hardware takes eons to get a graphical login prompt. SuSE is just as bad. Mandrake is somewhat better, but all are in the minutes not seconds metric.

    8. Re:Only for embedded devices by mirko · · Score: 3, Interesting

      RiscOS could get from a cold boot to the GUI in less than 4 seconds on an ARM3/8MHz.
      I can't even measure it now on a StrongARM/202MHz, also consider the newest RiscOS powered computer : Iyonix (Xscale/600MHz)...

      --
      Trolling using another account since 2005.
    9. Re:Only for embedded devices by RAMMS+EIN · · Score: 2, Interesting

      ``Users I've switched from XP to various Linuxes have all complained about the boot times - Red Hat 8 on similiar hardware takes eons to get a graphical login prompt. SuSE is just as bad. Mandrake is somewhat better, but all are in the minutes not seconds metric.''

      IMHO, this is due to the Linux boot process having been inherited from Unices run on servers. Waiting a couple of minutes for the system to boot is annoying, but boot time is not really an issue on a system that is normally always up.

      I have an old 486 that boots Linux in seconds (not counting the power on self test). The trick? Don't load anything you don't need. The kernel is a aggressively stripped modular kernel (with support for IDE harddisks and ext2fs built-in). Other things (drivers for the network card, floppy drive, iso9660fs, ...) are provided as modules that are only loaded when needed. The init scripts mostly just remount the root filesystem read-write, and spawn a few ttys and allow users to log in on them. Pity I can't get decent colors on the gaphic card, otherwise it would make a great terminal.

      --
      Please correct me if I got my facts wrong.
    10. Re:Only for embedded devices by dublin · · Score: 3, Interesting

      Yeah, tried using that mode once on Windows98: Restarting after the hibernate didn't go as smoothly as one hoped:

      Oh, come on now... I'm no MS apologist, but Win98's power management support was notoriously bug infested. (I know - I was Program Manager for Dell's laptops when it was introduced!)

      Comparing this to W2K or XP is like comparing DOS to VMS. There are similarities, but they are only superficial. Power managment in XP is flawless, and implemented FAR better than in even the latest mainstream Linux distros, which always seem to be two years behind the times in hardware support. (

      Sadly, PM has never been very good in Linux, I think mostly because of the anti-MS bias - If you don't hang out at the Windows Hardware Developer Conference, how are you going to know enough about the PCxx standards (which, like it or not, *define* what a PC is and how it works) to write good PM code? Answer: You can't!

      I have to say though, despite the fact that I really dislike some of Microsoft's business practices, I recently upgraded my primary desktop to XP, and it's *by far* the best desktop environment I've ever used (after expunging IE/OE for Mozilla). Like it or not, XP is a real OS, and particularly as a desktop (still 100% BSD/Linux for servers), it's the most stable and functional setup I've seen. (And this is with the low-budget XP Home, since I didn't really need the few extra features of Pro they charge another $100+ for.)

      If I sound surprised, it's because I am - W2K was the first "real OS" from Redmond, and XP is a much bigger improvement on it than I expected. Now if they could just secure it, and would quit intentionally breaking things... (like for instance *every* (older) version of Visio - Grrrr)

      --
      "The future's good and the present is nothing to sneeze at." - Roblimo's last ./ post
    11. Re:Only for embedded devices by hesiod · · Score: 2, Funny

      > the last time I tried to suspend the armada

      The last time we tried to suspend the Armada, all our ships sank.

    12. Re:Only for embedded devices by Mr+Z · · Score: 2, Interesting

      I have a Dell C640 running WindowsXP Professional that does.

      Specifically, I encountered each of these problems before I gave up on hibernating my laptop and resuming later.

      • Laptop hangs during suspend/hibernate, with a pretty, blank blue screen. (I use dark blue for my backdrop, and that's what it displays.)
      • Laptop resumes, but I have no keyboard. I have mouse, though. Kinda hard to hit Ctrl-Alt-Del to log in.
      • Laptop resumes, I log in, and then mouse/trackpad "go away" after a second. Gotta go to the Synaptics mouse control panel and initiate a "reset" to get them back.
      • Laptop freezes during resume.
      • Laptop starts to resume, decides to reboot instead. Too bad for that Word document I had open.

      Of course, I use a lot of command prompts. Maybe that's it? (No, I'm not running old DOS apps. I'm using command-line utilities compiled with MinGW and Cygwin.)

      --Joe
  2. as if by commodoresloat · · Score: 4, Funny

    any linux user wants to sacrifice their uptime to boot faster

    1. Re:as if by jellomizer · · Score: 2, Insightful

      Well just remember these are for imbedded devices. Where Uptime is not much of an issue. A lot of these things are running on battery, so if you get 3 days of uptime that is absolutely grate because the wonderful battery life. For these devices boot speed is very important imagine a Palm pilot having to boot up normal linux when you turn it on. Oh your batteries would be dead before sendmail realized that there is no network configured on the system.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    2. Re:as if by robberbarron · · Score: 4, Informative

      Uh, a Palm pilot doesn't boot when you turn it on. It merely comes out of sleep. The only time it boots is when you hit the reset button on the back. Then it takes about 5-10 seconds to boot.

      However, there are a lot of embedded devices that do need to boot quickly. Automotive electronics like your radio, Nav-system, etc.. do boot up when you turn on the car, at least today they do.

    3. Re:as if by Erik+Hensema · · Score: 3, Insightful

      Real men measure uptime as a percentage, not as an absolute value.

      --

      This is your sig. There are thousands more, but this one is yours.

  3. incredible by alienhazard · · Score: 5, Informative

    this is certianly incredible, but it is not yet available for x86 platforms. Do note, that this is not the boot sequence up till you get the login prompt, but just the initial loading of the kernel.

    --
    > "I allege that SCO is full of it" -Linus
  4. NOT Only for embedded devices RTFA by Anonymous Coward · · Score: 2, Informative

    RTFA
    "Yodaiken said the new fast boot technology also supports many Intel x86 boards"

    1. Re:NOT Only for embedded devices RTFA by mcspock · · Score: 3, Informative

      Did you read the article? This was only in the context of EMBEDDED devices, and there are MANY Intel x86 embedded boards. These are very different from desktop linux, with the myriad of devices your standard PC has.

      --
      -- Patience is a virtue, but impatience is an art.
    2. Re:NOT Only for embedded devices RTFA by jonadab · · Score: 5, Informative

      Nevertheless, it's clear in the article that we're only talking about
      kernel boot time here (which is usually about five seconds). The
      _other_ three hundred seconds your system spends booting (starting
      all the services and stuff, then X, then your desktop environment,
      then any apps) are unaffected.

      --
      Cut that out, or I will ship you to Norilsk in a box.
  5. They (re)invented XIP? by Dancin_Santa · · Score: 3, Informative

    It works by loading the OS to RAMDisk from Flash... Sounds like eXecute In Place.

    Not the most original thing in the world, but definitely necessary to keep Linux in step with other heavy embedded operating systems like WinCE and VxWorks.

  6. kernel boot != complete system initialization by Ankh · · Score: 5, Informative

    Note that for embedded systems the main interest is how long it takes for the kernel to load, not how long it is before a multi-user server or workstation has a prompt that says "login" on a pretty X display.

    So, this is a good improvement it seems, but shaves away 4.5 seconds or so out of maybe 30 sconds or over a minute for many people. Combined with the parallel init scripts work mentioned a few days ago,though, I'm guessing that Linux systems will be booting a lot faster with the major releases in 6 months to a year.

    --
    Live barefoot!
    free engravings/woodcuts
    1. Re:kernel boot != complete system initialization by Weaselmancer · · Score: 4, Insightful

      So, this is a good improvement it seems, but shaves away 4.5 seconds or so out of maybe 30 sconds or over a minute for many people.

      True, but this is still great.

      The article says, "less than 200 milliseconds (mS) from power-up to application code startup." The thing that makes this great is that not every device is going to go through the entire *nix init sequence.

      How about a device like a Linux embedded router, or something like that? Just a kernel running and that's all. Or how about a dashboard mp3 player that only needs to run one application?

      This makes Linux much more like customized firmware, and there are plenty of places to use that.

      Granted, this'll be great when it makes it to the desktop, too. =)

      Weaselmancer

      --
      Weaselmancer
      rediculous.
  7. Slightly off topic but about *nix boot times by Zelet · · Score: 2, Insightful

    I have noticed that *nix boot times are noticibly longer than Windows XP boot times. I have never been able to figure out why this is - does anybody know?

    Thanks
    John

    --
    ...And when they came for me, there was no one left to speak out for me." - Martin Niemoeller (1892-1984)
    1. Re:Slightly off topic but about *nix boot times by gordyf · · Score: 4, Informative

      Linux starts its services before it brings up the password prompt. Windows loads, displays the login prompt and continues starting services in the background.

    2. Re:Slightly off topic but about *nix boot times by TD_3G · · Score: 3, Insightful

      Windows XP doesn't finish loading everything before you actually see the screen. Not sure about your system, but my XP get me to the welcome screen in maybe 15 second... the welcome screen then sits there for about another 5 seconds, then I finally get my login... after logging in it continue to load a lot of my device drivers which freeze the system up (not completely but make it slow to the point I can't use it) for about another 30 seconds. You could probably modify init to provide you with a login prompt before it starts running all the services... this way here you'd be able to login and use the system and the services would load up in the background while you were doing this. That's basically what XP does, realistically the time it takes me to get from loading to services start up in Linux is probably under 10 seconds... the services are what seem to take the most amount of time. They take about 20 seconds all around to load -- Depending on how many I have. My Server system boots up in about 15 seconds total from loading to login prompt... all services loaded.

      --
      ...
    3. Re:Slightly off topic but about *nix boot times by gerardrj · · Score: 2, Interesting

      Yes, GNU/Linux could theoretically do this. But we're mostly missing/off the point of the article:

      The article is talking about Linux boot times. As they mention, Linux boots in 5 seconds on most cases (embedded or on your system) from the boot loader to kernel initialization is quite fast.
      The kernel (Linux) then starts loading application code (network services, security daemons, x windows, etc).

      To your question: Parallelizing services initialization can dramatically improve time to log on screen (LOS). Apple did this around OS X 10.2 IIRC (went from sequential to concurrent service loading) and cut down the time to LOS dramatically.

      You can probably (for example) load your network stack and local modular drivers at the same time. Then you can start all the services that depend on those: NTP, name server and mount any remote file systems. After that, most dependencies should be handled and the rest (smtp, http, ftp, telnet , ssh, etc) could all be started in the background while the system started in to multi-user mode and perhaps loaded X.

      In an ideal world all those startups would be completed before any LOS is presented, but the LOS should probaly be delayed until the system has completed the load-in process.

      --
      Article X: The powers not delegated... by the Constitution...are reserved...to the people
  8. Seems pretty simple to me by MerlynEmrys67 · · Score: 4, Interesting
    Rather than keeping a kernel that gets loaded at boot time...

    Keep the image that the kernel creates AFTER boot - simply load that into memory and restart.

    That said - you still need the long boot the first time, and after any hardware changes. Also, I am guessing to get it into the sub second range - hard drives are right out as well - and all of the silly boot managers. But for an embedded device - who cares

    --
    I have mod points and I am not afraid to use them
  9. Booting Linux Faster through Blocking by Eponymous+Cowboy · · Score: 5, Informative

    Although this article refers to embedded systems, the earlier Booting Linux Faster article contained an overlooked post by TornSheetMetal, who had a great idea on how to make Linux, or any operating system start up faster on any system.

    Simply run every startup script simultaneously, but have each script block until its dependencies have started. Nothing waits longer than it needs to, and there is no need for additional complex systems to check and manage dependencies.

    This is VERY easy to do with daemontools and svok (both written by D.J. Bernstein, the author of qmail). Switch over and you'll never go back.

    --
    It's hard for thee to kick against the pricks.
    1. Re:Booting Linux Faster through Blocking by targo · · Score: 4, Informative

      imply run every startup script simultaneously, but have each script block until its dependencies have started.

      Btw, this is pretty much what Windows XP does, that's how it achieves a much better boot time compared to earlier Windows versions.

    2. Re:Booting Linux Faster through Blocking by FooBarWidget · · Score: 2, Informative

      Havoc Pennington said he already tried that before, but the end result was *slower*, not faster. Basically, it's because of disk seeking time. Harddisks are slow. Simultanous loading will result in a seek storm which makes everything load noticably slower. The same is true for applications: if I try to load Galeon and Mozilla Mail at the same time, the total time is higher than when I load Galeon, and then Mozilla Mail.

    3. Re:Booting Linux Faster through Blocking by Anonymous Coward · · Score: 5, Informative

      That's why it is necessary to do what Windows XP does: each time it boots, it records the order of sector accesses. Then, when it is later idle, it reorganizes those sectors to optimize them for the next boot--a much smarter form of the traditional "defragmentation." The result is a recursive iteration to the optimal sector organization, and the fastest possible boot. (Incidentally, it also does this while loading each individual application, which is why applications start so much faster under XP than 2000.)

  10. Re:Which prompts the question: by Anonymous+Crowhead · · Score: 5, Funny

    alias uptime="echo '5:33pm up 22342352324 days, 6:28, 2124315623 users, load average: 2432.40, 12312.31, 123123.19'"

  11. Another Windows optimization by MerlynEmrys67 · · Score: 4, Interesting
    Windows does some very intersting things with both optimizing the location of sectors on the hard drive and loading drivers

    For the hard drive - rather than put executables down 1-n on the hard drive - Windows (for many years) figures out the load order of sectors of the executable - and fragments them across the sectors in that order - net effect +10-50% load time boost from using the hard drive effectively

    For drivers - there is this really interesting way that windows is now initializing driver loading by putting them into the kernel image itself... Kind of like taking modules in Linux - and rather than having the overhead of loading the module each time you boot - insert it into the kernel - and letting the kernel load (with a "static" module in now) - This one is a little trickier to put into a Linux environment... what does the GPL say if I have a loadable module - yet the kernel now statically links it in as an optimization... I don't even want to go there

    --
    I have mod points and I am not afraid to use them
  12. I'll be impressed by commodoresloat · · Score: 2, Funny

    when linux boots 200 mS before I turn the computer on.

  13. 100 mS? by pesc · · Score: 2, Interesting

    But what does electrical conductance have to do with boot times? 100 mS is 100 milliSiemens. Milliseconds is abbreviated ms.

    --

    )9TSS
  14. And for the desktop, there is always LinuxBIOS by drfreak · · Score: 2, Interesting

    check out www.linuxbios.org. Too bad I don't have any motherboards with a supported BIOS. It sounds way cool. Kind of like turning a legacy PC into a modern embedded device. heh

  15. Re:Wait a second, or rather, 200ms by Penguinshit · · Score: 4, Funny


    Linux doesn't crash. It "creatively parks".

  16. They removed the offending code: by cybermace5 · · Score: 2, Funny

    // Code to make Linux startup look like it's doing something
    // Insert in a few hundred random places
    long foo = 0;
    while (foo < 10000000)
    {
    foo++;
    }

    --
    ...
    1. Re:They removed the offending code: by praxim · · Score: 2, Funny

      Hey, hold up there! You don't want a nasty letter from SCO's lawyers, do you?

  17. No, it is not that simple at all. by seanadams.com · · Score: 5, Interesting

    Go RTFA - several points: You don't just simply "load an image into memory" and have a running system. This is why properly supporting APM is difficult on any machine. All your hardware needs to be reinitialized. Network connections need to be reestablished (getting IP and so on), file systems need to be remounted, there are all kinds of timer-driven things that need special handling, and so on and so forth.

    What these guys are doing is optimizing for embedded systems - where the kernel is hardwired for exactly the same hardware every time. You don't need to probe, and you don't need to guess what state the hardware is in - it's a closed system and it's the same at every power-on. Furthermore there are all kinds of things you can initialize simultaneously when you can optimimize for a deterministic environment - if your video system wants a moment to do a POST, you can spend that time initializing a network interface, for example.

    Also, the definition of "boot time" for this dicussion is the time until the first application-level code runs. That's something like only 1/3 to 1/2 of the boot time for a typical linux server or desktop that you're thinking of. Most of the time is spent bringing up userland services and loading the graphical environment. There's a big savings on big workstation in flushing RAM to disk, but not so much for small embedded systems, where application state is very minimal (eg a Tivo, or a wireless router).

  18. Misleading... by DroopyStonx · · Score: 2, Insightful

    What a misleading article.

    Could've at least put non x86 or embedded device in the title.

    --
    We have secretly replaced these Slashdot mods' sense of humor with a rusty nail. Let's see if they notice!!
  19. Would make a great commercial by niko9 · · Score: 2, Funny

    Scene one, Act One

    Adrian Lamo in a orange prison jump suit conferencing wit his attorney.

    Ring Ring

    Attorney: Hold on Adrian, I have to take this call. (talking into cellphone) Yeah.. ok... Great! ok..Thanks!

    Great news Adrian!

    Adrian: (curious/happy): What?!

    Attorney: I just saved 4.8 seconds on my Linux boot time with FSMLabs!

    Adrian: :(

  20. why is it ... by sl0ppy · · Score: 4, Insightful

    ... that when a company doesn't put its kernel changes out immediately, there's calls for hanging them for violating the GPL, but when a linux company optimizes boot-up routines in the kernel, nobody is asking when the patches are going to be making it into the mainline kernel?

    from the looks of the article, FSMLabs has been basically profiling the kernel, looking for sticking points, and optimizing them.

    why wouldn't at least some of this work be contributed back to the mainline kernel? it is modifications on a GPL'd kernel, after all.

    1. Re:why is it ... by seanadams.com · · Score: 5, Insightful

      They only have to distribute their source to whomever they distribute a binary, if and when they do so. Under the GPL you do not bear the burden of publishing, distributing, and supporting source changes that you made for your own use, or changes which you have not yet distributed.

    2. Re:why is it ... by sl0ppy · · Score: 2, Insightful

      They only have to distribute their source to whomever they distribute a binary

      and this is different than linksys how?

      this isn't meant to be a troll, but i'm really not seeing how this is different.

      FSMLabs sells RTLinux, a real-time version of linux. i'm sure that they are doing their duty and distributing the source of the RTLinux kernel. wouldn't their additions to the kernel become GPL, and be able to be integrated into the main-line kernel?

    3. Re:why is it ... by sl0ppy · · Score: 2, Interesting

      nah, i know why they haven't released it (or at least i have a pretty good idea). my proof-of-concept code is usually tersely written and not tested under all conditions, and i'm assuming theirs is as well. i'm sure they'll release it when it's all cleaned up :)

      my first part wasn't "why haven't they released this", but more a jibe at people that seem to think that releasing code is super-fast.

      i've tried to go thru legal to get supposedly "proprietary" code released to GPL (even if it's a requirement of the license that legal already accepted). my thought is that we should be more patient, rather than attacking linksys, or apply that rage evenly, and complain in this case as well.

    4. Re:why is it ... by nathanh · · Score: 2, Informative
      ... that when a company doesn't put its kernel changes out immediately, there's calls for hanging them for violating the GPL, but when a linux company optimizes boot-up routines in the kernel, nobody is asking when the patches are going to be making it into the mainline kernel?

      Because the GPL only guarantees your right to source code if you first receive the modified binaries. You can't demand the source code "immediately" once the change has been made. FSM could conceivably keep this project in-house forever without releasing the source code. However as soon as they distribute binaries they must provide the source code.

  21. Good news. Now my software can be more buggy. by stienman · · Score: 5, Funny

    I had a professor tell us this story of one of his previous coworkers:

    She had designed and implemented a simple service on top of unix which was accessed by a moderate number of users. When the time to put it into production came, she looked at her remaining few crashing bugs and determined to put in a monitoring loop that would reboot the server if such a situation happened. She also determined that no data loss would occur.

    Why did she do this workaround, and how did she determine what bugs she could leave in?

    She had a 5 digit company phone extension. She determined that someone could call her, if she let her phone ring twice, in a short period of time. During this time the server would have finished rebooting and start serving again. She could answer the call and simply say, "Try it again", whereupon the user would find that his operation worked this time.

    So remember - if your server can reboot itself (and does so automatically and safely) before they can finish dialing tech support, you have no worries!

    -Adam

  22. With XP, outer rim. by phorm · · Score: 2, Interesting

    Try instead setting an "automatic login" to a default user... count your time period up to the point where everything has stopped loading (your hard-drive will stop ticking, heh) and all your tray icons etc etc are in place. Significant difference between that and booting just to the initial user-selection/login screen

    For linux, you can try a few hard-disk tricks. Also, your filesystem might be slow... try reiser as it seems to run quite nicely. For swap partitions, put them at the end of your hard disk. Just before the swap partitions, if you have any always-loading speed-required files, try making a partition there where you can stick 'em.

    There are lots of things you could tweak... being able to stick "/lib/modules" or "/usr/bin" at the end of a hard-disk could actually save you some time if you're loading a lot of stuff from there on bootup, as files on the outer rim of the HDD would load faster...

  23. Re:200 mS? by Russ+Steffen · · Score: 4, Funny

    Actually, the "S" unit refers to the Imperial Second, which is defined as the interval of time between now... and now.

  24. WTF?!?! by monkeyboy87 · · Score: 2, Informative
    Why do we care how long it takes to boot something that can have an uptime measured in months and years??!?!?

    oh wait. these are embbeded systems for things security, monitoring equipment etc. yeah i can see reboot times being critical.

  25. Re:Which prompts the question: by Wakkow · · Score: 2, Funny

    Load average of 123123.19?! Holy crap. I'd rather it look like this:

    5:33pm up 22342352324 days, 6:28, 2124315623 users, load average: 0.01, 0.00, 0.00

    The uber-server.

  26. Re:Why bother anyway? by trippinonbsd · · Score: 3, Insightful

    For servers a big draw back is that if you have to patch the kernel (or update it) you must reboot, but if the acual reboot only takes less than a second, users might hardly notice the downtime (you could reboot and keep a 99.99% uptime).

  27. And everyone knows... by Kashif+Shaikh · · Score: 4, Informative

    ...Windows might boot faster, but as we all know windows has D.S.S. capabilities which means "Delayed Service Startup":)

    In other words, it loads everything AFTER you login, no joke;)

  28. The Power Companies by Kujah · · Score: 3, Funny

    It's too bad the damn power companies havn't spent some time improving their boot times... it took them like a week to restore my power *grumble*

  29. Want a faster boot? "Make" it so. by yerricde · · Score: 2, Informative

    Problem is dependency but I've seen some quite good solution to this.

    If you want to make some daemons run, and some daemons depend on others, why not use a GNU tool specially designed to handle dependencies? Make the initscript into a makefile, and GNU Make should handle starting daemons quite nicely.

    --
    Will I retire or break 10K?
  30. hello! This doesn't affect you! by GISGEOLOGYGEEK · · Score: 2, Informative

    Won't someone here get a clue! This has nothing to do with a server or desktop computer! ... so give up all the bragging about how this beats windows, and all the boasting that you haven't booted in 4 years so it doesnt matter...

    This doesn't affect you.

    --
    George Bush + Linux = "I will not let information get in the way of the fight against Windows"
  31. Re:I want the opposite by bockman · · Score: 2, Informative
    You would need something to preload the most heavy KDE shared libraries at boot time and keep them in memory.

    Some slow-to-start program (e.g. galeon) can be started in 'daemon mode' to speed up the GUI start-up response (most of the initialization time is done by the daemon at boot time).
    But it should not be difficult to make a program that just ldopen() a bunch of shared libraries and then stays alive (dunno if it will be swapped out, however).

    If there is some KDE program that does not display anything but still uses most of the KDE libraries, it could be started as a service with a fake account, just to keep those libraries in memory.

    --
    Ciao

    ----

    FB

  32. Re:Which prompts the question: by YOU+ARE+SO+SUED! · · Score: 2, Interesting
    For the record, your load averages won't go above 1024.

    It's been 17 seconds since you hit 'reply'! It's been 16 seconds since you hit 'reply'! It's been 15 seconds since you hit 'reply'! It's been 14 seconds since you hit 'reply'! It's been 13 seconds since you hit 'reply'!

  33. make -j by Julian+Morrison · · Score: 2, Interesting

    Seeks storms aren't inevitable doing stuff in parrallel. The Kernel's quite capable of handling a modest amount of simultaneous disk accessing. It's only doing too much at once in parralel that leads to "thrashing".

    Perhaps a solution would be the equivalent to "make -j", where you can tune how many simultaneous things to run. In fact "make" is a good model for this whole approach, since the control mechanism will also need to do dependency-blocking.

    Other refinements that occur to me:

    - Things could be marked as "light", "medium", or "heavy", and the "weight" of simultaneous running processes kept constant.

    - The control process could be adaptive, tracking the "load average" and altering the "weight" of individual processes to seek a best aggregate run time.

  34. Sort of depends the details... by macshit · · Score: 2, Informative

    This is a timed version of my kernel boot sequence on an RTE-V850E/ME2-CB board (a rather pokey processor -- 80MHz); the first column is seconds:

    [ 0.002619 ] Linux version 2.4.21-uc0 (miles@mcspd15) (gcc version 2.9-v850ice-000414-nmit-20010327) #62 Wed Jul 16 16:03:57 JST 2003
    [ 0.009299 ] On node 0 totalpages: 8192
    [ 0.019597 ] zone(0): 8192 pages.
    [ 0.030390 ] zone(1): 0 pages.
    [ 0.030635 ] zone(2): 0 pages.
    [ 0.030891 ] CPU: NEC V850E/ME2
    [ 0.031065 ] Platform: Midas lab RTE-V850E/ME2-CB
    [ 0.031322 ] Kernel command line:
    [ 0.031869 ] 50 BogoMIPS (precomputed)
    [ 0.067024 ] Memory: 24388K/32768K available (291K kernel code, 150K data)
    [ 0.068884 ] Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)
    [ 0.069639 ] Inode cache hash table entries: 2048 (order: 2, 16384 bytes)
    [ 0.070279 ] Mount cache hash table entries: 512 (order: 0, 4096 bytes)
    [ 0.071467 ] Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.072234 ] Page-cache hash table entries: 8192 (order: 3, 32768 bytes)
    [ 0.073991 ] POSIX conformance testing by UNIFIX
    [ 0.074414 ] Linux NET4.0 for Linux 2.4
    [ 0.074663 ] Based upon Swansea University Computer Society NET3.039
    [ 0.075648 ] Starting kswapd
    [ 0.078020 ] Serial driver version 5.05c (2001-07-08) with no serial options enabled
    [ 0.078538 ] ttyS00 at 0xfe08000 (irq = 90) is a 16550A
    [ 0.079150 ] Blkmem copyright 1998,1999 D. Jeff Dionne
    [ 0.079349 ] Blkmem copyright 1998 Kenneth Albanowski
    [ 0.079544 ] Blkmem 1 disk images:
    [ 0.079889 ] 0: 876000-FCE7FF [VIRTUAL 876000-FCE7FF] (RW)
    [ 0.084282 ] VFS: Mounted root (romfs filesystem) readonly.
    [ 0.085781 ] Freeing unused kernel memory: 20K freed

    Whoo, 80ms!

    Not that useful though (no network devices; network devices seem to take forever to start)...

    --
    We live, as we dream -- alone....
  35. Re:Congratulations by vidarh · · Score: 2, Informative
    "fast flash" is an oxymoron. Flash is slow slow slow. You most certainly don't want to execute code straight from flash unless your system is ridiculously slow anyway.

    Just copying a kernel or a suspend image from flash will give a quite noticeable delay.

    And take a look at swsusp - restarting a suspended kernel is NOT trivial. You need to reinitialise hardware, some of which may not allow you to read back their state (graphics cards being a common culprit) so that you need to know what state they were in on suspend.

  36. Uhhh, milli Siemens? by sdijkstra · · Score: 2, Informative

    "milli Siemens"?

    Is that some sort of miniturized German electronics manufacturer?

    I always thought that mS stood for "milli Sievert", a unit for ionizing radiation...

    --
    __

    Not believing in force is like not believing in gravity.
  37. Suspend vs Hibernate by arete · · Score: 2, Informative

    First of all, most people in this thread. are talking about suspend/standby, not hibernate. Hibernate is a no-power mode ('cept the clock) which writes all RAM data to disk, while standby is a low-power mode (no display, disk, etc.) that just basically waits. Hibernate is historically somewhat less reliable, although either will destroy open network connections. Both modes work quite well in Win2k+, although I'd certainly be scared in 95/98/ME.

    On most laptops I've seen, you can set the bios to send standby, hibernate, or nothing to the OS when you close the case. Any effect can be used with the case open by selecting it from the Start-> Shutdown menu.

    On my 233Mhz Thinkpad 600 (which is a wonderful if aged machine, but which isn't technically supported by Windows 2000 which is running it) I have case-close mapped to standby and the power-button mapped to hibernate. I also have autohibernate on low battery. So if I close it it goes to standby and from standby it'll shutdown if it gets in danger of running out of power to stay going. (Standby does _not_ last indefinitely on battery)

    I've had Windows 2000 fail to recover on hibernate, but not very often and that machine had other issues. I've _thought_ standby was failing on this laptop because the response time to the wakeup button-press varies and isn't particularly fast. It's occasionally woken up without the mouse, but the mouse is finicky to start with (again, W2k doesn't properly support the onboard mouse) Sleeping and waking again has always fixed the problem, all applications still running.

    All of that said, however, I certainly recommend saving everything important before sleeping, hibernating, changing power sources, or transporting the machine (even in case-closed but staying on mode) All of those things are somewhat more risky than doing nothing, but less risky than some applications.

    --
    Looking for freelance Actionscript (Flash/Flex) or ColdFusion work and/or freelance developers. Email me, put Slashdot
  38. MacOS X by arete · · Score: 2, Informative

    MacOS X is by far the best desktop environment _I've_ ever used, and it's far better than XP. It does tend to be more expensive, of course.

    It does almost everything you want it to, and it does it automatically, and they're constantly building new features in smooth ways.

    It also has one of the largest available software bases around: It runs MacOSX software, MacOS7/8/9 software, linux/BSD software compiled for PPC (X11 isn't installed by default, but the OpenOffice.org installer smoothly includes it, for instance, and it's on the OSX CD) and has an available emulator (VPC) that allows you to run x86 in a window, including Windows or Linux.

    Even they aren't perfect, but they're closer than anybody else. Oh, and "Mail" rocks, hard.

    --
    Looking for freelance Actionscript (Flash/Flex) or ColdFusion work and/or freelance developers. Email me, put Slashdot