Booting Linux In Three Seconds
cramhead writes: "Some very cool technology that motherboard manufacturers should consider adopting. Using Linux to boot a system allows flexibility and speed. Thought the world deserved a look at [the LinuxBIOS homepage]"
This project sounds similar to the OpenBios project which has mentioned before on Slashdot, but a lot has happened since then, and even since CmdrTaco last posted about LinuxBIOS. The news page indeed reveals that (with certain motherboards), adventurous flashers-of-RAM can have Linux up in three seconds, and they promise improvements even on that. They also note that LinuxBIOS is working with an Alpha DS10 and with an Athlon / SiS730S combination. (This may also remind you of the etherboot project).
It takes about 10 seconds for my palm to boot, with about 20 programs and hacks installed. But you're probably thinking about the near instantaneous wake up when you press the power button, because the power button is more accurately a sleep button. The article above is about a cold boot, so if you'd like to compare apples to apples, press the reset button on your palm and see how long it takes to get to the main menu.
Very true, and with all their influence, why has microsoft not influenced mb manufacturers to produce a bios that will load windows faster?
It's probably due to all the dos code that still remained at the core of win9x, but with that gone is this something we may see in the future?
Clearly you couldn't put windows itself in the bios, but all the chipset drivers could be there. The bios could set up protected mode and load a large file into ram.
Or is everyone so in love with supporting legacy code that this will never happen? (even considering the amount of code that'll have to be rewritten to take advantage of 64-bit processors?)
I think this function also requires a patch to the "shutdown" utility. You set the system to hibernate by running shutdown with the "-z" flag.
The Macintosh Classic booted from a ROM image if the command-option-X-O keys were held down. Being as it was ROM-based and all, it was fairly limited--I believe a variant of System 6 was included at a time when System 7 was becoming quite popular.
--ian
No, BeOS doesn't do that. It does a full boot every time.
However, EROS works just like you've described.
Power conservation
Embedded applications
Laptops
And there are undoubtedly more.
Very fast boot times isn't the only great feature of LinuxBIOS. LinuxBIOS can boot Linux and other OS's like Be or QNX, though it's not for Dos or Windows since they rely heavily on the legacy BIOS for certain features of operation that LinuxBIOS doesn't bother with. LinuxBIOS has a very stripped down linux kernel that just sets up some basic features of a PC better than many OEM BIOSes (memory, cache, super I/O) and then jumps to loading whatever kernel you wish to take the system from there.
Quidquid latine dictum sit altum viditur
If we were to calculate the mean cycles to failure for the average home PC, multiply that by the average time it would be switched off for (8-10 hrs min?) and figure out the cost of power being saved, I think we would arrive at a figure which would pay for a new PC at that failure point. (Same with lightbulbs, leaving them on to prevent their burning out is penny wise and pound foolish.)
Plus, with Linux in particular, if you're running it as your desktop OS and don't need to leave it on as a server, it is helpful to reboot occasionally so that when you reboot unwillingly you won't be swamped by all the stuff you should have put in the boot scripts and etc, but put off until later, "Oh I'll just insmod that for now...".
Uptime is a means, not and end.
All kings is mostly rapscallions. -Mark Twain, The Adventures of Huckleberry Finn
I don't know much about what has or has not done- low level OS stuff hasn't really been an interest of mine, but I do know the way fork() works in GNU/Linux. With fork() in this environment, you don't actually do a copy of the entire data segment of the program, you just reference it and make copies of each bit as it's needed. Would it not be possible to do this upon booting of a BeOS system? ( and of course any other operating system that implements the system memory dump feature)
It seems to me that you'd only have to boot the very core features and just load the rest off the memory dump on the drive as you need them, as opposed to reading the whole thing on startup.
I've seen a few posts to this story that seem like they assume a computer with more memory would take longer to boot up with the RAM-image system. This way wouldn't. However, it would give you more sluggish performance. It might make other things feasible, like 'undoing' your system back to a certain state (although you'd have to consider data persistance because you couldn't undo changes that have already been written to storage devices)
Just some food for thought.
I figure turning the computer off is the worst thing you can do to it.
I agree.
I've had to turn off my computer for a few days twice in the last few months. Both times it got so angry with me that when I started the computer (in Linux, of course), it crashed just before giving a login prompt!
I suspect that some of my tweaked hardware doesn't like running cold (referring to temperature). When it's gotten through the fsck on the second boot (I've got several gigs to check), it always works perfectly...
I doubt, therefore I may be.
I have a Sun Microsystems Sparcsation 10 that was manufactured in 1992 - 1993.
In the PROM (BIOS), I have a basic unix OS, can boot from CDROM, boot from the network, boot from a tape drive, compile, IO to a serial port, and do a host of other things.
That was like nine years ago. If there is no demand on the consumer level for these things, you will not see it no matter how long you wait. Start harassing the PC BIOS manufactures to get off of their asses and start programming per your demands.
Like they aren't planning to do that with Windows XP? Once they release that turkey, I bet you real money that alternative OS's will hit the mainstream big time...
Just because you can mod me down, doesn't mean you're right. Shoes for industry!
I would still be waiting about 8 seconds, because, it takes longer than 3 seconds for my monitor to warm up.
I've gotten even old, slow machines to boot very quickly (under 10 seconds after LILO prompt) by compiling a non-module kernel and replacing the /etc/rc.d/... stuff with a single /etc/rc script. Of course, none of the standard admin tools know what to do with that sort of thing.
I think rethinking and redoing everything from the time the Linux kernel loads to the time the user gets a prompt or login screen could both simplify administration and speed up booting without sacrificing flexibility.
RAID-0 LinuxBIOS!!! Whoohoo, boot Linux in 1.5 seconds with even more functionality!? ; )
LinuxBIOS would be super cool to boot firewall/gateways with no disks at all!
War crimes, torture, lies, illegal spying... Would someone give Bush a blowjob, already, so he can be impeached?
ram access is faster than hd access.
True. But most computers I've seen take a good bit even before they access the hard drive. Checking ram, scanning PCI bus, etc...
I was thinking about the Reiser Situation too.
but I think an electronic solution would be a lot faster than any mechanical Harddrive (even SSCI)
Combine Reiser FS and a special Boot Chip, and I think you'd have a real winner!
This is a great idea, even if most people won't need to use it. I've been waiting for Microsoft to start forcing PC manufacturers to use "trusted" Windows-boot-only BIOSes, and if (when!) it happens, there'll be a way out.
you forget that most people turn their computers off at night. It saves power and is simply practical if you're not running any servers. While the bootup time isn't horrible on linux, it's certainly noticeable. I would gladly welcome a setup that booted quickly and shut down quickly.
If someone made a consumer device just to play mp3s you could bet it would not run a multi user unix os. All you need is some eproms and the dsp decoder chip and some media to read from.
Only the State obtains its revenue by coercion. - Murray Rothbard
Why is it so important to start a computer so quickly? I leave my computer on all day, and most people leave them on for at least hours at a strech. While superbooting might be a nice goal to work towards technically, I can't see how it's actually that useful.
-- Nerds on toast in the new millenium
You know what else I would love to see in linux? Kernel hot-patching ala Solaris. That'd be SWEET. Anyone know of any projects around trying to do that right now?
Justin Dubs
There are enough variations in hardware configs that I wonder how much of it needs to be handled in the bios, and how much can be set aside until you start loading drivers?
A good bit is handled in the LinuxBIOS. The first thing that has to be set up is the memory controller and the DIMMs! Then copy the Disk on Chip access code to RAM, copy out the LinuxBIOS proper, and jump to it. That has to happen in the first 512 bytes since that's all that's available at powerup from a Disk on Chip. Then the bridges must be turned on. Some chipsets have a watchdog timer that must be turned off to avoid a hard reset. For debugging, it's good to get the legacy bus and serial ports up as well. Finally, turn on the various built in devices like ethernet and IDE, basically anything that is normally configured in the CMOS.
After all of that, gunzip the kernel into place, set up a page with the kernel commandline and such and jump to it. The system will look more or less normal at that point except that the IDE driver expects that the drive has had time to spin up and init (it hasn't). A couple of small patches take care of that. In the 2.4 kernel, there's a framebuffer driver that knows how to turn on the built-in video in the SiS 630 chipset. In 2.2, you get no video.
It's interesting to study the code. You'll gain a huge appreciation of how complex things have gotten since the days of tweaking registers in the Apple or Commodore 64, or the old PC,XT, and AT for that matter.
It will be interesting to see how it handles the various chipsets. Each one has it's own odd quirks, and it's not unusual for hardware bugs to be hidden behind some BIOS magic work-arounds (In some cases, the BIOS just keeps resetting the chip until it decides to come up). Many vendors jealously guard their register level specs for whatever reason, especially video cards.
Fortunatly, SiS has been very helpful and open about it's specs.
idiot, that's just a pointer to your own computer. it doesn't take much skill to access your own filez.
The problem, as I see it, is that this BIOS can *ONLY* boot Linux, since you flash the kernel image into the boot ROM. This would mean you couldn't dual boot (even different versions of Linux) without reflashing your BIOS every time.
With two kernel monte, the kernel in the ROM can directly boot another kernel loaded from disk or network (even serial for that matter).
It definatly won't boot Windows. I like to think of that as a feature :-). It is nice to get rid of the last bit of proprietary software.
Hibernation is normally done by the bios, so you have no control over its process whatsoever. The bios just writes your entire RAM to your harddisk (normally to a special partitition), stores some system status data, and powers off.
By the way, I prefer suspend over hibernation. Suspend is virtually immediate, while hibernation takes somewhat longer than normal booting. Also, you save 200MB of HDspace (I have 192meg ram).
----
Creating heat is the one place where efficiency doesn't matter much at all. Second law of thermodynamics -- energy is neither created nor destroyed. The energy in light ultimately ends up as heat -- the light rays bounce off of surfaces, each time becoming dimmer and slightly heating the surfaces.
There might be a certain inefficiency to this -- maybe the surfaces aren't what needs to be heated, and while some of the heat of the walls goes to the air, some goes through the wall and outside. But I doubt that really matters much.
If you are burning fuel, efficiency does matter. You have to burn the fuel completely, and you want to lose as little heat as possible through exaust. But for electricity it's not really an issue -- all those efficiency issues have been taken care of at the power plant, and the electical energy is pretty much guaranteed to become heat in the end.
I've been thinking why they don't create a faster way to boot a computer for a long time. rzbx
Question everything.
Sorry to reply to myself, but I did some looking around. There's a "suspend to disk" patch (which requires patching the kernel and sysvinit, but not shutdown). Look here for more info on that. This is the same "swsusp" program mentioned previously.
http://www.scyld.com/products/beowulf/software/mon te.html
It's called Two Kernel Monte. It's a module that loads a new kernel into memory, does a little do-si-do dance to get it where it needs to be in the mode it needs to be in, then simply jumps to it. (Yes, you need to do
umount -a;mount -o ro,remount /
before doing this, since it doesn't do any of that...) No, it's not an in situ change, since all your processes die, but for systems with multiple SCSI or RAID cards, it can mean the difference in a few seconds for reboot and a few long minutes....
On a side note, make sure and grab my link; the one on Google is wrong (until they fix it), and it took me a while to find the right thing...
--
Never assume TFM is right.
You'd turn one of them on, it would wait a second, you'd hear a beep, then a second later you'd see the PhoenixBIOS (IIRC) banner and you'd be dropped to an A: or C: prompt. :)
Then you'd load DeskMate (or BASIC or whatever) and be off!
This would be useful for Windows, considering how often you need to reboot.
Why would you need it for Linux, though? I mean, who reboots more than once every major kernel upgrade? What would be really cool is a way to upgrade your kernel without rebooting, like QNX...
If anyone out there who has any say in next generation BIOSes that are not intended to boot windows or other OSs that requires primary and extended partitions, then please implement this.
I would a system with unlimited partitions, no legacy hard drive rubbish etc. Instead of mounting / on sd1s3a1 etc, why not mount / on "root", mount /var on "var", mount /usr on "usr" etc, just like the Amiga ("Work", "Workbench", "System 3.0" etc. The same goes for removable media - the Amiga has "CD0", "Zip0", "DF0", "DF1", etc for various types of removable media. Instead of mounting a floppy as /mnt/floppy from /dev/fda or whatever, mount a floppy as /mnt/floppy from "fd0" or "floppy", or "zip" or "playdisk" or "dvd" or whatever.
Add naming to disks themselves. Then when you do cd /mnt/backup, the system will ask you to insert the disk named "backup", which could be in any drive. The OS would autoload the disk when inserted, see that the disks name was "backup", and everything would continue fine.
Computers have gone a long way backwards since the elegant solutions that existed and died in the past with the likes of the Amiga, etc. This can mostly be blamed directly on Microsoft and Unix systems where usability was put last on the list of priorities. Now it is important, there are a whole load of nasty hacks to get around the crufty old PC system that just doesn't work nicely. The sooner it dies, the better.
e.g. how long does it take to boot a palm pilot?
basically, to paraphrase:
ram access is faster than hd access.
© 2001 Anusmouth_Cowherd.
© 2001 Anusmouth_Cowherd.
(just looking for some -k)
Remember, before you had broadband how you would wait for a lengthy list of this-to-do to accumulate before you dialed up and went online? I'm sure that this is ancient history to all of us, but think about what broadband did. No dialup at all, (or nearly instantaneous dialup). Instantaneous access. It caused a metamorphasis in the way that we use the net. Our entire perception of how we should use it, and our useage patterns themselves changed drastically. It became integrated into our lives instead of being an auxilary component that we hooked into every now and then.
This near-instant boot time, if popularized, could both spell new growth for linux and computers in general. It would integrate them into people's (ie the general populace's) lives in a way never really achieved before. It would be very cool. ;-)
Just a thought.
FYI: I'm using a 31.2 connection right now. It's the best I can get in my area.
O'Toole's Commentary on Murphy's Law:
Core memory.
Magnetic cores with interlaced wires. Bulky, slow, and expensive. If you laugh about 640k "being enough", think about 64k byte mainframes.
Actually on my laptop Windows ME boots faster than it comes out of hibernation.
On my old laptop I could use 'apm --suspend' and leave it like that for days, so far this new Toshiba 2805-S201 isn't coming back from a suspend in Linux (let me know if you see anything about it).
This will rock when it finally goes live. I remember reading the older /. article about a Linux bios (using VIA chipset I believe?) and the problem that they encountered was the system booted to fast for the drives to come online.
It would be nice though to have all my newer computers boot as fast as my 286.
Its wierd really, my 286 will boot into DOS faster than any of my newer computers will boot Linux, Windows, or BSD. What the hell is that?
(Yes yes, I know its all about hardware detection loading daemons, etc etc etc. It still feels like a throwback when a 286 and an IBM PS/2 boot faster than anything else modern.)
Try to hack my 31337 firewall!
Go to their site and read some of the pages. This started at Los Alamos _for_ their Beowulf clusters exactly for that reason.
the good ground has been paved over by suicidal maniacs
Like the article which you've obviously not read, says: it boots MUCH faster. I think that's useful for regular Linux users. It's really useful if you want to make a diskless box that doesn't need a network to boot from, but that's maybe a bit less interesting for regular users.
0x or or snor perron?!
If you could replace the BIOS with Linux, then I guess you could accurately say that it would be possible to run windows and linux simultaneously (without emulation)
This would be useful in building internet/compute appliances with standard PC motherboards. People have come to expect a device to be on instantly when they hit the power button. How successful do you think a modern TV would be if it took 20-30 seconds before the user could do anything? In their case, they wanted to have the ability to add a compute node to their Beowulf cluster, turn it on, and have it ready for work in a few seconds.
the good ground has been paved over by suicidal maniacs
How much do these IDE solid state disks cost anyway (the small ones, not the fast ones). Imagine fitting a kernal, sshd, bash and a fully configured apache on one for instant web server availability. I know that the win2k microsoft.com website runs of large solid state disks for near instant reboots.
Speaking as the person who started linuxbios and runs the project from here at LANL, I thought I would mention a few things.
... oh, and of course, EFI only works on one architecture; LinuxBIOS already works on two, and PowerPC is on the horizon.
3 second boot. Trust me, it's nice. And no matter how fast you make your boot, mine will probably always be faster, since you'll always be stuck with that crazy BIOS doing all that unnecessary work so that DOS will run.
3 second boot: it's nice but it's not our primary reason for doing this. We need to replace the BIOS
because of its many stupidities:
- zeroing memory on boot, so you can never REALLY know what happened when your machine crashed
- Those 'no keyboard, hit F1 to continue' messages on nodes that have no keyboard. Think this is only happening on old machines? Guess again! It happens even now on a rack of Compaq DL360 machines we just bought. Every once in a while, they ignore the 'no keyboard' bios setting. Imagine trying to deal with this if you had 256 nodes with no display. No fun.
- Current BIOSes allow no good way to boot without disk, floppy, or CDROM. I'm well aware of PXE, but the many defects of that standard make it only partially useful.
- BIOSes are getting worse. Intel's next-generation BIOS, the EFI, will require that you have a FAT-32 formatted partition somewhere, and as part of the boot process you will have to run CHKDSK. Nice, Huh? If you have a strong stomach download the 400-page standard, read it, and then wonder why this is better than just loading Linux from flash
Our main use of LinuxBIOS is for clusters. That said, I have a LinuxBIOS machine as my desktop and it is really nice. When you're doing kernel work you tend to reboot now and then, and LinuxBIOS takes the pain away.
Even cooler: we have an 8 MB Millenium Disk On Chip on one of our clusters. Ollie Lho and David Woodhouse worked out how to make the last 7MB into a root partition. We put the Scyld root file system onto that partition, so that the nodes boot up right into the Scyld cluster environment. Voila, silicon cluster nodes. Life is much easier.
See http://www.linuxlabs.com/linuxbios for a ompany that will be selling these as cluster nodes. Also see http://www.lnxi.com for another use of LinuxBIOS. For other systems that boot Linux from flash, you can check out synergy, CSPI, and API.
For an embedded use, booting in 3 seconds is pretty helpful. Do you really want to wait 15-30 seconds for your stereo to come up? I've talked to a few companies that want to use this for set-top boxes, and one that is probably going to use it for a CD player.
For a really interesting embedded use, check out http://www.cachier.com
OpenBoot: Yes, if you don't mind writing all your own protocol stacks, drivers, etc., etc., all of which Linux will do better, then go for it. But we've found here that Linux makes a beautiful bootstrap. We currently only boot Linux from Linux, but both Plan 9 and OpenBSD are in the works. Linux is a good bootstrap.
I've only scratched the surface here for reasons and uses of LinuxBIOS. I hope this helps a bit.
For the record, I run Win2k, Linux, and BeOS.
BeOS boots in literally 3 seconds. Linux 2.4 about 10, and Win2k in about 45 (stupid long @$$ boot time)
Why do you need a new BIOS just to boot Linux faster??
If your partition system reserves the beginning of the disk for a boot loader, then only the boot loader and OS care what the partition scheme is. You don't even have to use partitions at all on a disk that you're not booting from:
/dev/hdb
mke2fs
Linux already has support for other OS's partition schemes (BSD, Macintosh, Solaris Sparc/i86, Unixware). Adding another would probably be a lot easier then most of the other work people happily do. LILO wouldn't care what the partion system is if you installed it at the beginning of the device (boot=/dev/hda). Grub could probably be patched to understand the new scheme just as easily as Linux could.
The only downside is that you couldn't dual-boot any OS that didn't understand the new partition scheme. That's probably why noone has done it yet.
Have you ever worked on a machine with 2 or more scsi controllers, and 512 MB+ of RAM? This is being worked on in relation to their beowulf cluster; believe me, it takes the nodes in our cluster at least 2 minutes to complete a RAM check and a basic bus scan (which is done a 2nd time when the SCSI module is loaded). And they are planning on upgrading the boxes to a GIG apiece.. argh.
:) )
(Oh, and moderators: YES, beowulf clusters are on topic in this article
"'Tis great confidence in a friend to tell him your faults, greater to tell him his." --Poor Richard's Almanac
... how about replacing this really stupid, crappy and annoying partition-scheme that seems to cripple the x86-architecture?
... what *is* that?
Primary, extended... etc.
I *really* miss the way Amiga did it. Partition your drive as you see fit. Use *naming* instead of numbering of partitions. Remove, add, split, join partition without affecting the other partitions and needs to reconfigur (eg. hda9 suddenly become hda8 or hda10 or something).
Just my 2 cents....
think bigger, imagine BSOD:s during BIOS loading!
If such a thing went through, having a open source bios image to flash might be the only thing that saves us from Dumb/Prejudical/Just-Plain-Evil(TM) HD access restictions.
EX: The BIOS refuses see LILO in the boot sector...
Trivial now, Vital Later.
Novel theory: Modern Man evolved from psychopath
Nobody seemd to mention that LinuxBios could be a big plus on embedded systems and internet appliances.
We can't just think about geeks who keep their computers on all the time, but other folks who might be switching them on and off several times a day, and for different system designs where fast bootup is a big plus. Things that people may not think of as a "computer," like Tivo, etc.
Also, being able to boot to a more flexible maintennance state, including network, and a bash prompt, even if the hard disk fails.
Use your imagination!
Well, living in a flat with a most bizarre electrical circuit (we hired an electrician to just tell us, how it was set up, and he looked, laughed, shook his head and said "no way") sometimes means "rebooting" (does anyone have a cheap UPS or three for sale? I'm a student). Also, the AC outlet in the Danish trains flicker, if the train brakes or accelerate too hard. Not good on an old laptop with no more battery (yes, I know fsck takes some time after that). :-)
Am I wrong, or does Linux not depend on the bios detection for hardware (it could be only HDD geometry, that's where I read it)?
But in the end, yes, you could deem it useless, but never underestimate the argument "because we can, damn it"
"The number you have dialed is imaginary. Please rotate your phone 90 degrees and try again."
But why use hibernate - that still has to read all the memory off the disk - since it's done in the BIOS it's OS independant - while I could use it my 3 yr old DELL/redhat/KDE system just suspends - virtual instant-on - batterys last days in suspend state (but it lives in the dock anyway when I don't use it) - only time I ever truely hibernate it is when I'm oing on a plane
While this is a cool idea, I think I'd rather have an OpenBoot implementation. That would take a nice chunk out of the suckiness of peecees. Unfortunately it also requires duplicating a good portion of the work that has already been done in linux - ie writing drivers for the various bootable devices, since unlike in a real OBP system they will not have their own fcode drivers and must be emulated. Still, the knowledge they are building for this could later be used for something like that. Basically instead of booting linux, they would bring up an ok prompt. Alternately, I suppose, one could simply write a userland OBP emulator and run that as init. Then much of the work could be eliminated. Why OBP? It's a nice environment, and a familiar one for many people.
Perhaps this is the first step in geting something like OpenFirmware running on a PC. My only experience with this sort of thing is with the PROM on SPARC hardware - very powerful and flexible. Having the ability to perform all sorts of queries and tuning before the OS even boots is a great asset.
Even if it got around the legacy 1024 cyliner limit etc that the BIOS imposes, then it's worth having IMHO.
API Networks (http://www.api-networks.com/products/cs20.shtml) has built this same capibility for their dual 833 Alpha CS20 1 U server. Which includes a flash managment/failsafe/diagnostics firmware (that fits in under 200k) called "Alpha Diagnostics Environment" or ADE for short. So for example if you say burn a bad kernel you can still just start your system and enter ADE and flash in a new one. You can also write to flash from Linux. Makes firmware upgrades and kernel changes alot more convenient. Average boot time on a box that doesnt have to do a VGA bios init is under 10 secs. From power on to login prompt.
Peter
--
www.alphalinux.org
www.alphalinux.org
These two are not mutually exclusive...
Mind you, LinuxBIOS is a great project I hope will continue to develop, but may be superflous for most dualbooters.
For those who want a kernel compiling howto for reference, try the Kernel Hacking Howto.
SEO Copywriter. Just Say ON
Yeah, there a a few non-volatile memory technologies on the horizon. I think FRAM (ferro-electric RAM) is a bit more advanced than MRAM - it's been shipping for a while.
I guess you could to the same no-boot thing on a regular PC by having the shutdown code just write the memory image to disk, and read it back in when you restart (i.e turn the power back on). Of course with todays common memory sizes of 128-256M and up, it'd still take a few seconds with a fast disk to read it back in.
Nowadays I just leave my PC on all the time anyway.
http://www.scyld.com/products/beowulf/software/mo
It's called Two Kernel Monte. It's a module that loads a new kernel into memory, does a little do-si-do dance to get it where it needs to be in the mode it needs to be in, then simply jumps to it.
Two Kernel Monte is a cool trick, but it's not really "upgrading your kernel without rebooting" -- it's "rebooting without BIOS reinitialization". It's a Linux equivalent to the LOADLIN program under DOS, allowing Linux to load and run a new OS, handing over control of the entire machine.
This is a good and useful trick, but it's a far cry from upgrading the kernel without rebooting. Since the old OS is entirely defunct and the new one has to initialize itself from scratch, this remains a reboot, albeit a faster one...
Deven
"Simple things should be simple, and complex things should be possible." - Alan Kay
Easy to solve. I have some electrical tape over all my LED's. They shine through a little, so I can still tell when they're on unless the room is very bright.
--
Fuck the system? Nah, you might catch something.
I've read that a Mac Classic had 512Kb of ROM. If one held down certain keys on POST it would boot system 6 in a couple seconds. Does anyone know if this is really true? If it is it must have been the only Mac that could perform this feat.
I doubt that you are really talking about hibernation. Where on the disk does your system save the memory? Is it a separate partition? Or is your BIOS supposed to restore memory by reading files from an ext2 partition?
The noise doesn't bother me, its all the damn LEDS...
With all the stuff in my room, there will be 3 LEDs from my DSL modem, 5 on my Linksys Router (more if other people have their computers on), and 1 from my NIC (my box's power and HDD LEDs are disconnected.. who needs them when you can tell by the sound of the fans or the Hard disks?)... Which makes that corner of my room relatively bright, it gets annoying sometimes....
Tim
Omnia vestra castrorum habetur nobis.
Beyond that, there is a patch for the 2.2 kernel called "swsusp" IIRC. It allows the kernel to suspend itself to disk by flushing all its buffers and writing process memory out to the swap file. When the machine reboots, the kernel recognizes a special signature on the swap file and reinitializes from where it was suspended. Last I checked, this hadn't been ported to 2.4 yet.
I run this on my old NEC Versa laptop. As long as you make the hibernation partition before you setup your linux partition, it works just fine. In the BIOS setup, I have hibernation as the default suspend. Linux behaves very nicely, shutting down and restoring PCMCIA, sound, etc. I even got around to setting up a default action for the gkrellm battery monitor that runs "xscreensaver --activate && apm --suspend" when you click on it. This way, the next time someone pops open the laptop, X will be locked.
F0 07 C7 C8
I have learned this from personal, unpleasant, experience. My homebrew computer's first motherboard was a PC Chips one. The modem in it never worked right from the start, and it failed in a little under a year. I'm now happily using a Gigabyte motherboard, which seems to be of much better quality.
-- jliechty at custom dot net
Rebooting upon kernel upgrade is ... HOW often?
If you've been tracking the ac releases [0], and compile for more than one machine (and yes, sleep occasionally, heh) you'll realize that it's been an almost constant process of recompiling lately. 2.4.2-ac11 is out, and possibly later revisions by the time you read this. (Alan has been prolific of late.)
I can't begin to think of the number of reboots I've done in the past week, once you start counting testing various combinations of kernel options and their interactions.
As for kernel upgrades without rebooting, no thank you.
I've been bitten by boot-time errors recently, things that would not have been discovered until the next power failure mysteriously caused hangs. At least this way there is a chance of catching the error within a reasonable proximity of the time the cause was created. There is more to good system administration than some penis-waving, "my uptime is bigger than yours," mentality seen on some IRC channels and web sites.
If you care about your system's reliability, you'll test its boot sequence every so often, even if inadvertantly. (If all you care about is penis-waving, please take your immaturity somewhere that it won't harm my systems until you grow up.)
[0] because 2.4.x doesn't support your 2.0.x- and 2.2.x-supported hardware
Why not build an Open Firmware clone? There are free Forth systems readily available, the extensions necessary for OF are not excessive. Doing a byte-code compiler using the OF specs would be interesting, but not particularly difficult (starting with a normal Forth environment).
OF even supports multiple partition schemes and filesystems. Linux has support for using OF as a bootstrap interface. I've always thought that an interesting approach to booting BIOS-based machines would be to use a boot loader that implemented Open Firmware, then use that to boot an OF-aware Linux. Of course, you'd need to keep old-BIOS support if you wanted to boot MS operating systems (and support the new boot ROM "standard" that Intel is introducing for IA-64).
. . . why the plastic liner inside you microwave shrivelled, your house burned up after a gas explosion, but was put out by the flooding washing machine . . .
:)
hawk
Linux RAID? Linux should worry about good SCSI first.
Built-in hardware hibernation works fine on my vaio z505le too. If I recall, it uses the fat32 partition at the beginning of the disk to store state information. you only have to make sure this partition is the appropritae size.
You can actually fit a complete OS into a 2MB compressed filesystem. It would be great if I could boot strait to a rescue mode in the case of hardware failure and still have access to basic UNIX commands.
Not to mention the ability to boot from any device connected to the computer / any network protocol.
I can see a lot of uses for fast booting with inexpensive motherboards in appliances. I simply don't want my washing machine or digital VCR or even my own workstation to take 30 seconds before it is ready. When I sit down at my workstation and press the on button I want the computer to be sitting at an X windows prompt by the time the monitor warms up.
I installed Linux to an HP server that had a 2 minute install, funky scsi devices and a bad CDROM drive and it took hours to get it all debugged thanks to the agonizingly slow BIOS.
Mac Classics, I think it was Command-Option-N-O... or something like that. Apple's original idea was for this to be used in labs and such, never needing hard drives... it loaded the appletalk stack and a System 6 derivative from ROM.
Kinda cool to do, though. It did only take about 5 seconds to boot to that... then again, loading System 6.0.7 from the hd would only take a few seconds with almost no extensions anyway.
Yes, I used to be a Macintosh user. Now I'm a UNIX user who's posting this from a Winblows box. I miss my Mac.
-30-
I love the fast boot from hibernation, especially when battery time is already less than a transcontinental flight.
You must not have much memory in your laptop <grin>. Mine has 512MB of RAM and it takes W2K much longer to read/write that half gig that it does just to boot normally. Think about it, it's common for drives to deliver 3-4 MB per second of throughput. Divide 512 by that and you get 2-3 minute boot times. Not fast.
Oh, and yes I do need that much RAM.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
i highly doubt the code is gone...just buried deeper.
How successful do you think a modern TV would be if it took 20-30 seconds before the user could do anything?
Very successful, I can assure you. I know some people with higher uptimes on their TV's that their Windows boxen :)
I've got my old Mac 512K (1985) in the closet these days... pull it out every now and then to show off boot times. My MacWrite/MacPaint floppy (which also has a System Folder on it) boots to fully functional Finder (the Mac desktop) in about 7 seconds after the power switch is flicked on. Not too shabby.
I DID read the article. Yes, the BIOS boots in 3 seconds. However, that doesn't mean that the computer is up and running in 3 seconds! You must still load up your bootloader and boot your regular OS, just like you usually do. I'll admit that's a pretty fast BIOS, however, that's all it is. It won't make the Windows or Linux boot process go faster. If you have a good fast BIOS already, it won't even provide much benefit in terms of startup time. These guys are doing it because of the flexibility it offers in terms of boot-time configuration, although they do like the increased speed.
[me@localhost]$ prolog
| ?- god.
! Existence error in god/0
main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
Certainly this is cool, and I'm sure it would be very useful for some embedded applications.
However, most serious linux users would gain much more time by switching to reiserfs, or any other journalling filesystem, instead of waiting for ext2 to take an interminable amount of time to fsck its drives, and possibly lose data...
I know. Ask anyone who, say, had a SCSI card go bad on them.
Will the real Bruce Perens Please Stand Up
just installed redhat 7 last night. it takes me about a minute to boot to a login prompt...thanks to rh's choice to use pump to get an IP, and the fact that they start every stupid service known to man...time to set up dhcpcd and download a bajillion security updates ......
Rock over London, Rock On Chicago
Why not build an Open Firmware clone? There are free Forth systems readily available, the extensions necessary for OF are not excessive. Doing a byte-code compiler using the OF specs would be interesting, but not particularly difficult (starting with a normal Forth environment).
I don't see any reason at all it couldn't work. The real issues are more based on need. Arguably, the same result can be had for a fraction of the effort by just booting a stripped kernel and running the Forth environment (or any other boot environment) instead of init. With 7 Meg of flash available and using busybox for many of the basic functions, there's a lot of potential there.
Of course, there is definatly hack value to be had in going directly from the LinuxBIOS loader into FORTH.
It's not about commoditization, it's about control. The propietary stuff will have all the advertising, censorship, copy-protection, privacy-invasion, etc. code integrated into it. The 'free-as-in-speech' stuff will give you a choice and won't slap a "Try AOL for Free" icon on your desktop without asking. Duh. :)
I think you must be posing as a Slashdot reader.
"We are using PCCHIPS M810LMR mainboard as the development platform."
That figures. The one motherboard I wouldn't recommend to my worst enemy is the one they have this working on. Anyone familiar with hardware can tell you what complete pieces of crap PC Chips motherboards are. Hopefully they'll get the BIOS working on ASUS boards soon.
Why do users with IDs under 100,000 or over 700,000 usually have the most worthwhile comments?
...WinBIOS? "Boot in 3 hours!"
--
--
silence is poetry.
Might be cool to see a special boot PROM on a network card. Fool the computer into booting off a chip, but make it think it's booting off another computer on the network.
Might be a tough hack, but it sure would be cool
Looks like your hard thinking really payed off. Thanks.
© 2001 Anusmouth_Cowherd.
© 2001 Anusmouth_Cowherd.
(just looking for some -k)
If a compute node takes two minutes to boot, you can't risk it being powered off when you need it. If it only takes a few seconds for a compute node to rejoin the cluster you can freely power down idle nodes. If you look at the average utilization for medium sized clusters, you'll see that this could save a lot of power.
Scyld Beowulf
Sure it's cool but:
- most of the time involved with booting goes into starting operating services. My kernel takes about 1/2 seconds to get to the part where it starts doing stuff with modules and inetd, those live on my HD.
- it seems to be linux exclusively
- should you be booting that often?
I think all this is a start of what might be a good solution to an existing problem: the current BIOS is slow, does stuff that could be considered redundant and does so in a suboptimal way.
I would like to see sing a bit speedier, however my PC spends only 5 seconds or so in the BIOS. If this project can save me about 2 seconds (which is what they claim), that sure is great but I still have to sit through the rest of the booting process. Can't we speed that up? I would love to see a hibernate function as in W2k appear in linux for instance.
Jilles
No, seriously.....
Instant startup, netbooting over virtually any protocol/system, no floppies/hard disks.
Time to flash my BIOS.
If you want to get a linux system booting up fast, just stick it on one of those IDE flash rom disks. My friend just bought 16 MB of Flash and he uses it to boot up an LRP box w/no harddrive. The data transfer rate of his 16MB drive is, well, 16MB/s. On his machine, which is a P-200MMX, I believe, the thing boots up in a few seconds (haven't timed it, but it's probably more than 3, less than 10). Pretty sweet if you can't afford to be tied down to a certain mobo / hardware config.
Been thinking of doing this as well. Just haven't gotten to it... I'm thinkin' trunk mount, FM-Antennna tie-in (like on some multi-CD player setups), and some sort of small, LCD touch screen to mount up front. (Know where I could get one of the last items?) Also, why not add a wireless NIC to the system, which would allow for WOL and other coolness when I pull into the driveway at night. I could schedule automatic updating of song library, delete and add titles as I see fit, even have the system recognize when someone else is around with a similar system, and notify the user, in case they wanted to "trade". If this could be pulled off for under say, $600, there is quite a bit of potential here. Anyone interested?
Russian Russian Russian RussianDollSig DollSig DollSig DollSig
I forget which old Mac is was, but you could boot from a system image in ROM with the right kind of Vulcan nerve pinch.
I actually purchased two (one went bad) of the PR440FX motherboards like the ones they used. The strange thing is, my BIOS version on bootup is 1.00.01.DI0.T*. It was an auctioned factory pull from a Gateway 2000 computer. Wouldn't I feel like a sucker buying from directly from them?
* Intel docs that support this claim
I/O Error G-17: Aborting Installation
Hmm.. California also comes to mind :)
1. Figure out how to write to NVRAM from Linux on the L440GX. 2. Get SCSI up. 3. Getting CirrusFB to work without a VGA BIOS on the L440GX. 4. Get the Alpha DS10 up. 5. Get the ServerWorks (Dell PowerEdge 2450) board up. This is actually more a ServerWorks NDA issue than a real technical problem. Get these things done, and it'll be set. Any takers?
Go see ramdac
You probably don't need to save the OS buffers. The cache could (and should!) be flushed before hibernation. But I understand you have no control over the sources of the OS you are running.
Well, I've read an article which mentioned about Apple's fast boot feature in MacOS X.
They want to have their OS on instantly.( after sleep? )
But this Linux BIOS looks a little better to me.
It's aiming for quick boot.
Am I wrong?
I want it to work like my CD and DVD player - turn it on, and a few seconds later it is ready to go.
I set up a PC/104 with Linux, it booted (from its Solid State disc) in about 10-15 seconds.
Check out the PC/104 website.
Isn't MRAM (Magnetic RAM) supposed to do away with the booting procedure? From what I understand, you turn off the computer and whatever's in memory stays there, as it is magnetically. Which would (I assume), reduce the booting time to damn near nothing. Can anyone verify this?
Seriously, I wonder how this would handle all of the various chip sets out there. There are enough variations in hardware configs that I wonder how much of it needs to be handled in the bios, and how much can be set aside until you start loading drivers?
"It is a greater offense to steal men's labor, than their clothes"
This would alot cooler for windows, it would actulay be used alot.
Cheap notebooks with even cheaper batteries only used to take notes and stuff. I wonder if the shutdown time would be quick enough. Run bash, and Vi or emacs.
Maybe I'm missing something, but what is the point of replacing your BIOS with Linux? My BIOS already works fine. That is to say, it boots. What more do you need from a BIOS?
There might be specialized applications where this is useful, but is there any reason why us normal Linux users should care?
[me@localhost]$ prolog
| ?- god.
! Existence error in god/0
main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
But I want it now!
--
Je t'aime Stéphanie
Maybe I've been out of the Linux distro comparison charts, but do any of the Linux kernels or distributions have hibernate support?
(Hibernate: all power goes off, and the hard drive's boot sector is set to load memory and processor state directly from a memory mapped chunk of the disk, avoiding all the individual component loading time.)
My laptop's now a few months old, and I have never truly rebooted it: every day I just open the lid and up pops Windows 2000, right where I left it. It's never bluescreened(*). I use a 11Mbps wireless LAN to read in bed. I love the fast boot from hibernation, especially when battery time is already less than a transcontinental flight.
(*) It's the drivers that'll kill Windows 95/98/NT/2K. The system isn't well-written to deal with shitty third parties like ATI, but a laptop's setup is pretty simple and doesn't depend on flaky bizarre upgrades of drivers all the time. Months of uptime (minus hibernate at night and driving), no bluescreen.
[
I have a old ppro200 server which uses MrBios, and it takes approximately 0.5 seconds to go through post and start booting. Linux kernel takes another few seconds. This is not much of an improvement. Most BIOS's that come with new computers these days are too slow and show a lot of crap during post, which can't be disabled. Check out www.mrbios.com, they make replacement bioses for a lot of different motherboards, and they usually have a lot more options to tune for a particular chipset, etc
I did just that this weekend, not as perfect, but somewhat similar.
I used an old p120, and had it boot Dos (I'm a little more familiar with it, and it boots faster) and use a DOS mp3 player which is in Autoexec.bat, and automatically looks for mp3s on the cd-rom. I bought a 600watt inverter, and had it all setup and running Saturday. The next thing I need to do is put a NIC in, and get a nice 100ft piece of Cat-5 so I can upload more mp3's on th HD.
For control I'm getting a Numerical keypad and a small LCD panel (From Jameco).
I have been working on getting LinuxBIOS ready for sale in commercial systems. The three second boot is interesting, but really isn't a major attraction for servers. The real advantages are reliability, full configurability over serial console, diskless operation, built in rescue disk, and an OpenFirmware like capability.
A Flash chip is much more reliable and convieniant than a boot floppy. It is possable to use a flash boot image remotely over a serial console even if the root filesystem on the HD is damaged to the point of being unmountable. The kernel in the Flash just has to mount a rescue root fs in the chip (using the nftl driver in the MTD patch).
In normal operation, the LinuxBIOS kernel will boot up, and either mount the boot partition or load the final kernel image from a boot server. Then it used the two kernel monte module (kmonte) to boot into the final running kernel. Should that step fail, the rescue image can page the sysadmin for help.
For diskless operation, the final kernel loads from the server and mounts it's root via NFS. GFS over fibre channel is also a possability.
Currently, I have a prototype Scyld cluster where the slave nodes boot from LinuxBIOS. The slave nodes are not capable of video. I also have prototype with a 2.4 kernel that comes up with a fb_console.
<PLUG nature="shameless">Go to http://www.linuxlabs.com/linuxbios.html for FAQ on our 1U server and Scyld cluster systems using LinuxBIOS. They will be ready for sale in a few days.</PLUG>
I _never_ turn them off, why would you?