Home Home > 2007 > 08 > 12 > Sneak Peeks at openSUSE 10.3: Greatly Improved Boot Time
Sign up | Login

Sneak Peeks at openSUSE 10.3: Greatly Improved Boot Time

August 12th, 2007 by

openSUSE 10.3 is going to be filled with new improvements and exciting technologies. To allow you to discover exactly what the developers have been working hard on behind the scenes over the last few months, we bring you a little series: Sneak Peeks at openSUSE 10.3. Today we are looking at the great new improvements to boot time in openSUSE.

openSUSE 10.3 will include some great improvements to the init boot scripts which will dramatically decrease the time your computer takes to boot up. These come as the result of many different tests and research (documented here, and here); the first round of improvements have already been submitted and will make it into the final release.

Tests and Rainy Days

Several tests were run by Frank Ruell including using the fcache kernel patch, Ubuntu’s SysV init replacement upstart, and the ext3 block remapper. This motivated Stephan Kulow, now openSUSE’s Project Manager, to start some work on it during one rainy weekend. The results are incredibly impressive, so we ran some extra tests with bootchart to get some specific figures.

All the results below are from a Sony Vaio VGN-FE11S, with completely default installs, local users, and IP configured via DHCP. Booting in openSUSE 10.2 was unfortunately pretty slow. To get from the Boot Loader screen (GRUB) to the login screen (KDM used throughout) it took around a painful 55 seconds; in openSUSE 10.3 Beta 1 this has been reduced to just 27 seconds!

Below are the respective bootcharts:

openSUSE 10.2 - boot to KDM openSUSE 10.3 - boot to KDM

Talk with Stephan Kulow

To find out just what changed and to get more information we talked to the man himself.

What exactly did you end up changing?

One thing that is obvious in your 10.2 bootchart is that ZMD significantly delays the start-up time and we managed to get rid of it due to libzypp and zypper. We moved out all kinds of boot scripts from the default installation that were scanning hardware on boot. So now we just rely on YaST to e.g. install lvm2 if there is a lvm setup. I also patched startpar (our “initng” that we have had since about forever :) ) to prefer xdm startup over everything else.

I reviewed all sleeps during startup and shutdown to see if they can’t be replaced by something useful and I reviewed everything that is started before *dm to see if it really is necessary. For example, we now delay the firewall setup until the network startup itself is actually due. In the past it used to be started before everything, which was really more secure than necessary. I also optimized the preload lists so that we only preload stuff that specifically improves the boot time Oh, and we found one big bug – SaX2 wrote support for xfs into the default X config, which in itself caused a 5s sleep if you do not have xfs.

I noticed that shutdown time has also significantly decreased. What happened there?

On shutdown I saved 8s in not waiting for things by simply sleeping and instead to simply poll the event we are waiting for.

Any plans for the future?

For trivial changes there is only really potential for another 1-2s, but the big plan we have is online defragmenting. People claiming that you do not need to defragment on Linux must never boot. On your 10.2 installation above for example, after 2-5 system updates it would probably take 80s to boot instead. This is because doing updates fragments the files you need to boot, so you seek a lot and that causes more delays.

You can see Fengguang Wu’s Boot Linux Faster talk for more information.

Thanks!

Both comments and pings are currently closed.

19 Responses to “Sneak Peeks at openSUSE 10.3: Greatly Improved Boot Time”

  1. Ivan

    “openSUSE 10.3 will include some great improvements to the init boot scripts which will dramatically increase the time your computer takes to boot up.”

    Erm, I’m assuming this should read decrease, not increase.. ;)

  2. That is impressive. Way to go!

  3. Awskrates

    Opensuse has a (mostly undeserved) reputation of being slow and heavy. Your work will help in this regard. Keep up the good work!

  4. Reon

    Lovely, this is just what I wanted!

  5. Ole Holm Frandsen

    “We moved out all kinds of boot scripts from the default installation that were scanning hardware on boot. So now we just rely on YaST to e.g. install lvm2 if there is a lvm setup”

    I was just thinking, could this be a problem when you add new hardware to your desktop? That is simply can’t find it or was the old way just double work?

    But, anyways nice to see that the boottime is getting lower, its fine as long as it does not make a lesser preformance. :-)

    Keep up the nice work and good day :-)

    • Bob Heise

      I think I got hit by this. I updated from 10.2 to 10.3, and it didn’t like to find my LVM2 root partition. I was able to get the safe mode to boot, and now the normal kernel works too. It also used the libpata instead of the old pata drivers, so it changed my devices to sda so my old kernels don’t like to boot, but that’s not really a problem.

  6. Petri Järvenpää

    Wow, that IS really sweet!

    This really improves the OpenSuse experience on laptops and embedded systems like my digital TV receicer.

    Keep up the good work!

  7. Ben

    Very very nice, I tested Kubuntu vs openSUSE 10.2 and openSUSE 10.2 still booted faster. SUSE may be a bit bloated, but it may do something faster / better

    • apokryphos

      Hi there, out of interest, why do you think SUSE is ‘bloated’?

      • richlv

        i’m not the original commenter, but i believe some bloat comes from the fact that not all software is modular enough, thus requiring any generic binary distribution to compile the support in. for example, if i am using amarok with sqlite only, i still get mysql and pgsql support (though there are plans to make this support loadable, there are other examples).

        and then there are some weird dependancies, like sles 10 “base” pattern required gnome-icon-theme ;)

        otherwise the bloat is either perceived, or because of the default installation settings (who thought it is a good idea to have zmd enabled by default in 10.1 or 10.2 ? ;) )

  8. MRx

    Well – xwindow is rather slow(compared to other distributions) if we want to make openSUSE fast it should by cheked what is going on.

  9. great job… keep openSUSE as the great distro we all prefer… (y)

  10. Nice job, this is great. If this is what happens during rainy days, let there be more rain ;)

  11. Great work opensuse team!

  12. terry

    I have been an SuSe user since version 5.0 and have seen the up downs of this great distro , I have strayed some times
    to other distros like at the present , I have Ubuntu on my Laptop but with 10.3 , I will converting back to opensuse , As a Linux user group convener I need to look at various distros but most of the time I all wauys come back to SuSe nest Monday at the linux group I will be showcasing 10.3 for sure.

    Great work opensuse team!

    Regards Terry

    Linux & Open Source SIG at Melbpc User Group

  13. dez

    i have been using both mandriva (before name change until now) and suse, just before the takeover
    i purchased the 8.1 box set and found that on some occasions that has saved me a few times lol

    i personally think boot times are the most important, this is due to the snazzy ms things happening (im not condoning propriatery, im just saying they did somthing good)
    and i think we as linux users need to get our boot times in par, if not even better than a default installed xp startup.

    i had experimented with initng on mandriva, and i was like WTF! (blinded by the difference in speed) was a bit ugly to watch though,
    mabye ppl could learn from fedoras idea to start x first then load stuff
    , but instead of getting all fancy, why not incorporate somthing like the initng while x has started to load the services?
    mabye that might work, as u can see im not a programmer but i have a fair idea on how things work.

    i have 10.1 gm dvd as the latest suse, and mandriva 2007 spring (paid for edition)
    these are my new found adversaries/allies in the os world.
    until then i use xp for my games, until i can figure what to do about my ati card etc (another story)
    this is a great idea.

  14. Jean-Loup

    Well, thank you for this work. But I experimented some problems in name resolution with dns and ldap du to their starting order I suppose.
    To get a safe start of network services, I have to boot in runlevel 1, then 3, then 5 (not very fast ;). Note that I am my own client for DNS, LDAP, and so on …
    When I let the system boot by its own network services are not started on the same order against differents boots.
    I think that there is some work to do there ;)
    Maybe we have to first starting dns, then ldap, and then the other services.
    If this can present some interest I will send you my “boot.msg” files.

    Thank you again for your work and your patience. Best regards from France!

  15. A.K.

    Fantastic Improvement! It was embarrassing to tell non technical users how much faster and more stable linux and other UXs were compared to Windows XB (Xtra Bloated) only to have them complain/laugh at the SLOW Linux boot-up time. Now with Suse 10.3 booting up faster that VISTA (Ultra-Bloated) or WinXB they’re really impressed, especially on the really powerful multi-media and user-friendly features that Suse team put in version 10.3. I have totally windows-only users hooked (like addicts) on Suse; they comment to me that the main differences the notice with Suse over Windows is bettter Snappiness of application startup (i.e. browser/Medi-players/etc) in SUSE 10.3 over Windows AND the fact that there workstations and laptops are wonderfully silent (i.e. no Hard-drives noises) compared to Windoze (with it noisy (and slow) NTFS and inferior caching algorithms)