Mandriva has done quite a lot of work on optimizing boot speed for its latest release, Mandriva Linux 2009. Frederic Crozat (head of the French engineering team) has written a blog post summarizing Mandriva’s past work on this front, and the tweaks and improvements made for 2009. It shows that close analysis of inefficiencies in boot, and fixing ‘small’ bugs, can result in gains as large or larger than ‘big picture’ items like new initialization systems.
Just shows how much effort goes behind the screen.
Agreed. None of this work is glamorous, but if you can reduce the startup time of your machine by 20% or more, that’s a pretty cool result.
This is why I use a desktop distro where things are optimized for the desktop. Server distros like red Hat, Suse or even debian don’t care about boot time, as they usually stay up for months. Mandriva is really the best distro for the desktop in my opinion. It has desktop stuff like fast boot time, DKMS and the draktools that makes it the most desktop suited distro.
Red Hat is amoung the largest desktop contributors including the #1 contributor to Xorg and many of the freedesktop.org components.
Even if you read this article, bootchart, preload, readahead and other major components come from work done within Fedora. Arjan’s original work to demonstrate boot speedup was done within Fedora and there is some development changes made already in view of that.
https://www.redhat.com/archives/fedora-kernel-list/2008-September/ms…
Indeed, Fedora do a lot of valuable work in the area. Everything is ultimately a collaboration, that’s how open source works (ideally).
Of course, Xandros had a super-fast-boot system tailored to the Eee hardware before Arjan’s work – it’s what comes with the Eee. Claudio Matsuoka has been working on reimplementing, improving and extending Xandros’s system since early this year, as the finit project: http://helllabs.org/finit/ .
I just hope that every damn distribution does not create its own init system. There is just no reason to keep reinventing the wheel. This is just hell for anyone trying to make their applications work across distributions.
Unfortunately, I believe it is already the case. They mostly use SysV init system, but it’s rare to find 2 distros that use the same script to start a service and most of the time you can’t use init scripts from distro to distros. And they don’t even use the same commands to manage services (chkconfig for red hat, rc-update on gentoo, update-rc.d on debian and so on). I believe the init process is one of the main things that differenciate distros, along with the package manager.
Maybe, but personally I see that as one of the selling points between different distros.
For example: I prefer BSD’s init approach and when I need to fall back to linux, the distro I choose tends to be one with BSD influences (Slack, Arch, etc)
Rahul: nothing discussed in Fred’s blog is about creating an init system, it’s about improving efficiency within an existing one.
Mandriva uses prcsys, which is mentioned in Fred’s post. It’s a very light parallel initialization system which is 100% compatible with SysV. All that’s required for it to work is service dependency information embedded in the comments at the start of the initscripts themselves – which is actually a freedesktop standard. You can disable prcsys and use a conventional SysV boot by passing a single kernel parameter (‘nopinit’). prcsys also transparently handles initscripts which don’t have the dependency information added (i.e. completely conventional SysV initscripts).
Also, prcsys was there first. =) We’ve been using it since January 2006, rather before Ubuntu came up with upstart.
I am aware of that. Just pointing out as a general commment and not about Mandriva specifically.
http://www.phoronix.com/scan.php?page=article&item=x_server_contrib…
“Intel was by far the biggest contributor with over 13% of the commits.”
Phoronix article talks about a single release. I am referring to a much longer cycle.
http://www.kroah.com/log/linux/lpc_2008_keynote.html
More details at
http://fedoraproject.org/wiki/RedHatContributions
http://www.phoronix.com/scan.php?page=article&item=x_server_contrib…
we had looked at the git log going back to November of 1999. Since that time there have been 5,846 commits to the X server (from XFree86 to the X.Org fork). We wrote a script to analyze each of these commits in order to look at the number of contributions made by each individual and in turn made by each of the different companies.
No. since 1999.
No , your trying to show *Red Hat* as amoung the largest **desktop** contributors by showing some of the Red hat and Fedora community and developer overall contribution to GNU/Linux.
You want to go longer cycle , fine by me :
Red Hat and Caldera get in the Ring :
http://practical-tech.com/operating-system/linux/red-hat-and-calder…
Q&A: Red Hat says Linux can’t beat Windows :
http://news.zdnet.com/2100-3513_22-120507.html
Red Hat: Stick with Windows at home
http://news.zdnet.com/2100-3513_22-132566.html
http://en.wikipedia.org/wiki/Fedora_(operating_system)
“The Fedora Project was created in late 2003, when Red Hat Linux was discontinued.”
Red Hat Skips Consumer Linux Desktop :
http://www.pcworld.com/businesscenter/article/144749/red_hat_skips_…
What’s Going On With Red Hat Desktop Systems? An Update :
http://www.press.redhat.com/2008/04/16/whats-going-on-with-red-hat-…
” From the company blog: ‘It’s worth pointing out what’s missing in the list above: we have no plans to create a traditional desktop product for the consumer market in the foreseeable future.”
—–
Sure Red Hat contribute the most to GNU/Linux overall , they are after all the 3 billion plus company with around 2200 employee.
What is strange is that for a company this size with so much advantage they are not the GNU/Linux desktop that the OEM and ODM ship the most. Also if you apply a divider by number of employee and worth of the company vs the others , the smaller company contribute a lot more.
Finally beside SCO who took out Caldera they are the company that as damaged the most the GNU/Linux desktop and blocked others.
Can you please explain to me, in detail, how RedHat would have _damaged_ the Linux desktop? Or are the news articles you pointed to enough for you to make this claim?
I’m not a fan of RedHat, and, frankly, I think their distro sucks. But your claim is really bold.
Even if other big players, like Novell (and in a questionable way!) are more into the desktop market than RedHat, how does the absence of RedHat impose any damage?
Can you guys please take this discussion to PM or something? It doesn’t seem to be much use to other people.
Wasn’t bootchart created by ubuntu if I remember right?
No. Fedora. Well, a Fedora contributor, IIRC. But not Ubuntu.
From bootchart.org:
“The project started as a response to a challenge posted by Owen Taylor on the Fedora development mailing list:”
Nope. Ubuntu didn’t even exist when bootchart was created.
http://bootchart.sourceforge.net/
“The project started as a response to a challenge posted by Owen Taylor on the Fedora development mailing list”
I think you just mischaracterized Debian. That’s a common enough mistake. You see, Debian is a non-profit community-based distro, and they can’t afford to spend a lot of money to marketing themselves and creating a user-friendly image. So there are a lot of people out there who haven’t recently (or at all) installed or used Debian, and yet they claim to know that Debian is “too difficult”, “outdated”, “only for servers”, etc. But that’s just their own prejudice, it’s not what Debian really is.
Debian GNU/Linux aims to be a “Universal Operating System” — good for both servers and desktops, suitable for both experienced users and beginners alike. Therefore, Debian *does* care about the things that affect how desktop users experience the system, such as boot time.
In fact, Debian participated in the 2006 Google Summer of Code with a project to speed up the boot process and make it dependency based. As a result, Debian boots considerably faster in 2008 than it did in 2006. Also, the upcoming Debian 5.0 release (code name “Lenny”) introduces dependency based boot sequence, which should make the boot process more reliable.
http://initscripts-ng.alioth.debian.org/soc2006-bootsystem/proposal…
http://wiki.debian.org/BootProcessSpeedup
http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot
Edited 2008-09-29 09:31 UTC
Hello, I wanted to make a news but as this topic is about Linux boot, here’s the story:
Arjan van de Ven has made an EEE PC (with solid state disk) boot in 5s: this time starts from the bootloader up to an including an XFence GUI (with a HDD, it should be about 10s).
Very nice! I hope that general distribution will be able to do this kind of thing: as Arjan puts it in the interview that’s the kind of thing which will make people switch distribution, so if one distribution has it, all will have it in a short time..
Now, it’s not sure that a general purpose distribution (not linked to a specific hardware) will do this (previous research on boot time didn’t have much impact)..
But if they do then Linux will reach parity with BeOS&clones in boot times, but with the advantage of having many more drivers and users!
Now the remaining point for Linux to become the ultimate desktop OS is to have BeOS-like responsiveness for the applications, but here I’ll suspect that it’ll make much longer (if ever) because responsiveness is not an easy thing to measure (contrary to boot times), plus as Firefox show sometimes developers don’t care about responsiveness..
Here’s the link:
http://broadcast.oreilly.com/2008/09/how-powertop-latencytop-and-fi…
renox: read the comments on Fred’s blog. We already know about that kind of system (and we use a ‘specific hardware fast boot’ system, based on finit, in Mandriva Mini). But it can never be used for a generic distro, because you simply can’t use such a system in a general distro. Any kind of super-fast-boot system like that only works because it’s precisely tied to a specific set of hardware – which a generic distro by definition cannot be.
BeOS booted in 14s (from bootloader to GUI included) on my old Celeron333 + 128Mo of RAM, so it is possible to have a non hardware specific modern OS booting very fast.
Arjan managed to have his Asus EEE (don’t know which model) booting in 5s (including XFence!) but when I look at the bootcharts linked at the end of Fred’s blog, I see that Mandriva starts in 40s on an Asus EEE (and only to the login prompt).
The difference seems huge..
yes, but BeOS:
was not a unix clone or derivative (so no need to retain all traditional unix support services, and iirc actually had a rearchitected set of support services, smaller than that used on the average desktop Linux setup)
was not multi user (then no need for authentication manager, nor staged boot (bootloader to login then desktop environment and user session services)
had a kernel natively implementing message passing for ipc (no need for dbus)
had file icons embedded in the file inode as attributes (no need to preload icon sets at startup)
had a gui not based on the X11 architecture but on a more compact application server (then, no separate X server + window manager + desktop manager + clipboard manager + login manager + desktop applets + desktop panel)
did not use a sound server
had a (single) framework of compact libraries for userland applications (instead of the plethora -and size- of current toolkits)
did not implement as many features as a current desktop OS (although what it did implement was usable on P133 systems with memory in the order of tens of megabytes – then memory footprint was relatively small )
what i feel is BeOS was simply too much leaner than current Linux based desktop systems, to directly compare respective boot times and expect linux to be able to do the same (without tweaking for a specific machine or specific requirements, that is)
Edited 2008-09-29 13:05 UTC
As they said in another comment, BeOs is not Linux. If you want another example of a modern OS which boots fast have a look at Plan9. I can’t give you numbers now (I’m @work), but I’d bet its boot time is not far from the 5 seconds (maybe it is even faster…).
renox: please see the earlier comments, and read Fred’s post more carefully. It explicitly references Arjan’s work and why it’s not relevant.
We could use a similar system to make Mandriva 2009 boot in 5 seconds on an Eee, sure.
The problem is it would then not boot at all on any *other* system. Which would be a bit difficult to sell people on.
Let’s see…Mandriva Linux 2009: Boots In 5 Seconds!*
* – just go buy an Eee first
Well, for what its worth, arjan himself disagree with Fred here: http://lwn.net/Articles/300873/
[ He also give a link to his powerpoint describing how he did the 5s feat, but without his comments all these bootchart screen are not very easy to read ]
Time will tell..
I have a friend who works for a company that provides a linux distro for the embedded market… specifically cell phones. I remember him saying they were really trying to optimize the boot time because if it takes too long to boot, people tend to keep hitting the power button.
He said one of the most dramatic changes they did was simply removing so many of the debug and printout statements that occur during boot. Nothing fancy, but apparently it has a significant impact.