Booting Linux Faster
krony writes "IBM's DeveloperWorks explains how to decrease boot times for your Linux box. The concept is to load system services in parallel when possible. Most surprising to me is the use of 'make' to handle dependencies between services." The example system shown is able to cut its boot time in half, but the article stresses the effectiveness can vary widly from machine to machine.
I rarely have to boot ever after the first boot and patch!
"Who cares how long it takes to boot Linux? My uptime is 400 days!!!"
Yup.. just keep talking about that and wonder why Linux never becomes mainstream.
Develop a better initialization sequence. Relying on a scripting language, such as bash, to initialize each system component slows down bootup time. Instead design a standard such that daemons can be stop/started/restarted with a standardized set of command line options.
Like any Linux user is gonig to reset their uptime just to see if they can boot faster!
Height: 38U, Weight: 0 Newtons, Eyes: #0000FF, OS: Gray Matter 1.0 (Alpha)
boot windows faster..out the door! the sooner we get to kicking that habit, the better linux will get. any distributions implementing this kind of parallel loading yet? get on it!
you insensitive clod!
You can lead a horse to water, but you can't make it dissolve.
Is soooo slow that it only starts after DNS timeout.
I guess someone has a use for this, or they wouldn't have spent the time working on it. But I don't see it.
I never noticed Linux taking very long to load, and even if it did I doubt I would care very much, as reboots are so rare anyway.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Friends don't let friends enable ecmascript.
No first boot trolls?
--- You know it's bad when
bash-2.05a$ fortune
bash: fortune: command not found
I had a conversation with my Dad about Linux start times yesterday that went something like:
Dad: But it takes so long to start up.
Me: Yeah, but you only have to do it once.
-Peter
A prime example of why AnonCow accounts need to banned ...
This sounds like an awesome reason to have multiple cpus. Maybe I missed it in the article (I did read it rather quickly), but it didn't look like it was mentioned.
Even on an HT-enabled P4 this would be cool. Although the I/O would be the limiting factor in the process startup speed, letting multiple proceses start up at once would allow the cpu to switch to others while I/O is being services, much like make -j(# of cpus+1).
There are only 10 kinds of people in this world... those who understand binary and those who don't
Sure, but can my box run linux?
you are teh funniest!!!
ladies and gentlemen, the next chris rock!!!
Most surprising to me is the use of 'make' to handle dependencies between services."
Really? That's an odd statement. How surprising that they choose to use an open-source software application that is designed to compactly represent dependencies for representing dependencies.
Perhaps they should have drawn Visio diagrams instead!?
John.
I did that on an old slow laptop, and it cut the boot time quite a bit. There is plenty of stuff that you might not need to run like kudzu, lpd, portmap, sendmail, sshd, or clock syncing stuff.
Sounds like something MS wants you to do...
well its a good thing windows boots fast.....you gotta reboot the damn thing enough :-P
Personally, I dont give a shit about how long my linux machines take to boot up, because they dont go off once they're up.
.
get with the program linux
to reboot without rebooting, such that uptime remains the same but kernel upgrades can take place?
I remember reading about it somewhere, but it was skimpy on details, sufficing to say that it was a "bad idea".
You can't judge a book by the way it wears its hair.
Wonderful. This will save me 20 seconds of computer deprivation after the next powercut.
how to decrease boot times for your Linux box
:-) Seriously though, going from ATA to Ultra 320 drives made my G4 box pretty snappy on all disk related activities, including boot times.
Well, I might suggest faster hard drives.......
Visit Jonesblog and say hello.
What definitely does take longer is starting all the system services. I know that an out-of-box RedHat installation starts an insane number of (mostly useless) services on startup. The first thing I always do when installing a RH box is run 'ntsysv' and disable all the crud.
The 'kudzu' utility is the worst offender. It checks the system for any new hardware or peripherals. There's no need for this to run on every single boot!
And BTW... Why are you rebooting a Linux box anyway? ;-)
I'm running a LinuxFromScratch system and I boot in under 8 sec (12 if you include X start times).
This is w/ the 2.4.2x series kernel.
W/ the 2.6.x series kernel, my boot times drops by about 3-4 sec. (yay). Now I find out I can start my services even faster!. (double yay)
What are the start times of other distros out there?
PS my hardware is
Athlon XP 1700, (1.5GHz)
256MB 2100DDR
Nvidia nForce1 MainBoard
Nvidia GForce 4 MX 440
Frisk post ha ha
You must be crazy. To think that you'd want me to sacrifice my current uptime record just so I can boot faster.
To all the people that wonder what use this is (because linux never needs rebooting I guess), consider this. I had a toshiba laptop w/ linux on it. I don't know why hibernation doesn't work (it does on my IBM thinkpad w/ no problems) but it just doesn't. Therefore, this 466 celeron has to boot up every time I use my laptop.
:)
This slow boot time has caused me to put WinXP back on it, because it takes a 466 FOREVER to boot vs wake up from hibernation. This is also a shameless plea for any advice on how to configure hibernation on a Toshiba 2615DVD/6.0 running mandrake 9.1
----
Squirrel
then you must run some really broken hardware, because i can run it for months without a reboot. and usually then i'm only doing it to install fixes to the OS.
Long uptimes on linux machines only tell me one thing - you don't update your kernel!
Because it must be asked....
How much time is saved when booting up a beowulf cluster?
i think the best idea in the article is the last bullet point under "additional considerations," specifically that you just configure the system to let you log in earlier. since this is (as the article points out) mostly useful for desktops (or, more likely, laptops), a user doesn't need to wait for sshd or a web server to start before (s)he logs in.
i'm too used to the serial boot to use parallel booting. even on a desktop, i like to see the boot messages scroll by just in case.
"Mister Potato-head --MISTER POTATO-HEAD! Backdoors are not secrets!" (War Games, 1983)
..is that it takes a long time between pressing the "on" button and actually being able to use a Linux system.
The what button?
Mandrake? No really I don't gedit
Booting a Beowulf cluster of these.
You thought it, but only I had the courage to say it.
In case of slashdotting IBM's Commodore64 servers, use this google cache.
"well its a good thing windows boots fast.....you gotta reboot the damn thing enough :-P"
:-P
Ya I agree especially if Linux users want to play leading edge games like Half Life 2
Serel does this too, for RedHat and Debian. It actually works; it's not just a proof-of-concept, although it does have a number of bugs.
Contrary to most comments here about how this isn't needed because of uber uptimes of linux l33t users, some people would benefit from this. Any gamers who have to dual boot to windows to play some games will want this (you think HL2 will play on Wine when it comes out?). There was a time when I would reboot almost everyday (before BF1942 was playable on Wine). Sure, saving a 30 seconds or so per day isn't a big deal, but it's nice to be on par with WinXP's boot time.
IANAL, but I play one on
But I don't think people were listening. How often do you have to reboot? New kernel every 6 months or so, I can wait for quality why can't every one else?
This way when I reboot my database server once a year, it will come back online 45 seconds faster.
9 second boot time from power-up to X-windows
Let Windoze die a slow, agonizing, discraceful death.
Feature turn-around for Linux development is about 100x for Windoze. Let MS fiddle. That way, when we claim 50%+ of the desktops Bill's FUD will be little more than a bad joke.
Big Brother Bush is doubleplus ungood.
Long uptimes on Windows machines only tell me one thing - you sure have some kick-ass worm breeding ground !
Isn't this basically the same thing (different implementation though).
http://www.fastboot.org/
grep sleep /etc/init.d/*
"launch your consoles and X server, before you run your daemons"
Am I the only person on here who doesn't give a rat's ass about my uptime (talking desktop pc here)?? I turn off my machine at night because it saves me money on my electric bill and because it saves electricity. Granted, it's not much, but you see articles all the time about how turning off your computer can save x amount of dollars. My RedHat 9 box takes forever to load but I still turn it off every day. My XP box takes less than 30 seconds.
You should be able to extract the word document using a zip utility.
It describes in quite a lot of detail how they reduced boot time in XP (not only starting stuff in parallel but also prefetching and other tricks).
I see there are already a ton of linux fanboys and girls posting about the incredible uptime of their linux boxes, and claiming that a) boot time doesn't matter because linux doesn't go down or b) linux boots very fast.
They are wrong. Boot time matters.
It matters for perception. Boot time is one of the periods where a user spends the most time looking at a screen not being able to do anything (even if that happens rarely). A faster boot time leads to a sense that the whole system is faster, because it is a first impression, and a significant impression. If linux bliped on from a cold start in 5 seconds, I'd be studies would show it appeared faster.
Boot time matters because not everyone (in fact, very few people) leave their systems on all the time. Slashdot fan boys living at home may not agree, but they are wrong.
Think about business systems. At my place of work, everyone turns their computer off at the end of the day, and on at the beginning of the next. My mother doesn't leave her computer running 24/7, she turns it OFF when she is done using it. My roomates do the same thing. Even I do it sometimes.
Boot time matters because power management is still evolving under linux. As power management requires the cooperation of a number of pieces of a system, power management is still a work in progress. Once power management with every peripheral is flawless, then we can start to dial back boot time worries (only a little).
Boot time matters server side too. I know folks are going to complain that I focus on the user too much. But boot time matters server side as well. We have UPS units on our servers. They have however a limited lifetime. So when the power drops for a few minutes (which it does here somewhat often) automatic shutdown process starts.
When the power comes back on, people power up their computers. These being Windows XP machines they actually start pretty quickly (or never went off if on a UPS). If folks were in the middle of something, they expect that with the power their logon and other services will be back in action. Then all the individual computers start timing out / locking up, generating help calls.
On the server side, if there was an emergency security patch, or we were coming up from a power outage, the faster the boot time the better, if I can beat out even 20% of the client connect attempts.
Boot time matters, a big bravo to the folks working to improve this.
hypocrite. log in if you are going to bash AC's
XP can boot linux faster?
This has got to be the most pointless troll attempt I've seen
I'm afraid that if you have a laptop, boot time is quite important. Doing suspend/resume with X running is not reliable. While I certainly agree that fixing this is the long term solution, a quicker boot-up is a reasonable fix in the meanwhile
The Raven
Any thoughts? Discuss discuss
if you have a static ip, just put your ip setting manually into the settings. using dhcp will cost you another few costly seconds you could have used doing.. doing what exactly?.. as if your linux box is booting that much anyway.
Since you have to work out the dependices yourself, why not imbed the dependices in the startup scripts themselves? So for example, the nfs startup script would block until the network script got started. The status can be checked by parsing /etc/rc.d/init.d/network status. You may want a timeout on the blocking. If you do this you could just start all the scripts at once.
This was three years or more ago, but I remember one of the PPC Linux developers "converted" all his system boot scripts in init.d to compiled C.
.no "glory". Fixing this would be like someone fixing fdisk... no one wants to touch the damn stuff...
Boot times went from about 2 minutes, to 35 seconds.
(It took "so long" because it was an old PPC 601 60MHz or something like that).
Distributions such as Mandrake and Gentoo claim they go the extra mile for "performance". I've wondered why neither has cleaned up their boot process.
You wouldn't think Bash is slow from interactive use, but it really it. Piggyback on that speed problem that too many "functions" (OK, *commands*) are standalone executables... greate sub-process, collect result, destroy, rinse repeat.
This is pretty interesting stuff, and I applaud this guys efforts. INIT script achitecture is pretty thankless stuff..
Dumm-dee-dummm. Am I in your way?
Buy hardware that will not fail.
This isn't 1995. Even w32 is almost as stable as most of the $15 power supplies out there.
Some of us do turn our computers off now and then when we aren't using them. Saves on power... and my ears.
Slow boot time is just one of many other reasons to use winXP over linux for the desktop user
Yeah, but putting your off computer over a treadmill is not running your computer.
And that is absolutly the only way that a MS system will run for a couple of months.
delt@user:~$ uname -a
Linux 0.1 0.0.1 #1 Mon Jan 2 04:32:56 PST 1991 unknown
delt@user:~$ uptime
4:17pm up 4029 days, 5:13, 7 users, load average: 0.04, 0.14, 0.16
I am the only one to notice the author's name is "James Hunt", as in the ex F1 racing driver "Hunt the Shunt"? It's not the same guy according to the quite amusing bio at the bottom, but let's hope that they just have making things go faster in common, and not having crashes as well. ;)
UNIX? They're not even circumcised! Savages!
I'm not supposed to get jigs in it!
http://www.sciencedaily.com/releases/2003/09/03091 8071025.htm
so what if somebody develops a way to decrease boot time by half? it's not like it takes 3 hours!!
booting up in 2 minutes instead of 4 is somewhere near that bitchin' clear case mod on my list of priorites, honestly...
well, it's nothing one behind the ear wouldn't cure
u write like a retard w/all those slashes b/c it makes u look stupid b/c oh hell nobody fucking cares what u have to say anyway best wishes kthxbi
Bah. Mac OS X's done this since Jaguar.
s /sanchez/sanchez_html/). Then SystemStarter makes a dependency graph and starts them up in parallel whenever possible (http://developer.apple.com/documentation/MacOSX/C onceptual/SystemOverview/BootingLogin/chapter_4_se ction_2.html).
The big question is "how do you specify dependencies?" The article uses makefiles. In Mac OS X, each startup item has a properties file (associative array) that names the item and specifies all the items that it depends on (http://www.usenix.org/events/bsdcon02/full_paper
I've switched from RedHat to Debian not so long ago, and there does not seem to be a chkconfig utility on debian.
Because of this, I've been changing the rc scripts manually, but it's a bit cumbersome. So, I'd like to know if there is an utility similar to chkconfig on debian?
I'm surprised someone hasn't pointed this out already. NetBSD's rc.d.has had support for dependencies for sometime.. html
http://www.netbsd.org/guide/en/chap-rc
Additionally, there's an article here. http://www.daemonnews.org/200108/rcdsystem.html
I like make.
but I would NOT want to be involved in trying to debug a Makefile that was causing my machine to not boot properply. And I'm sure people who don't like dorking with Makefiles would feel even stronger about that. Just seems like it could get pretty nasty.
uh, um, er, ah, yeah....
Gentoo can do that too, just edit /etc/conf.d/rc:
RC_PARALLEL_STARTUP="yes"
Another way to boot Linux faster is by not running it on a pSeries RS/6000. Anyone who gets to watch one of these things boot can tell you about the "fun" expierence of watching a three digit LCD POST code display roll through what appears to be a random sequence of numbers before either booting the OS or flashing 888.
I've been running Redhat Linux for about 1.5 years. The only time I've had to reboot was when I upgraded from RH 8.0 to RH 9.0. It still only took about a minute (compared to almost 3 minutes on my XP box w/same CPU). I really don't care how long it takes to reboot as long as I don't have to.
I thought you never rebooted linux...
Newbie question, but on Linux, does it go through each runlevel up to the level that it wants, or does it go directly to that run level?
For example, when Linux boots, does it first start at run level 1, then go into run level 2, then run level 3, then 4 and then 5? Or does it start off directly at run level 3, or 5, etc?
I ask because I have seen the same services being started at different run levels, and they started with different numbers. Being a newbie, I didn't understand why there were multiple startup scripts that were starting the same daemons but with different numbers. I guess if they go directly at startup into a runlevel instead of progressing up through each run level, then this would make sense.
http://www.zevv.nl/jiffies/
/proc/sys/kernel/jiffies, where you can get and set the current jiffies. To fake your systems uptime, write the required number of jiffies to this file :
/proc/sys/kernel/jiffies
JIFFIES
This is an extremely simple patch for the 2.4 kernel. It creates a read/writable entry
# echo 100000 >
Jiffies run at 100 per second on i386 systems, so calculate the uptime with
jiffies = days * 8640000
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
One of the things Apple did in Jaguar to speed up Mac OS X booting was to start services in parallel.
Apple uses a different startup script system (see the references below) than other UNIX flavors, but it's a really cool system. It uses dependency information rather than carefully-assigned integers to determine load order, so when they decided to add parallel service starting it was easy .. the dependency information was already there.
I'd love to see Linux or *BSD distributions adopt this system, as it's really cool to type SystemStarter start foo and have it automatically load all the dependencies for foo before starting foo itself. Plus adding services means just copying a directory into place .. no worrying about making links in /etc/rc?.d or getting the ordering right.
Relevant documentation:
-- Tim Buchheim
Have to read the article, understand it, try it out, calculate old and new boot times, then post to try and get fp..
hmmm
Uptime == unpatched
the effectiveness can vary widly from machine to machine.
Should that be wildly or widely?
SpamNet - a spam blocker that really works
Is this not possible? It would sure beat having to manually cruft together a dependency file yourself (and change it when you upgrade/patch something).
"A great democracy must be progressive or it will soon cease to be a great democracy." --Theodore Roosevelt
Liar.
There's no such thing as X-windows, thus you're lying.
http://www.linuxbios.org
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
> I'm afraid that if you have a laptop, boot time is quite important. Doing suspend/resume with X running is not reliable.
This probably depends a lot on the specific chipset. I've only used it on a thinkpad with a neomagic and a toshiba with an s3 savage vga, but I've never had a suspend/resume failure. I'm talking of months between a reboot/shutdown, I must have suspended/resumed it at least a hundred times. If you have a problem with it, would it help to switch to a vt first, before you suspend?
And if you stick around long enough at DeveloperWorks, you'll make a grid out of those PCs and offer the district more compute power than they ever realized they had.
Intelligent Life on Earth
to boot my linux boxes in less than 10 seconds, and I only have to use 1 command to accomplish this!
/etc/rc.d
[root@linuxbox]# rm -rf
[root@linuxbox]# shutdown -r now
640YB ought to be enough for anybody.
change distributions!
a couple of months back i tried redhat and mandrake, both took a painfully long time to boot up, both debian and slackware (which is what i use) take little time to bootup (same as windows 98 you can say)..
so for the redhat/mandrake users one solution would be to switch distributions and the difference *will* be noticeable by a lot, slackware 9 is very fast to bootup
this is just something i found out, but off course i can understand many people would not want to switch distributions just for this reason alone
Marge, get me your address book, 4 beers, and my conversation hat.
Uhm, didn't slashdot cover parallel service startup before? Does nobody else remember/use Serel?
http://www.fastboot.org/
I don't know that I've ever had a problem with suspend-to-ram on my Inspiron 8200 laptop with apm. I don't have suspend-to-disk (because while the bios has a key combo for it, there is no bios code to actually handle it).
I've also heard a lot of success stories with apci.
Are there really a lot of people running reasonably modern systems who absolutely can not get at least suspend-to-ram to work reliably?
.sig Realistic fines for copyright in
And look what DOS could do. Wow.
Pah. Mac OS X have done this since 10.2.
The large question is "how do you specify inter dependencies?" The article uses makefiles. In Mac OS X Jaguar, each startup item has a properties file (associative array, the indexes are strings) that lists the item and defines all the other parts that it depends on. Thereafter SystemStarter makes a dependency tree and starts them up in parallax whenever possible or when it feels like.
How small a thought it takes to fill a whole life
One of many possible links
MRAM is showing promise as the next big fast-boot solution, regardless of the OS.
Cross that with Linux or *BSD and we'll start seeing laptops and PDAa with multi-year uptimes.
burnt sig
I have started a discussion on Debian Devel about this quite a long while ago.
:)
It sure is nice to see that my idea is being implemented...
However, as others mentioned there are quite a few problems with this approach.
One, is that it is very difficult to use make to perform the reverse (shutdown) using the same input data as the boot.
Another problem, one that I had no time to solve, and seems to not be addressed at all by the article, is that running services in parallel also logs things in parallel. Intermixed logs are quite unfriendly to read.
The plan a few of us at Debian Devel devised was a mini-text-window-manager for the output logs, but noone got around to implementing it.
Lastly, the most serious problem with this approach, was legacy support. Inserting this system into Debian, at least, required that all service package maintainers provide extra dependency information about their packages. This problem was the least feasible to solve.
Thus, my little project died then - and seems to now be revived by IBM
We'll need a new command called bootuptime! Instead of flaunting 'uptime' to my poor misguided Microsoft user friends, I could ooh and awe them with my incredibly short 'bootuptime' figures.
*Check it out! 3 months ago when I booted up my linux box it only took 5 seconds!*
I'm trying to get a quirky PC to boot Debian 3r1, and I can't get it to boot without the rescue floppy.
LILO gave L 40 40 (repeat indefinitely) at first. I added
device hda=0x80
to lilo.conf and that replaced the L 40's with just LI. Compiled a 2.4 kernel, and now I get
LILO
L
instead of
LILO
Uncompressing Linux......................
so I decided to try GRUB, and now the system boots to the grub CLI, and when I try to specify my 2.4 kernel, I get Error 13, unknown or unsupported kernel format. I'm currently recompiling the kernel as a.out format instead of ELF, but it'll take another hour.
Anyone have any tips? And no, the PC isn't bad, or the RAM, or the hdd's.. I've had this machine running for about four years.. it ran multiple versions of RH6 and 7 before they decided to require a minimum of 64MB RAM. Any help on getting GRUB working would be appreciated.
Intelligent Life on Earth
JIFFIES
This is an extremely simple patch for the 2.4 kernel. It creates a read/writable entry /proc/sys/kernel/jiffies, where you can get and set the current jiffies. To fake your systems uptime, write the required number of jiffies to this file :
# echo 100000 > /proc/sys/kernel/jiffies
Nice way to solve this problem. You really must have a refined sense of good taste, because only choosy mothers choose jiffies.
So all a program has to do is to wait for the pathname it needs to appear. There's a "waitfor" command in boot scripts for this, or programs can just wait for the pathname to come up, then go.
There's an enormous architectural advantage to having unified interprocess communication as a primitive, rather than an afterthought.
See www.fefe.de/minit/ for info about the project.
It's a tiny statically linked init that besides offering make-like dependencies to load services in parallel also offers ways to avoid spawning a thousand shell and utility processes in the boot process.
On my notebook, it takes less than a second from the start of init to a login prompt. In fact the latency is so small that I have never used the APM or ACPI suspend mode any more, I just turn the notebook off and on again. That's actually faster than the BIOS suspend-to-disk feature.
minit also has other benefits over standard init: you can ask init for the PID of services like sshd without PID files and thus even on read-only media like a CD-ROM without initial RAM disk or shmfs.
It's Linux only, though. And you need the diet libc for full effect (52k memory footprint for init on my desktop, including shared read-only pages).
I have lots of linux boxes and I only boot them once every year or so just to say I did. Who cares if it takes a minute to boot when it is gonna be up for year anyhow.
Got Code?
I didn't think you had to be a linux guru (or for that matter a huge multinational corporation with millions/yr in development, to know to remove unneeded services from the init directories..DUH.
As with Windowz(shudder), often there are services that run at boot that shouldnt be.
Init run levels are your friend
I borrowed an iBook with OS X for a few weeks and was amazed to discover that you could suspend and resume it all week long without trouble.
After booting Linux out of my apartment, I bought my own TiBook. Apple's startup times could use some improvement.
Now I run Linux in the machine room, and OS X on the desktop.
My first linux Mandrake box, I went through and parallelized my rc directories. The trick was to have fake S** entries that spawn off what can be done in parallel.
:-P)
Albeit makefile based (done by hand), but I was getting my boot times down to 23 seconds on an aging Pentium MMX, with tons of unnecessary services. (I know better know,
Too bad there wasn't any way I could have done that to Windows 98. It was a DOG!
XP is much better, but it doesn't boot much faster than that fast on my new box even today.
Fuck Beta. Fuck Dice
Midori Linux also has parallel boot scripts which really helps speed up the boot process on the devices that use it. The design is very nice (and based on Richard Gooch's) and doesn't rely on "make". It's named quickinit (it's just a .tar.gz despite the .mlz extension).
I'm not sure using "make" is the best way to implement this although it is an interesting idea. "init" can manage dependencies without too much additional code. The Gooch/Midori systems are nice because dependencies are implemented as simple commands in the init scripts. You just add a "need <service>" command and it will block until the service is available. If I recall correctly, quickinit basically managed a full dependency tree whereas the Gooch version maintained a simple list (which works fine until you want to do something more complicated like restarting X windows or handle resume/suspend using the init system). It's too bad no major distributions have picked up this idea.
Of course, rebooting needs to be first stable and second fast. It's not like we want to reboot all that often. :-)
No, you don't.
Especially with the currently in-beta MSI 2.0, which never requires a reboot, even for system updates, which Linux can't claim.
"Sufferin' succotash."
you use make -j (some sane number)
;-)
Makefiles list dependencies, and the commands (shell commands) that you have to run to resolve them.
Using make -j n to run it schedules any operations in parallel (up to n threads), which does blocking on a "dependancy" level.
The scripts must be serial. If not, you'd have a hell of a time writing them.
Best to keep them small, so the total parallelization can improve on a macroscopic level.
Fuck Beta. Fuck Dice
if it was an embedded device you'd ideally set init=/bin/your_main_program and there'd be no initialization sequence. your_main_program could spawn additional processes and configure interfaces at it's discretion, etc.
You'd be using kmod with the dependancies pre-hashed out, or a statically linked kernel, eliminating the need for hardware setup stage.
You do all the hard work up front and get it down to a single executable or single shell script that does only what it needs, and that's it.
Fuck Beta. Fuck Dice
There's a really nice solution for at least part of this problem already available: RCng. I don't know if it parallelizes the startup scripts, perhaps it could be hacked to do so, but it does its own dependency checking so you wouldn't have to invoke make (blech!).
You had me at "dicks fuck assholes".
Try that with a laptop and see what happens.
"Sufferin' succotash."
I'm surprised that no-one has mentioned Richard Gooch's work on this:
o t- scripts/index.html
http://www.atnf.csiro.au/people/rgooch/linux/bo
As you might know, he is the author of the linux devfs, amongst other things
My best times were power on to init in about 2.7 seconds. By the time we got the "authentication code" and what not in it was closer to 30 seconds.
Take all that BIOS stuff out and create a truely lean and mean setup with minimal init scripts and you can blaze. Longest step was copying the kernel from slow-mo flash memory in to RAM...
there are some stages where an init script is waiting for hardware to initialize (USB), or for a network timeout interval, or just plain sleeps to wait for stuff to "settle", and so on.
I highly doubt the parent's CPU load pushes an average of 0.5 during init. If it peaks a lot, then you could gain a little benefit from dual CPU, but not much.
Fuck Beta. Fuck Dice
You wouldn't be too far wrong either. While I don't have the specific numbers, Microsoft have been using these sorts of fast booting techniques for Windows XP.
My Apple IIe boots up instantly.
The screen takes longer to start up than the computer....
Learn something new.
> I'd love to see Linux or *BSD distributions adopt this system,
> as it's really cool to type SystemStarter start foo and have it
> automatically load all the dependencies for foo before starting
> foo itself.
Gentoo has been working that way for years, and if Gentoo does it, there are certainly other distros that work that way as well.
-- B.
This sig does in fact not have the property it claims not to have.
I heard that NT uses prolog to work out dependencies. This may be a cool and simple option for working out dependencies in the Linux boot up. May be useful for package management too.
Richard Gooch published an interesting implementation of parallel init scripts almost a year ago: http://www.atnf.csiro.au/people/rgooch/linux/boot- scripts
Anyone else see why this is stupid? Ok, here's a hint: you don't have three processors. Items 2, 3, and 4 will have to compete for CPU time.
Yes, it will be faster. But is it worth spending a day tweaking your settings, rebooting repeatedly in hopes of shortening the time by a tiny fraction that nobody will notice? I think the answer should be obvious. Well, to everyone but those silly Gentoo users, anyway.
Why doesn't Linux have a systematic way to establish dependencies for each service? I'm a Windoze user (yes, scoff at me if you will) and I see this as a case where Windows is superior. Every service can enumerate its dependencies, and the OS starts the dependencies in the proper order. Being a Linux newbie, I assumed it did the same.
1) Is there any plan to change this?
2) I see comments indicating that Apple did this successfully. If so, can we learn from their implementation and do something similar?
3) What do BSD, and that various Unices do? Do they all have this limitation?
The traditionaly Sys V init is archaic, crude, and disgusting. What, 6 hardcoded numeric runlevels? Wow, how useful is that. And I love ordering my startup scripts with two digit integers.
*nix needs a major boot/shutdown system upgrade. I have migrated to minit, but that is primarily for low memory usage. It allows a rudimentary mechanism for specifying dependencies, but is geared mostly to be minimalistic. This 2003, I think we can come up with something better than Sys V init.
Features of a next gen boot/shutdown service manager:
* uses real dependency traversal on startup and shutdown (maybe using a small theorem prover like CML2, or maybe something like make)
* allows configuration of arbitrary and unlimited sets of services, which can be named by arbitrary string literals - no longer chained to 7 numeric choices. e.g. "roaming laptop", "docked server", "minimal services", etc.
* built-in service start/stop/restart/status/enable/disable tools, and standard service API with bindings for various languages (what, native services? imagine that...we do so for Windows NT+, e.g. apache) as well as Plain Old Shell Scripts. So every freakin' flavor/distro of *nix doesn't have its own fscking way to start/stop/enable/disable services.
A lot of the garbage that goes on during startup (have you looked at the standard redhat scripts?) mounting drives and file systems, setting network and hardware parameters, etc., could probably use being standardized also, and either pulled into drivers or services or something, in a standardized fashion. Ideally all these APIs could be exposed both through command line tools, but also through desktop-integrated GUI tools, so that modifications don't entail digging up some ad hoc script on disk and modifying it and hoping you remember what the fuck you did a year ago in some system script.
It's 10 PM. Do you know if you're un-American?
anon does suck. trolls suck. 95% of the comments on slashdot suck. but sometimes there are good comments from anons. so i'd say probably keep em.
I wonder if it would help to execute all the stuff required for booting out of a Ram-disk ?
Since disks these days are pretty fast (>20 MByte sustained for linear reading) you should be able to load say 100Mbyte (uncompressed) into a ramdisk in about 5 secs and then execute from there.
This way, you do not have change anything about the init scripts, and the init_rd stuff is already in the kernel. Of course, in your 100 Mbyte, there will be a lot of pages that are never touched, but I think it would be still a winner as reading the full track is almost free as compared to reading just a few blocks and then wait for more than half a revolution on average for the next block on another track.
So I disconnected both the front panel reset and power buttons on my Linux box, and all has been fine. I haven't missed them one bit.
When I do need to shut down for a hardware change, I just yank out the plug.
If you don't have to reboot at all. I just enjoyed a wonderful week of uptime until xmms memory leaked something fierce and basically brought a P4 down to a 486.
I just timed it, KDE took just over 35 seconds to start on my system. I use fvwm, it is hardder to time, but I got something like 2 seconds.
My Linux system already starts up pretty quickly. Give me a BIOS that can boot in under 5 seconds (under 25, even!) and I'll be happy.
Windows XP is probably the current technology leader in terms of reducing boot time. Oh yes, I can hear you scoffing loudly already, but it's true! NT loads drivers in parallel, let alone services, though NT is bad about allocating memory, so having more memory makes it boot a lot faster. Believe it or not, my XP boot time was cut in half when I went from 512MB to 1GB of memory.
XP also will defrag your disk automatically in such a way as to optimize boot. In other words, files accessed at every boot are placed together, so you don't have to do a lot of seeking at boot time. Now THAT is cool.
I was just bitching about how annoyed I am with the state of windows, what a pile of crap code it must be. Someone told me that windows was great because it hardly crashed these days, and I was pointing out that having to reboot it weekly or more often does not constitute stability. So it doesn't crash... It just gets flaky enough to where you reboot it voluntarily. Woop de doo. I know many people don't have this problem, but they're probably not doing much customization or running very many apps for the most part, or they like to shut down at night.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Jesus christ, please oh lord of lords (etc etc), let someone implement this on my Sharp Zaurus C760. I could really use it!
I've owned a lot of PDAs. But only this one takes like 5 minutes to boot. Literally. No joke. It may be 4 minutes, but I'm not just exaggerating. I've never seen a PDA that takes more than 15 seconds to boot on a reset, the other Zaurus model I've owned exempted (SL-5500), but even that seemed like a short wait compared to the SL-C760's boot time.
(and yeah, it wouldn't be a big deal if I didn't have to reboot often. But no matter how "robust" Linux is, I've had to reboot more often than one would think..."
Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
Anyone else see why this is stupid? Ok, here's a hint: you don't have three processors. Items 2, 3, and 4 will have to compete for CPU time.
Most of that time isn't spent thrashing the CPU, it's waiting for data to be read from the disk, or for phenominally slow bits of hardware to report that they are configured and running. Items 2, 3, and 4 likely only need 5 seconds of CPU time total, all the rest is wasted waiting for i/o.
Anyone else see why this is stupid? Ok, here's a hint: you don't have three processors. Items 2, 3, and 4 will have to compete for CPU time.
Bah. If you think the point of gentoo is tweaking for that last bit of speed, you're mistaken. The point is to have the most current software, fine-grained control over what packeges get intalled, and the best package dependency handling around. <distro trolling mode=on> It's like having all the good parts of Debian, but with up-to-date software and without all the license zealotry.
0 1 - just my two bits
Let's not forget that Windows XP executes parts of the boot sequence in parallel, have a look at the pretty output from bootvis to see it in action. http://www.microsoft.com/whdc/hwdev/platform/perfo rmance/fastboot/default.mspx
...
of course, with Windows quick booting is important whether you're on a notebook or not
(note:no blue screens on Windows XP so far for me)
But any innovation that comes from MS deserves to be overlooked by /. standards.
Andrew Clausen (author of parted) had this some time back - he called it upstart.
Judging from his page he's changed his mind since, but I do remember him saying he's discovered a few race conditions that way - some of the start up scripts finish before the service is fully up, which they shouldn't...
Jiri
-- Hi! I'm the "Good Times" signature virus. Copy me into your Sig!
I boot my laptop once a day. This will be appreciated on that...
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
So this means I can no longer take my pee break and grab a snack while waiting for my box to boot up? I used to do that when I ran Win2k, my primary OS is WinXP and now I can't do that. I just started using the Debian distro and it takes roughly 2 minutes to boot as opposed to the 30 seconds I am used to =/
-illumina+us "I put on my robe and wizard hat..."
Err, I can relate to your pain very directly (you should try starting an IT business in Australia some time to really get the taste of utter rejection, apathy and futility), but I was unable to satisfy my curiosity as to what the hell Convea actually is, because your web site first presented me with a "network path not found" error, (though it worked on my second attempt), then a great deal of marketing guff that would have won me a game of bullshit bingo in a single round, and then your demo link just popped up an empty page...
So I'm cheering for you here, but get back to me when you've sorted out your web site!
You know they call 'em fingers but I've never seen 'em fing. Oh, there they go.
Comment removed based on user account deletion
Each startup script has a corresponding StartupParameters.plist file that defines the dependencies. For example the one for Apache contains:
{
Description = "Apache web server";
Provides = ("Web Server");
Requires = ("DirectoryServices");
Uses = ("Disks", "NFS", "Network Time");
OrderPreference = "None";
}
Then all items are started up according to the dependencies in parallel.
The configuration was always there, but Jaguar (10.2) was the first system that actually ran items in parallel. Boot time was reduced quite significantly for Jaguar.
I read the headline for this story, and I though it said, "R00TING LINUX FASTER"
That's how Apple dramatically cut the boot time between 10.1 and Jaguwire.
Might be new for linux, but it's hardly a revelation or innovation.
I tried the sample files and there should be a big notice warning that they simply won't work out of the box. There are no files for runlevel 6 or 0 so after making the changes you can't even reboot to test it.
It basically does a stop for all services and then a start for all services at each runlevel change. There is no way to tell it which services to run in each runlevel.
Finally I managed to make several files for each runlevel and it does work but it cut my boot time from 1:24 to 1:13, not noticeable at all.
Plus I wasted an hour just making it work, bad deal.
ms dos boot 2 seconds
When I was running MS DOS, I was booting off a 360k floppy disk and I assure you that it did NOT boot in 2 seconds.
Even when I had a hard drive, my autoexec.bat and config.sys had enough in them that it took a while to boot.
Sure, any OS will boot quickly if you don't load any services. But what are you going to use it for if you don't load anything?
#!/
For the last N years, laptops have had a sleep/wakeup power-save feature. For the last N-2 years, it's generally worked well enough to be worth using all the time :-) Linux probably knows enough about power management for it to work on most laptops by now. Instead of shutting the machine down and rebooting it, you just close the lid and it saves its status and goes into some standby mode, and when you open the lid it wakes up again, where it left off, no need for reboot. On some machines, it also succeeds in doing this when the battery gets below X%.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Not trying to be a Gentoo evangelist, but a Gentoo rc script has specifiers for what a service depends on, so they can do away with static service level numbers.
The dependency calculation is regenerated and cached, so bootup is faster. Now if someone could take gentoo service script as input and build a parallel service starter -- that would be a nice project.
Btw, I have a Windows 2000 Server at work which I use for desktop use, and it takes *MUCH* longer to boot than a fully configured redhat 9 system. Why? Dunno, must be all the services and integrity checks that a "server" must have.
Windows XP on the other hand takes about 30 seconds to boot.
Kashif
Comment removed based on user account deletion
We had an old RS/6000 model (circa 1995) which took 20 minutes to boot. This was due to it doing a hardware config via X.25 protocol to all devices (e.g. hard drives, etc). "Quality Assurance" to say the least since extensive memory checks, CPU processor checks, etc were performed EVERY TIME AT BOOT. This was *painful* to say the least. After the hardware discovery/configuration was complete, it took 5 minutes for AIX to boot.
This article strikes me as a joke. I am not familiar with their current pSeries systems (which is what the College has now), but I wonder if they take 20+ minutes to perform hardware checks and boot. If so, it's not Linux what you have to worry about!
if (!sig) { printf("Signature Unavailable\n"); }
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
regarding "you only boot linux once" -- that's true for my desktops, but I boot my laptop fairly frequently, so decreasing boot time is important.
I wonder if in the transitional period, while implementing this you could use make to start up services in parallel, and remember which services you've started, and then use the [KS][0-9][0-9] method for any services not covered by the makefile.
"Those who would sacrifice essential liberty for temporary safety deserve neither liberty nor safety."
Actually, I'm surprised this isn't the de facto standard, at least in the commercial linux desktop distributions, since startup time is a reasonable thing to optimize for desktop machines (a journaled filesystem certainly helps :-). Mac OS X has a parallelized service startup sequence as well, and a dependency grouping technique - see this paper for some information.
Aren't you guys editors?
effectiveness can vary widly from machine to machine.
Widely?
Wildly?
GF.
Lots of petrified grits
Anybody interested in this approach should take a look at LNX-BBC (http://www.lnx-bbc.com) - a Linux distribution designed for credit-card sized CD's. While the distribution itself is not particularly interesting (for me that is), the build process and startup scripts _are_ interesting. It is basically the most impressive exercise in make scripts I have ever seen. The whole distribution is built from source archives (ok - that's not hot news any longer) and the startup scripts are based on make too. I don't know if they do anything in parallel though. Don't think speed was the reasoning behind this.
Another thing I do wonder about. I've got two simmilar laptops (both old 800 MHz) with same memory. One is running Win2K and one is running Debian. The Debian one is actually booting marginally faster than the Windows one (we're only talking 5-10 seconds here).
See also -- http://www.fastboot.org/
Try booting a slack box sometime. It uses the Berkeley-style rc.d scripts instead of SysV. It rips through startup and shutdown.
I'm sure there are some issues that would never occur to me. But can somebody enlighten me and the rest of the slashdot crowd on what they are?
Back in 1999 I rewrote all the init scripts entirely from scratch. I did this after having spent a few years before hacking at init scripts in BSD/OS, OpenBSD, Redhat, Slackware, and Solaris. I experienced all the crankiness of these systems (Redhat and Solaris were the worst) and this time decided to avoid all that. I gave the scripts entirely different names so as not to conflict with existing scripts (was Slackware at this time). That way I could switch between them with just a change of /etc/inittab. It took a few hours, but I had a running fully functional system by the end of the day, and have been running on those scripts, as subsequently better debugged and tweaked, ever since. They booted up noticeably faster than even the Slackware scripts (which were about as fast as the OpenBSD scripts).
Irontically, I didn't do this to get the boot speed. The init scripts are fast enough now that the kernel initialization time is longer, anyway. What I did this for was because I hated having a bunch of separate directories with symlinks in them for each run level. I didn't like having to use specialized tools to manipulate the system (I wanted to routinely use the tools I would have available if I were running from a rescue floppy trying to fix it). That meant doing things with a basic set of shell commands. Yet I didn't want to abandon having separate scripts for each service/daemon being started (or stopped as the case may be). What I ended up doing was creating a single subdirectory for all the individual service scripts, and making the script name have a pattern that included both the startup sequence (stop sequence simply ran backwards), as well as the run levels. Here's what the names in /etc/sys on my system look like:
Figuring out which run level each service starts in is left as an exercise for the reader. BTW, I think most of the speed comes from the fact that I didn't add a lot of fat to my script system. That's easier to do when you do your own design.
now we need to go OSS in diesel cars
Here's another dependency-based parallel booting system. This one doesn't use make though. It uses a few (simple) utilities to do the work.
I don't know about you guys, but I login every week or so...haven't turned the machine off (other than to change hardware) for about three years now. Why would I ever consider this a problem?
Just making a point...
--- For a good time mail uce@ftc.gov
...and how many times do you update you windows kernel?
Why can't I boot to a login state, and cache a snapshot of the RAM + disk-diffs? Writes to the cached disk that persist between reboots would be written to the cache. Then the cache would be loaded on boot, picking up where I left off. The cache would be an image on disk, or why not Flash or even an EEPROM? Anything would be faster than the computations and configurations that are performed from scratch every time I boot, to customize the installed OS & startup apps to *exactly the same state every time*. Why has this util taken so long?
--
make install -not war
(Yes, it can be done on mine, they sit up at an angle.)
This sig no verb.
I didn't see anyone mention this, but in addition to service dependencies, we also already have parallel functionality. Put RC_PARALLEL_STARTUP="yes" in /etc/conf.d/rc.
Ok, I agree that boot time is important in many specific cases. However, you say
/etc/rc3.d and find a whole bunch of services whose names you don't know, just remember that they might actually extend functionality beyond what you could get with another OS. If you ever truly do make your installation sleek and tiny, then give it another test and see what you find.
I see... fanbody and girls... claiming that... b) linux boots very fast. They are wrong.
This seems to be the prevailing wisdom here, so this is for everybody. I just have to disagree. A standard GNU/Linux distro (like Mandrake, for instance) will startup a buttload of services (depending on what you select at install time), and do far more than a standard Windows install (for instance). It will in fact run at startup every service that you've told it to install (again depending on if you tell it to, but I believe it will do this by default). Often this includes one or more databases (postgres, mysql), a web server (apache), perhaps a few file sharing services (samba, nfs, ftp), a few remote command services (ssh, telnet), and its usual collage of helpful newbie services (autodetect hardware, boot numlock, etc). Now, with all of this crap running on my antique P Pro 200-64mb, I boot in less than a minute from lilo to login prompt (and X is about 5 seconds more). I think XP home would barely beat that time on a system that old, and it can't serve things. And yes, faster systems scale nicely; my Debian system is extremely fast lilo->kdm; as good as my XP pro in fact, and it still has all the server trimmings.
Now, on the other hand (for a fair comparison), if you've ever experienced a windows 2000 server machine with active directory, you know real pain. From boot.ini to load of video drivers is fast, but after that, restoring network connections can take as long as five minutes even on a fast system.
So in conclusion, a default install of any random distro may or may not be slower starting up than another OS (read Windows), but just make sure you're making a fair comparison. If look through your
This has to be a troll.
What kind of idiot would be posting to Slashdot looking for Vulture Capitalists?
There is no America. There is no democracy. There is only IBM and AT&T and DuPont, Dow, General Electric, and Exxon
serel - fast boot software serel is a utility that helps computers to boot faster by adding synchronization and integrity- checking to the operating system's "service startup" phase, allowing services to be started in parallel. The software supports the visualization of services, dependencies, and timings.
In your init.d rc and rcS scripts add something like this to the start up execution case block:
;;
[SK][0-9][0-9]+*) # Background
$debug "$@" &
(Debian shown) and then rename start links S+[name].
The + will now denoted that that the process will be backgrounded at execution and will parallel your boot. You still need to make sure that dependancies are run first.
Of course whether you do this or use gmake this is still 20 year old mickey mouse bullshit, and the entire sysvinit system ought to be scraped!
def ShamelessBegging ():
Somebody give me money so I can write a modern core unix userland already!
Dave
Now with this use(less)full knowledge I'm so going start tweeking my linux system out for performance.
Isn't that the first thing you do right after you load the os off the disk?
-makoffee
I did it and noticed a decrease in the boot time, probably 15-20 sec. give or take. YMMV.
-- Two in the pink, one in the sink.
... it would make much more sense to speedup the bootprocess of winsux.
damn windows operating (booting?) systems are busy with booting more than doing some useful task.
jeebuz, its about time to speedup the SHUTDOWN time of windows at last. shutdown and never cum back.
EOF.
I've seen the exact opposite approach taken - switching from parallel to serial to reduce startup times.
The reason this worked was that starting processes in parallel increased disk contention and the extra seeks brought the machine to a crawl.
Sure, that was on a system with very slow seek times, and not much in the way of disk caching and scheduling (an Amiga 500 with no HD). A lot of things have improved since then, but seeks are still extremely slow in machine terms, and we also have virtual memory and demand page loading which I imagine don't help the problem.
Maybe keeping data needed at startup centralised on the disk (e.g. in the boot partition) would help.
As disk accesses during startup are probably pretty predictable (consistent from one boot to the next), it may be possible to pre-load the disk cache to improve startup times.
A simple approach would be to log disk blocks accessed during startup, and then read them (in a sensible order of course, and in parallel across disks) at the start of the next boot.
However, it is still annoying that the NT architecture claims that the system is up when it isn't. Login too quickly and you will find that minor things like RPC aren't running yet. With Linux, you get the login when startup is ready.
However, I do like the startup groups and the dependencies under NT onwards, even if the stuff is poorly documented or wrong (bad dependancies). The joke was that in NT4.0 a fast processor and lots of memory sometimes meant that stuff was started out oif sequence - lots of hilarity spent debugging that one!
See my journal, I write things there
I thought there is an outfit called "linuxbios" that supposed to make re-booting, especially cold-booting a very fast process.
Can anyone here tell me the recent progress of "linuxbios" ?
Thank you !
Muchas Gracias, Señor Edward Snowden !
I'm genuinely surprised.
simpleinit-msb is available and stable for more than a year, and that's what I use on all of my custom LFS boxes. No more headache with links, all is very simple, and it boots very fast, as most of the services start simultaneously (and I have a lot of them). Actually, if you choose to do so, you can even have X started very early in the boot process, having a graphical login even before all your other services have started.
I know most distributions do not use it (even LFS, as they want to be as LSB and FHS compliant as possible), because it isn't standard and so is not LSB compliant.
It's not. Trolls are anonymous.
AMIGA FOREVER!!, and good luck to that guy.
If I were to really analyse boot speed the first thing I would need to know was the use of the machine - i.e.: workstation or server.
In the case of a server, let's face it; boot time probably doesn't matter at all.
For a workstation, it seems to me, the most important thing is to get a GUI up as quickly as possible, and while the user is twiddling their thumbs trying to remember what it is they are meant to be working on, the rest of the services can be brought up.
This way the user perceives his system is ready, before it really is, yet by the time they get around to actually doing something useful, the system will be ready. And even if it's not quite up, the user should only present them with a 'Service not ready' message
My toshiba 4600 suspends/resumes without problems. Ofcourse, it's the only system I have which does that trick, but since it's also my only laptop, I don't mind.
The only problem I have is that I often need to restart the dhcp client to get access to my cablemodem after a resume.
I've got an Apple iBook running Linux; I've never seen an x86 laptop handle powersaving (or other functionality that's essential when you're using a laptop) as well as the iBook. There's pretty much no need for me to reboot except after a critical system component update, so the whole boot time issue is irrelevant for me. Now if I could only figure out how to modify the keymap used by KDE so that it would support both the weird Apple layout and the Finnish one ;)
Why should a "MediaCenter" require less services than a LAN-server ? It actually serves information, just that this is multimedia information.
My system (DVD/digital-TV/MP3-jukebox/CD-player/VCR) runs:
- MySQL along with mngosearch for full-text search in all ebooks. Also it stores the TV program for the week.
- LDAP stores all references (bookmarks) to media files, be them local or remote. Nice to extract XML data from it. I use RSS streams for information-interchange with the client programs (mozilla framework). LDAP also handles all other stuff (NIS, etc), now, that I have started it, why not use it ?
- Apache serves interfaces and runs backends
- the applications serving the media data over the net
And this is just the major services, of course I run Samba, so I can access the data from other clients in a more traditional fashion and stuff like lirc and whatever a box needs to run.
And no, I will not run two servers 24/7, I have a generic file/printer/LAN server already uptime all the time. I switch my media box on (it is in standby) with the IR-RC or wake it on LAN.
If you have a system, that is a little better than these boring HTPC shit replayers you *want* a web-server, just in order to display the TV program, that you store in the MySQL database. Just one function I do with a httpd in such a system. I serve all information via HTTP to the clients.
It's nice to see that others have been thinking about this too.
"It's here, but no one wants it." - The Sugar Speaker
Instead of using make use a utility which has been designed for
this purpose: FRC, its homepage is opensource.openfuel.com/frc
If your system is only on as long as you use it (ie. 6pm-11pm = 5 hrs) then at all times outside active use, you save:
(a) wear on components (24-5=19 hrs per day x 30 = 570 hours / month) [think of the MTBF of your essential components]
(b) electricity to run your system
(c) electricity to run cooling systems to offset heat created by systems running 24hrs/day
(d) noise pollution from system and cooling systems
Fast reboot times are quite useful.
Mainstream Supervirus Network
would be a better way to switch from parralel to serial execution for debugging purpose. Meir
I have to admit that I like Windows Hibernate feature...and another one: turn off Hard Disks when I am not using my computer....
I had to insert a 30 second sleep into the start section of the portmap init script just to make sure that the ethernet ports were REALLY up and running.
And now they are going to try and speed this up?
Please.
Linux would probably boot faster if we removed all that SCO code from the kernel....
;)
Oh wait...
- undoware.ca
You might see these young professionals as idiots, but what you do not see is your attitude towards them. Yes, you are ignorant when you are young, but you do have choices and if you deal with people you don't like, you have missed a choice.
For example, I run linux in my car and this will make a huge impact on how long I have to sit without tunes.
.bash_profile .bash_profile
Some of the things that I've done to expedite the boot process is:
-build a kernel that's modular
-load audio module, start playing a tune
-start X
-move 90% of my boot scripts into my
-load remaining modules from the
In this way, I'm presented with audio and the interface right away. The non-essential things like gpsd, kismet, etc. get loaded _after_ the initial UI is presented to the user.
Don't think that a small group of dedicated individuals can't change the world. It's the only thing that ever has.
They will start in parallel if you change the RC_PARALLEL_STARTUP="no" line in /etc/conf.d.rc
Long live Gentoo!
I know you were joking, but I've got an answer anyway. That's a big part of what IT does. If you can save your users a few minutes every time they start their machines, you're saving your company money.
An admin is responsible for systems
Security
Integrity
Availability
This improves availability.
Assembly is the reverse of disassembly.
You might see these young professionals as idiots, but what you do not see is your attitude towards them. Yes, you are ignorant when you are young, but you do have choices and if you deal with people you don't like, you have missed a choice.
You're a fag that licks peep show walls for leftover glory hole juices
www.cruisingforsex.com for all of your glory hole needs!
Can anyone give some samples of basic boot times for a server, or better, desktop.
I haven't rebooted my server in awhile and I'm not about to reboot to test. But from the lilo menu linux boots as:
39 seconds to the "login: " prompt, and 18s to start X (default is CLI login).
Not sure if that's good or not. GUI is using an XP-themed IceWM, with DFM as the desktop manager. basically it looks close enough to XP, but loads a lot faster than XP does on faster machines than this (Celeron 700 laptop, 256MB RAM)
Are you referring to Windows' propensity to give you a login prompt, and then proceed to continue grinding the disc with who-knows-what in the meantime?
--JoeProgram Intellivision!
do you have a job? seriously
I already tweaked my startup scripts to get a much faster boot, but one thing is really strange. I've installed SuSE 8.2 on a lot of different desktops and laptops, but only with an IBM A31p loading the kernel takes about 19 seconds (the part where it says Loading linux.............). On all other systems this takes just a few seconds at most. Does anyone have an explanation for this? I'm using the stock 2.4.20 kernel from SuSE with the following append line: acpi=off hdc=ide-scsi hdclun=0 showopts
RHCE, ITIL, LPIC-2, LCE, NACP
So, the fact that you may not have thought of it yourself might be a sign that you are productive in other areas of your life.
On an unrelated note, I think that OS designers/creators should spend more time documenting the advantages of certain features. On my Gentoo system, for quite some time now, I've watched the boot process say something about mounting network drives. I wanted to take it off, but I was hestitant to do it. I finally tried it, & it turns out that it never made a difference either way, so it was better to leave it off. If there were some comments in the script about what typical network drives it was trying to load, then it would be more helpful to folks like me. It would have been good to say something like, "If your computer is the only 1 on the local network, then you don't need this. It's for NFS, Samba shares, etc.". Not many people will understand that, but some of us will, & it will help a little.
testing out my trending skills
m
testing out my trending skills
I've got the opposite problem with the power features - most of the common distros come with them enabled, but the doorstop Pentium 60s in my lab don't support it, so if you leave the machine alone long enough, it will put the X screen into powersave mode - it knows the half about making it go dark, but not the half about waking it up again. Messing with X didn't seem to do the job well enough, and it was easier to recompile the kernel with power management turned off.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
It is a good article, but it glosses over the most important part: in order to successfully boot up your system faster using parallel processes, you must first resolve all dependencies.
This isn't easy, because it's a nontrivial problem to tell exactly what services a given process relies on and assumes to already be existing at the time the service is started. Also, some scripts start off daemons in the background and then return immediately! If another service depends on having this daemon running, it would need to know to wait for that daemon to finish initializing.
What would be great is to have all future init.d files adhere to a convention in which they could list what they provide and what else they depend on, kind of like what the RPM database already does. It would look something like this:
# script for starting myserviced
# REQUIRES network syslog
# PROVIDES myservice
This example would be for a daemon that requires two services to be running, and provides a service of its own that other daemons can depend on. This could be used to resolve initialization dependencies and make the system boot faster. Note that the service names are abstract, not corresponding to any particular daemon, so that replacement daemons could easily be swapped in to do the same job.
I would be surprised if new distributions haven't already thought of this or didn't already have such a system in place!
Dr. Demento On The 'Net!
A new init and accompanying rc script system, whould be better parallelizing boot system for Unix than a system based on make and the current scripts. As has been pointed out already, make can only elegantly handle the following issues:
Now, even providing just these two abilities would be nice, to be sure. Dependencies allow parallelization of boot, and thus the obvious speed benefit on system startup - yet beware, because make does not handle all issues here. Just as make -j can break updates of shared targets (like libraries), using it for system startup can scramble your boot logs. But make is a notional source for simply-named abstract targets like "make clean", except that here we want to be replace phrases like "boot everything up to Samba", or "prep the system for remote ssh for users with NFS-based home directories", or "shutdown Oracle and everthing that needs it", with commands like "initlevel -target samba", "initlevel -target ssh-logins", and "initlevel -stop-propagate oracle" (the last of which might leave us in an init level without a defined name, but that's alright). Make can't easily do the last one.
But there are other key scenarios that a make-based system fails to address, that a rewrite of init and its accompanying scripts could:
Based on the last point in particular, that of tracking the status of running services, I had abandoned the idea of solving the problem through simple scripting in '99, but these needs could all be addressed by rewriting init itself from scratch with new requirements in mind, and without the antiquated, numbered runlevels. Certainly most of the system would still be script-based, but init, in its role as the grand reaper, the dark ring to which all dying processes are bound, is the tool for watching the services on an ongoing basis, and killing or spawning services as needed to keep the current init target valid.
For all of its flaws however, /etc/rc and /etc/init.d provided concepts sadly lacking back in the time where /etc/rc and /etc/rc.local were king - namely, the concept of standardized methods for each service script. Having "start", "stop", and so on available has not only made the current system useful for perhaps longer than it should have been, but provided a basis for conveniences like chkconfig(8) and service(8). Heh, if only "start" started all its needed parent services in parallel first, right - you could just have "service xlogin start" start everything it needed recursively, oh, wait, don't try it, you'll get 100 init processes or something if you're not careful, don't run that...*akk*
i activated it on my gentoo but didnt noticed any improvements
but i got mine up in 32 sec from grub to kde login screen
with hotplug activated