Booting Linux In Three Seconds 165
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).
About 10 seconds... (Score:3)
Re:Whats the point. (Score:1)
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?)
Re:Any Linux have hybernate? (Score:1)
Mac Classic (Score:1)
--ian
Re:Saving State (Score:2)
However, EROS [eros-os.org] works just like you've described.
Three reasons (Score:1)
Power conservation
Embedded applications
Laptops
And there are undoubtedly more.
Better System Configs (Score:4)
Re:Useful for Windows, maybe... (Score:1)
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.
Saving State (Score:2)
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.
Re:Useful for Windows, maybe... (Score:2)
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...
Get a SPARC (Score:1)
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.
Re:Nice. (Score:1)
If only my monitor could catch up (Score:1)
great opportunity for speedups even on standard hw (Score:2)
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.
Seen those motherboards with two BIOS flashroms? (Score:1)
LinuxBIOS would be super cool to boot firewall/gateways with no disks at all!
Re:old news (Score:2)
True. But most computers I've seen take a good bit even before they access the hard drive. Checking ram, scanning PCI bus, etc...
Re:Usefulness... (Score:1)
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!
Nice. (Score:1)
Re:Useful for Windows, maybe... (Score:2)
why use linux? (Score:1)
Why is this so important? (Score:1)
Re:Any Linux have hybernate? (Score:1)
Justin Dubs
Re:Chip Sets (Score:2)
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.
Re:Saving State (Score:2)
That's what demand paging is for. Any modern operating system with virtual memory should be able to do that.
That works quite well for user space, but in-kernel stuff is another story. You'd at least need the memory management, syscall handling, interrupt handlers, and the block device drivers safely in memory. By that point, you might as well pull in the rest on startup and avoid the hairball and performance hit. Userspace is demand paged anyway, so no problems there.
Re:I cant wait! (Score:1)
Re:Sounds great! (Score:2)
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.
Re:Do you want all 512M to be saved? (Score:1)
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).
----
Re:Useful for Windows, maybe... (Score:2)
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.
Sounds great! (Score:1)
Re:Any Linux have hybernate? (Score:1)
Re:Useful for Windows, maybe... (Score:5)
http://www.scyld.com/products/beowulf/software/mon te.html [scyld.com]
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.
Re:Useful for Windows, maybe... (Score:1)
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!
Useful for Windows, maybe... (Score:5)
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...
Re:Saving State (Score:1)
That's what demand paging is for. Any modern operating system with virtual memory should be able to do that.
Re:Useful for Windows, maybe... (Score:1)
Re:Now that you are replacing BIOS (Score:3)
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.
old news (Score:1)
basically, to paraphrase:
ram access is faster than hd access.
© 2001 Anusmouth_Cowherd.
Would be like broadband's effect on 'net access (Score:1)
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:
Re:MRAM? (Score:1)
Magnetic cores with interlaced wires. Bulky, slow, and expensive. If you laugh about 640k "being enough", think about 64k byte mainframes.
Re:Any Linux have hybernate? (Score:2)
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).
I cant wait! (Score:1)
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.)
Re:Sounds great! (Score:1)
Re:Imagine a beowulf cluster of these! (Score:4)
Go to their site and read some of the pages. This started at Los Alamos _for_ their Beowulf clusters exactly for that reason.
Re:why use linux? (Score:1)
Re:Is this useful for us regular Linux users? (Score:1)
consider this... (Score:1)
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)
Re:What's the point? (Score:5)
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.
Re:Hardware-independent solution (Score:1)
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.
linuxbios comments (Score:3)
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.
Re:why use linux? (Score:2)
As for the multi-user - does it really matter what is on there. I suppose they could always start it with init 1 and not worry about that.
Besides...I'm not making a consumer device, I'm making something for me, and Linux I understand...eproms and dsp's - I know what they are!
Re:Useful for Windows, maybe... (Score:2)
Re:Get a SPARC (Score:2)
And, yes it is very handy. I prefer the Sun PROM console to BIOSes anyday, it's so much more powerful.
Uhm, so Linux is finally catching up to BeOS ?? (Score:3)
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??
Doesn't have to be a BIOS problem (Score:1)
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.
Re:Is this useful for us regular Linux users? (Score:1)
(Oh, and moderators: YES, beowulf clusters are on topic in this article
Now that you are replacing BIOS (Score:5)
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....
Re:How about... (Score:1)
Hard drive Content Control (Score:4)
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.
Great for Embedded systems.. (Score:2)
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!
Re:Sounds great! (Score:1)
Re:What's the point? (Score:1)
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"
Of course ... (Score:2)
Re:Useful for Windows, maybe... (Score:3)
When does a lightbulb burn out?
When you turn it on, of course. They seldom burn out when they're up to, ah, speed.
Same thing with electronic gear. That first millisecond of power-on is a bit of a strain on everything, and the first few minutes of getting everything up to running temperatures is another stressor.
Might as well leave the poor thing running...
[he says, thinking that perhaps his ACPI thingamagummy is probably actually powering off the drives (they spin down, fer sure) and putting the CPU into a heavy-duty sleep cycle... and the monitor power-saving feep probably lets it all cool down a heckuva lot, too...)
--
Possible improvement (Score:1)
Re:Useful for Windows, maybe... (Score:2)
I don't know why, but at least with the 2.2 kernel trying to 'ulimit' or
The time and process limit work
:(
--
linuxbios not the only guys that can do this. (Score:2)
Peter
--
www.alphalinux.org
Re:MRAM? (Score:2)
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.
Close but no cigar... (Score:2)
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...
Re:Useful for Windows, maybe... (Score:3)
Re:Useful for Windows, maybe... (Score:2)
---
Re:Useful for Windows, maybe... (Score:2)
A furnace is designed to be most efficient at radiating infrared energy. Other wavelengths are emitted but again they're just waste.
If you really believe that the amount of energy used by leaving on a lightbulb (or computer, or blender etc) continuously is offset by the furnace being operated on a lower duty cycle you're wrong. Just as wrong as if you insisted you don't need lights in the winter since the furnace is on and emitting visible light radiation.
If this ever becomes untrue I'll fully expect to live in an EZ-bake house.
Re:Any Linux have hybernate? (Score:3)
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.
Kernel upgrades (Score:2)
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
Re:Useful for Windows, maybe... (Score:2)
Re:THat would explain . . . (Score:2)
. . . 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
Sony (Score:2)
Re:Sounds great! (Score:2)
In the same way that you can go into Linux from DOS (loadlin), is it possible to change operating systems without a full reboot.
Remember, the BIOS itself can be considered to be "an operating system", it's just a rather rudimentary one. Mine has "applications" such as Hard Disk tools, and is "preemptive" as when I'm on the basic BIOS settings screen the real time clock on screen is updates whilst I'm editing other fields.
The 'unusual' thing (for an OS) needed for this OS flipping to work is that the bootstrap OS must be willing to _give up_ its control. This must be done with great care. Remember, the kernel is there in order to keep control in a traditional scenario. However all you really need to do in the general case is to request a GDT code segment with Ring 0 permission, get yourself full I/O port permission, and a new segment the the IVT (interrupt vector table) then disable interrupts, change Interrupt table, and jump to your new code, and reenable interrupts again.
Voila!
FatPhil
--
Re:Useful for Windows, maybe... (Score:4)
It sounds like you're coming from a server mentality, where uptime is a big concern. Most home users treat their computers like their TVs.
Todays computers are, with regards to starting, where the old black-n-white vacuum tube Philco TVs were. They took a while to warm up.
At some point in the future, people will reminisce over how computers used to take a minute to "boot up". Actually, as computing has progressed, boot times have been an on and off problem (no pun intended). The old 8-bit home machines loaded the OS from ROM and booted up virtually in an instant. In an ironic twist, the introduction of inexpensive hard drives for home PCs probably caused a big step backwards in terms of boot up time. It became cheaper to just load the OS from the HD. At some point, we'll figure out a way to have our cake and eat it too. I'm thinking that cheap, fast solid-state hard drives would be a great thing.
By then, computers will be so established that nobody will talk about operating systems anymore. What OS you run will matter as much as the details of the circuits in your TV. They will all perform about the same, and everybody will know how to build them so that they run with approximately the same reliability. That kind of puts the whole "free vs. proprietary" software debate in perspective. Given time, it simply won't matter because all technology tends to march slowly towards commoditization anyway.
Re:Any Linux have hybernate? (Score:2)
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.
Re:Palm starts fast? What about Macintosh circa 19 (Score:2)
Usefulness... (Score:2)
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.
Re:More useful than 3 second boot (Score:2)
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.
How about... (Score:4)
--
Re:why use linux? (Score:2)
Have you heard of the Dell Digital Audio reciever? It actually runs Linux. It does a little more than just play MP3s, though. It reads files from the network. A pretty cool thing.
Boot PROM (Score:2)
Might be a tough hack, but it sure would be cool
Scyld Beowulf uses this to power down idle nodes! (Score:3)
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 [scyld.com]
pointless (Score:2)
- 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.
Re:Sounds great! (Score:2)
The 'unusual' thing (for an OS) needed for this OS flipping to work is that the bootstrap OS must be willing to _give up_ its control. This must be done with great care. Remember, the kernel is there in order to keep control in a traditional scenario. However all you really need to do in the general case is to request a GDT code segment with Ring 0 permission, get yourself full I/O port permission, and a new segment the the IVT (interrupt vector table) then disable interrupts, change Interrupt table, and jump to your new code, and reenable interrupts again.
That's more or less exactly what happens in Linux with two kernel monte. The module does all of that itself without any cooperation from the rest of the kernel.
Re:Palm starts fast? What about Macintosh circa 19 (Score:2)
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.
Try Linux on a PC/104 (Score:2)
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 [pc104.org].
MRAM? (Score:2)
Chip Sets (Score:2)
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?
3 seconds?... (Score:2)
--
Any Linux have hybernate? (Score:5)
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.
3 second boot (Score:3)
More useful than 3 second boot (Score:5)
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 [linuxlabs.com] for FAQ on our 1U server and Scyld cluster systems using LinuxBIOS. They will be ready for sale in a few days.</PLUG>
Re:Any Linux have hybernate? (Score:2)
It depends, too, if you change the hardware configuration while the machine is hibernating. I'm under the understanding that Windows 2000 resolves all hardware issues (like a removed PCMCIA card or DVD-ROM drive) while it's coming out of hibernation, which adds a few seconds.
Re:Useful for Windows, maybe... (Score:2)
SiS has been very helpful with information without pounding on the NDAs. The 630 and 730 are very well supported chipsets and would make very nice platforms for things like a MP3 player for my car. I was thinking about one that had two or three CD readers as the only fragile storage medium.
Re:How about... (Score:2)
Re:Useful for Windows, maybe... (Score:3)
I've been wanting to make a few projects based around linux, such as home mp3 player, car mp3 player, xxxxxx mp3 player - get the idea
These components would not always be on. The only thing that has kept me from doing it, other than laziness, is the fact that I don't wanna wait forever to start using the device. I want it to work like my CD and DVD player - turn it on, and a few seconds later it is ready to go.