In-Depth Look At LinuxBIOS
DrSkwid writes "With PhoenixBIOS reading your email because of such inordinate boot up times for Windows and other OSs, it was remarked in #plan9 about our 5s boot times using LinuxBIOS. My friend f2f pasted an article from Linux Journal which looks at the basic structure of LinuxBIOS, the origins of LinuxBIOS and how it evolved to its current state. It also covers the platforms supported and the lessons they have learned about trying to marry a GPL project to some of the lowest-level, most heavily guarded secrets that vendors possess."
Does it run linux?
Didn't Microsoft want to do the same thing? Only Linux advocates started to become angry... -Xeon
Real programmers can write assembly code in any language. -- Larry Wall
Initializes the CPU, initializes the bus, initializes the hardware, dumps to OS.
Isn't that a bootloader? Is it special because it is burned into the ROM?
I have been pwned because my
Will this have any chance of being taken up by a motherboard manuafacturer by default or is this a aftermarket project ? in which case without being installed by a manufacturer no-one is going to even contemplate wiping their "working" bios for an unknown 3rd party of no significant benefit to them
This might actually result in a higher quality BIOS in the next few years
The reason why Things like LinuxBIOS are important is because having a PC boot with the Linux kernel is not only a cool trick, but it saves people who build clusters a heck of a lot of money on Hard Drives and CD-ROM drives, when a cluster node only really needs a mainboard, CPU, and RAM.
Maybe with faster, bootable USB on motherboards in future, and cheaper flash RAM, flashing the BIOS to run Linux will seem a little less necessary.
Maybe there's some other use for Linux in the BIOS, but someone will have to teach me as to what that is.
READY.
PRINT ""+-0
if it increased boot time significantly, it could be of great benefit--think of a webhosting company that guarantees less than a certain number of minutes of downtime each year. shaving off seconds on each reboot could save them $$$.
Really, the LinuxBIOS is as unnecessary as the Phoenix email reading BIOS. In modern computing, all you need is for the BIOS to initialize a few things, then pass of control to the OS. Who cares about all that other crap that your OS ignores anyway?
aside from grub being "just a boot loader", Wouldn't it make sense if grub was somehow moved into the bios?
Do not read this
I think it is really amazing how many people here on Slashdot are just so eager to post comments that they obviously don't even bother to read the actual article.
If some of you people had read the article, for example, you'd notice some important points being made, such as, "From what we can see, the two factors in our success were competition and the creation of a market. Competition gave us a wide variety of choices as to motherboard, chipset and CPU. Once there was a reasonable market, vendors were concerned about being left out."
I don't know about any of you, but I think the creation of an open source "market" is EXACTLY what has enabled the success of open source products like Linux in the first place.
It was also what enabled the success of the Wintel architecture, if you think about it. At the time the original IBM PC was released, it was virtually a foreign idea to IBM--many people at the time were asking the question, "how on EARTH could IBM possibly release a machine based on open specifications and parts with a straight face?" Let us not forget that at the time, IBM desperately needed to get ANY kind of microcomputer on the market ASAP, for fear that Apple and others might get firmly entrenched. Once that thinking took hold, IBM practically had no choice but to hope and pray that their Big Name would keep them at the forefront. As we know, companies like Compaq came along and proved them wrong, and the rest is history.
The point is, I wonder why things like chipsets are still so closely guarded secrets. Can you people imagine what the world would be like if Intel had made the x86 CPUs with a proprietary, closely-guarded SECRET ISA, that you could only program for if you signed an NDA? If Intel had done that, Linux probably wouldn't even exist!!
I sometimes have this feeling Microsoft would do ANYTHING to go back in history and try to get all the laws of our country re-written and the market changed so this kind of all-secret world I speak of could exist.
In the end, the markets for products, be it open OR closed, occur because someone created that market. I think it is high time someone created an "open source" chipset, myself. But that's just me. If you people want all things to be open, stop talking about it and complaining about closed-source, proprietary things, and DO SOMETHING about it.
I just installed Windows and it overwrote my BIOS!
HOW'S MY POSTING? CALL 1-800-POSTING
Heres a picture of linuxbios:
0001001010001000000100101001001000100100100100101
0010101001001000100100000100100101000100100100100
1001000100100100010000001001000100010000100110010
0101001001000100100100100101100100010000001010101
1000100100000100100000100101010010010010001001001
If we start pushing linux bios, would we be pushing linux as Microsloth pushes Windows?
Fight Spammers!
instead of hauling a monitor over to a machine that won't boot, they could remotely connect via a Portserver or similar. Much easier!
The real "Libtards" are the Libertarians!
I read the paper. Can't say I fully understand it all, but seems like this BIOS could lead to a form of personal computer that would be easily expandable as to adding processors. It was designed for clusters, yes,? Well... why not an upgradeable box that had slots that entire additional CPUs and & etc. built onto small cards would fit in? Just like adding more RAM when you need it/want it? Just was reading here the other day about the new nanoboards. Seems like a natural somehow...
zogger
Finally, an admission that the hardware vendors claim of secret interfaces is often just BS:
One of the most common phrases we heard from chip vendors in the first few years was "we'll never tell you that." "That" being CPU information, chipset information, motherboard information or any combination of the three. The designs for these three systems constitute highly guarded secrets. It seems amazing, even now, that vendors are able to let us build a GPLed BIOS that by its nature exposes some of these secrets.
How was it possible for us to get this type of information? Simple, businesses are not charities. If there is no business case for releasing this information to us, they do not do it. If, however, there is a business case, then it happens?sometimes with astonishing speed.
Read that last paragraph again. The hardware vendors basically say "that's a secret" whether it really is or not. Unless you pay them, or show them that they are losing money, they won't even bother deciding if it's really something that has to be kept secret.
What I'd like to know is if it would be possible to overwrite a, say, Apple Power Macintosh beige OldWorld G3 with LinuxBIOS or OpenBIOS and thus get to use x86 SCSI and VGA adapters.
Leandro Guimarães Faria Corcete DUTRA
DA, DBA, SysAdmin, Data Modeller
GNU Project, Debian GNU/Lin
No athlon64 mobos are on the list, sorry.
Where can I purchase a board preloaded with and known to work with LinuxBIOS? Does it cost significantly more than one running Award or one of the other conventional BIOSes?
May we never see th
Real men load the boot loader using 16 switches and a press-button.
I was recently doing some research to get started working with LinuxBIOS. The first thing I have done is to order a BIOS Savior.. This is a little gadget that runs about 15 bucks. It puts a switch on the outside of your case allowing you to switch to an alternate BIOS. With it, you can happily screw up your LinuxBIOS image all you want and still be able to boot your computer from the original BIOS.
Some motherboards have a dual BIOS or similar arrangement; however, there is not always a foolproof way to switch to your backup if the primary BIOS is hosed..
Keep these things in mind if you want to start playing with LinuxBIOS
here.
I read this article a couple months ago when my issue of Linux Journal arrived. I had a couple questions about it then, guess this is a good time to ask them. :)
As I see it, half the point of LinuxBIOS is to provide a fast, open-sourced BIOS for x86 machines. It gets extra cool points for being Linux.
But I have to ask, why not just use OpenFirmware? Or at least, give LinuxBIOS some of the features of OpenFirmware. As far as I know, there is no such thing as OpenFirmware for the x86. It's got lots of neat benefits, like booting your machine off of another one on your network, or debugging a non-bootable machine remotely. Serial console, anyone? It has other benefits as well, that I can't remember; my brain is shot for the week.
For those of you that haven't heard of OpenFirmware, it's basically the "BIOS" on Macs.
At least, that's how I'd measure it.
Ok, first why should I switch from the current BIOS I have to this one, make the case.
You shouldn't. Ok, that's unnecessarily harsh, but as it stands right now LinuxBIOS is primarily for people who are between very and highly technically inclined... Kind of like linux was shortly after it's release. That's why their website "SUCKS," because this isn't yet ready for the KDE crowd. You'd have to be comfortable finding the status of your motherboard, downloading and compiling the appropriate files, reflashing your onboard FlashROM, and other nasty, dirty things. I wouldn't consider myself qualified to get their best documented system up and running unless I was between jobs, and even then I consider it iffy.
Linux BIOS as it stands is useful for a few specific things: Building clusters and building robots. Any embedded system running on linux on a traditional motherboard can be sped up significantly by using Linux BIOS. But it does require quite a bit of work and knowledge to get it running... If you want a computer pre-flashed with LinuxBIOS, you can purchase one off the shelf, but I would be hesitant to try and build one without a lot of time and / or skill.
It isn't that the LinuxBIOS people don't want that kind of end-user friendliness, it's just that the project is still in the mode of getting things working at all, let alone in an easy fashion.
Secondly, as you might have figured out, it is not a drop-in BIOS replacement. Your computer enters the boot phase and exists the other side with Linux running. You'll not get Windows to run directly on that, and I'd be surprised if it ran virtually (as the BIOS windows is expecting doesn't exist). If anyone here has experience running Windows on a LinuxBIOS, please let us know.
None of this is to say that the goals of the project are bad. Imagine being able to boot to command line in 3 seconds! You could start an ssh session before your monitor was done de-gaussing. Attach a 4 line LED display to one of these motherboards, and you would have a great tool for debugging network problems. Or just speed things up significantly, and spend more time doing what you are supposed to be doing, with the added bonus of being able to shut down your computer when you are done (gasp!). It just needs a lot more work, and a lot of developer support. I'm glad to see it posted to Slashdot, as the exposure might net a few more eager helpers.
The ______ Agenda
In my admittedly cursory review of the main LinuxBIOS site (here) and of the article I was unable to find anything about using it to boot other operating systems besides Linux. Can I buy a compatible mobo, put the LinuxBIOS on it, and then run Windows? I'm still running dual-boot for now and would need this.
Some days it's just not worth chewing through the restraints.
I see this exactly the way I see modern operating systems boot up. The BIOS goes to some place and reads 512 bytes. Those bytes load up a "real" bootloader. That bootloader loads up some darn thing, which loads up the kernel, which loads up a bunch of device drivers and other software, and after a minute of grinding the disk, you have a system waiting for input. Why all this fuss?
My idea, then, is that instead of having an operating system kernel on your hard drive, it and its bootloader should reside in a really friggen powerful BIOS chip. By powerful I mean that there should be a LOT of flash space and the BIOS itself should be a relatively powerful microprocessor. The software is started immediately upon the powerup of the computer. The BIOS Flash then looks like the root partition; it is mounted just like the hard drives and other devices are. All device drivers are present in the kernel, anyway, and since the BIOS is designed for the computer (by the factory) or configured (by a hacker who puts together his own system), there is nothing to detect or load. Furthermore, all software that starts at startup has a complete image "frozen" in the BIOS Flash, and is copied directly into RAM during the initial stages of startup. Therefore, if you have X, and an entire desktop environment, the entire computer goes from OFF to running X and your desktop software, and whatever else you want for that matter, in almost no time at all. Your monitor would probably take longer to warm up then it would take for your desktop to be ready for input.
This sounds a lot like un-suspending a computer that is in suspend mode, and yes, in effect, it's just like that. You have your system running the way you want it to start up, then you "freeze" it a la VMWare, put it in the BIOS Flash, and when you turn on the computer, the BIOS copies the image directly into RAM, with perhaps a few routines here and there that initialize hardware upon powerup, or set a few values throughout RAM, like time-sensitive things and whatnot... No matter how fast MS makes their OS load, it'll never come close to this kind of performance.
Take it a step further, and each user could have almost an entire operating system setup, as if the computer has multiple personalities from the bootloader up. The BIOS has some routine that lets you log in, and accordingly, selects the image that will get loaded. In this respect, you could completely power down the computer, and come back a week later, turn it on, and immediately it will return to where it was.
This will probably be the case in 10 years or so. (Hey, in the 90's we went from the 386 SX to the Pentium 3. Who knows what the hell will happen by 2015 or so.)
"From what we can see, the two factors in our success were competition and the creation of a market. Competition gave us a wide variety of choices as to motherboard, chipset and CPU. Once there was a reasonable market, vendors were concerned about being left out."
Initially my reaction was, "Yeah, the market existed, and they found a cheap way to exploit it, since you're doing all the work for them." But that was my pessimistic side. After careful consideration, I prefer to take the optimistic approach on this one. I prefer to think of it as them working for us. The fact that they put all the little stuff together for me, saves me a lot of time in my garage with breadboards and soldering irons. Now we can have more control than just what processor, cards, and OS go into our systems. And the more input we have into how our computers run, the better we can improve computing, innovate, and come up with knew ways of handling problems.
I would like to see some of people involved with this group get onto standards committees since now, it seems, they have a voice. I'd like to see more open source type input into some of tomorrow's technology. Maybe someday we can stop having kludge after kludge shoved down our throats... Wouldn't the world be a better place then?
More information at the u-boot homepage. The u-boot README file lists all the architectures, supported platformas and options.
Credit goes to Wolfgang Denk, the father of the project.
Best wishes,
A firmware engineer
http://slashdot.org/article.pl?sid=04/03/19/132225 3&mode=thread&tid=137
It does not matter how much memory is really in the machine, or how much the motherboard can physically hold.
The processor can address 4GB using 32 address lines, and that defines an address space of 4GB.
Newer processors address 64GB using 4 extra address lines but they are yet another add-on that has to be enabled lateron by special software support.
Fast non-volatile RAM has been "well under way and within reach in the next several years" for decades... But even then you would sometimes want to reboot to reinitialize everything from scratch, for instance after a full OS upgrade.
They may not be low quality but there are several reasons why tradtional BIOS's suck. For a start there is the huge amount of legacy 16bit, real-mode x86 code that just isn't used by modern operating systems but is supported because of things like Windows ME. If you're running Linux or Windows NT on your computer, you just do not need it. Then there are the traditional limitations in x86 BIOS's. You can't run an x86 machine headless and access the BIOS setup, for example. With LinuxBIOS they enable the network interfaces and allow you to perform setup via. a telnet session, exactly as you would with more expensive server kit. Last but not least there are bugs in some BIOS, and some of them can be pretty bad. LinuxBIOS offers you the ability to patch or workaround those bugs yourself, instead of having to wait for the vendor to fix them for you.
Well, I have a Dell P4 2.4Ghz PC and the CPU is capable of hypertreading but it is disabled by default and Dell will not make a BIOS (I guess Intel told them NO) that enables HT on that CPU. If LinuxBios would, I'd switch from the bad Dell BIOS to Linux BIOS in a heartbeat.
If you mod me down, I *will* introduce you to my sister!
If so many ISPs may be moving towards TCPA compliant routers why don't we, the open source community, do the same thing in the opposite direction?
I would work on systems which support an ISP which supports only open source users. There is no customer support for anything but an open source OS. Your network connection fails and you use Windows? Too bad. Your network connection fails and you're using Linux? Check ifconfig and route. That's customer support. After that you're on your own. It's open source. Figure it out.
Sure the service itself wouldn't save each user much (maybe $2-$3 less per month) but think what it does to the network as a whole. No longer will ISPs be able to support a clueless user base by relying on the monthly tithe from the competent users. No longer will ISPs be able to afford the latest TCPA enabled hardware by leeching from the open source users. No longer will ISPs be able to sign overpriced agreements with MS support by using open source dollars.
And one could have email@opensourcenetwork.net
+++ATHZ 99:5:80
Well this isn't really moving THE kernel into flash, it's moving A kernel into flash. The LinuxBIOS kernel 'skips' the fluff that the typical BIOS handles, inits what it has to, and then it executes a 'real' kernel from a disk or network location.
If things move to LinuxBIOS you won't be flashing every time a new kernel is released, you'll be installing kernels normally, and instead of GRUB the LinuxBIOS will handle 'bootloading'.
moving THE kernel into flash isn't practical, my kernels are typically about 2MBytes, today's flash on most PCs is about 2Mbits (512KB). The typical full-kernel would have NO CHANCE of fitting into there.
What this does, essentially, is give us something much like OpenFirmware for x86 machines, it's a full 32-bit protected system from the second you hit the power button, and it can initialize and configure much more 'native' info to the full kernel that it loads subsequently. Pairing this with a 16MB DiskOnChip would be excellent though, if you'r system fails you could boot to the DOC (with a small system onboard) and repair the main drives, or change configs, or chroot into the 'real' system and get something done.
"Sometimes, I think Trent just needs a cup of hot chocolate and a blankie." -Tori Amos on Nine Inch Nails
I'm surprised why all eyes on /. are at MS when Intel is moving up with the EFI technology that could take out the need for BIOS (at least in future versions).
From their page:
"The EFI specification defines a new model for the interface between operating systems and platform firmware. The interface consists of data tables that contain platform-related information, plus boot and runtime service calls that are available to the operating system and its loader. Together, these provide a standard environment for booting an operating system and running pre-boot applications.
The EFI specification is primarily intended for the next generation of IA-32 and Itanium(R) Architecture-based computers, and is an outgrowth of the "Intel Boot Initiative" (IBI) program that began in 1998."
/me is betting that MS is involved in this initiative too.
The more you know, the less you need. [Admin added: from me.]
Yes, I do agree with many of your points. Being able to configure the bios via telnet or even a serial link would be very helpful in any data center or even a few servers in a closet.
The feature set of LinuxBIOS is really neat and it would be great if these features were universal.
As far as the actuall "quality" of existing BIOS's, I think they are pretty good. Sure, there's been bugs, but usually minor and almost always fixed asap. The major motherboard manufacturers make most of their money on these things and they tend to be on top of things like that, even well past the "normal" lifetime of PC hardware.
This is not to say that it's not very nice to be able to hack your own bios with LinuxBIOS in case there's a bug, but this only suits a small percentage of the admins out there that are able to do such a thing.
Like all OSS projects, I appreciate them quite a bit and I hope LinuxBIOS gains more vendor support. It would be really cool if it started replacing the standard BIOS on systems alltogether, especially with this DRM crap heading our way.
- It's not the Macs I hate. It's Digg users. -