LinuxBIOS Boots Linux, OpenBSD, Windows
Ivan writes "LinuxBIOS coupled with BOCHS has replaced the PC BIOS. The union of these two cool open source projects completely replaces closed source BIOS, while retaining the ability to boot other operating systems like BSD and Windows.
Here's the announcement."
Don't get too excited, winxp, win98 and freebsd don't boot yet. Freebsd needs PIRQ support while XP and 98 are held back by the lack of adequate ATA support. In the future they expect to have it worked out.
OK, this is cool and all, but the quote:
Ironically, twenty years ago this month Compaq introduced their Compaq portable computer with the first BIOS outside of IBM
uses the idea of irony incorrectly, as many many people seem to do. It does not mean "coincidentally", as it is being used here. A sword swallower choking on a toothpick is irony. Completing a project 20 years after something similar was done is not.
Replacing the BIOS with an open source alternative is more a ideological victory than a practical one. But considering how large impact the first reverse engineered PC BIOS has had in the advance of personal computers, this is a important step for the whole OS movement.
"There is a terrorist behind every bush"
Before upgrading your BIOS, you should always make a backup of the old one. You can find the BIOS upgrade utility from Asus' homepage. That utility can be used to read/write the BIOS. So if you upgrade and don't like the new one, you can downgrade to the one you had before if you saved it on a floppy. However, playing with the BIOS is a risky business. Be careful.
Does anyone know if this helps us in the war against Palladium and DRM?
Once more unto the breach, dear friends, once more, Or close the wall up with our American dead!
This is very useful for the Open Hardware community. It's one important step closer to having every piece of a working PC's hardware and software opened. With the hardware open sourced as well as the software users have some choice in what they use.. important considering the push for DRM and similar hardware crap being forced on us.
At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
As an 'end user' I would rather deal with multi-booting a computer without using LILO or GRUB.
However, I have a few concerns, not on the technical side, but on the political/corporate side (and no, this is not a troll...sheesh)
- Will Microsoft, in its zeal to maintain some semblance of control, seek to disable Windows from using motherboards with this bios...perhaps as one of their many 'updates'?
- If Microsoft pushes forward their "trusted computing" through Palladium, how does this affect this project?
- Since this appears to be a government-funded project, will Microsoft scream that this is unfair (not that they have a point, but will they?). Since the US government seems to be unable to discipline the company, I'm wondering how much power they REALLY have over the government.
- Will this project eventually woo motherboard manufacturers were to leave the various BIOS companies (Award, etc.)?
Sheesh, that was a lot of questions about M$, but I'm not obsessed (sharpening ax on grindstone)
This is great and all, but don't expect to be able to use it if MS's palladium system is successful. In a palladium pc, the bios serves as part of the Core Trusted Root for Measurement, meaning that installing an open-source, unsigned alternative is not an option. This is not a soft option, like installing an unsigned OS -- a palladium system will let you install any software you want, including an operating system, but it won't allow unsigned code to use its "secure" features (including access to its stored machine-specific private key used for encrypting machine-specific content, or the sign-only key pair used exclusively for validating the machine's trusted status).
;) ) such as your home, would allow the user to totally subvert any security measure in place. Of course, palladium will be laughably easy to get past with direct unrestricted access to the physical device (as with EVERY Digital Restriction Mechanism), but it won't be legal to do so. Unless you perform an illegal (and risky if you're not an electronics guru) hardware mod, you won't be able to run (or rather, install) LinuxBIOS.
On the other hand, unsigned bioses are strictly not allowed. The bios is one of many hardware weak spots in palladium that, if compromised in an "adversarial environment" (yes, that's what they call it.
The only way you'll see LinuxBIOS on a palladium machine would be if
<disclaimer>
Yeah, I clicked the link and read the page, but I didn't go further and investigate the features offered by LinuxBIOS.
</disclaimer>
a motherboard company took the LinuxBIOS source, modified it to lock out the user and perform DRM functions, and submitted it to MS for signing. Then LinuxBIOS could be installed in a palladium machine. Of course, the mobo company would still have to release the source code to their mod under the GPL, but that's not going to do the end user any good -- it won't get them a signed AND free bios. Remember all those stories about DRM killing OSS? Well, they were exaggerated for the most part, but this is what they were talking about.
The point is, if we don't get the word out about palladium, it will be illegal to use this bios in its free state. That's the least of our worries.
Sorry if this sounds like sci-fi, but I have started lately thinking whether it would be possible to launch a tiny REAL OS from within/integrated with the BIOS. A bit like vmware but on a even lower level - I am thinking this might start being possible now that BIOS capabilities are increasing all the time as well. This would provide many interesting possibilities. Do you see this impossible for some reason? The vmware page says : "VMware technology is patented and patent-pending" - does anyone know exactly which patents they have and what limitations do those pose.
This is fairly interesting. The board that they managed to boot is based upon the SiS 630e chip, which supports Pentium III/Celeron CPUs up to 1 GHz. I imagine you can scrounge one of these up with a Celeron for about $100. I wouldn't want to test this out on anything that isn't disposable and isn't anything other than a test platform. Still, having a spare BIOS chip laying around wouldn't hurt either. I wouldn't recommend trying this on any old board with any old chipset, unless you are willing to lose functionality of it either temporarily or permanently. A failed BIOS flash means that your system will have no way of bootstrapping itself unless you have a spare BIOS chip laying around (peovided that no hardware was damaged). This BIOS chip should have the BIOS version suitable for the board its made for. If you don't have access to a BIOS chip programmer, and you are somewhat of a cowboy, and you didn't reboot the PC with the failed BIOS flash, AND if you have a BIOS chip that is compatible with the one in the machine, gently pull the fragged BIOS out, put the new on in and flash it back to the factory AMI BIOS. BIOS r Fun. I hate them.
If a motherboard company took the LinuxBIOS source, modified it to lock out the user and perform DRM functions, and submitted it to MS for signing. Then LinuxBIOS could be installed in a palladium machine. Of course, the mobo company would still have to release the source code to their mod under the GPL, but that's not going to do the end user any good -- it won't get them a signed AND free bios.
The GPL requires that you distribute *all* of the sources used to generate an executable. In this case, the executable includes a digital signature (it isn't runnable without the digital signature), and the source used to generate that digital signature is Microsoft's private key. (note: IANAL)
Doug Moen.
I have written a truly remarkable program which this sig is too small to contain.
Bios development has stagnated. Actually, it stagnated immediately after the Phoenix, Award etc bioses came out in 1982. Since then, bioses have stayed essentially as awkward, feature-limited and buggy as ever. Minor improvements: guess the hard drive geometry, whoopie. Choices of and control over boot devices are still pathetically limited, and the way bios extensions are integrated (e.g., Intel boot agent, yuck) is user-offensive.
1) I want to boot off my compact flash reader for crying out loud, how hard is that? Will you show me an Award or Phoenix bios that can do it?
2) I want just one pause at boot where I can select either which OS configuration to boot, or alternatively, bios configuration. Not endless droning sequences of "now you can hit F2 to configure bios", "now you can hit Ctrl-S to configure PXE", "now you can hit Ctrl-R to configure raid". As a user interface that's just miserable. You have to sit their staring at the monitor waiting for just the right 2 seconds to hit exactly the right key, and if you miss, it's back to the beginning for you. With some boots taking two minutes that turns into a major timewaster. How hard is it to provide a framework so the OS boot selection and bios configuration are on the same menu? Answer: not hard, unless your name is Award or Phoenix.
The Bios used to be a convenient place for OEMs to hide crucial configuration details, keeping it all in the familly so to speak, but since that stuff has been largely decoded by OSS hordes and is ignored by Windows in favor built-in drivers, it's become increasing pointless. The bios has gone back to being what it always should have been: a way to boot. But the bioses served up to us by the incumbent manufacturers aren't even good at that.
Hence the need for OSS to invade that bastion of proprietary, closed code which once seemed to mysterious. It's not any more, simply because of the relentless pressure for components to standardize. It's now possible to write a bios that relies on such standard features as pci topology discovery to do its work.
At the very least, the general availablity of community-developed, peer-reviewed bioses will force the leading bios vendors to get off their tails and fix up their code to be less pathetically unusable than it is at present. At best, we're shortly arriving at the time where reflashing your bios is the very next thing you do after loading in the Linux installation CD.
Life's a bitch but somebody's gotta do it.
How "supported" is "supported"? Can I change all the parameters that I can now? Does the OS get back the right sizes of drives when it asks about them? Are there issues with setting stuff like the RTC? What is broken? How about temperature sensors and other stuff on the I2C bus?
The answer to this is clear when you know that Linux almost completely ignores the bios after it boots. The emphatically includes hard drive configuration. To prove this to yourself, go into your bios and set all your hard drives, CDRoms etc. *except* your boot disk to "none". Boot Linux. Hey, it works just the same as it did before, amazing. The reason for this is, Linux is perfectly capable of ignoring the configuration information returned by the bios, because too often that information is just plain wrong. So Linux has been forced to discover that information for itself by directly querying buses, controllers etc, and basically, knowing about every hardware device in the world. Impressive achievement, when you think about it.
Linux now knows a lot of temperature sensors and the like, in spite of the reluctance of companies like Intel to release the technical specifications. I believe we're either at the point or close to it where Linux does a better job on the sensors than the bios does. Some other items are still sore points, such as processor speed configuration, which again has been kept as a deep dark secret by Intel and others. Another item in this category is power management, and then there is SMM - system management mode. All this is in various stages of reverse engineering. At some point, Intel will even get a clue and realize it's to their advantage to release these specs openly, instead of thinking they can exert some kind of control over the industry by keeping it secret. They can't, which has been proved time and again. All they can do is make things so that the code is not peer-reviewed, and therefore buggy and unreliable. (Don't tell me your power management isn't buggy, I won't believe you.) Another bad effect is that when your manufacturer goes under or EOLs the product you no longer get bios upgrades, too damm bad.
Because I'm willing to be that "we can boot BSD" is a long way from "this is a complete, end-user ready product that supports all the functionality of the hardware."
So? As soon as you get a new computer, the first thing you should do is make sure you can reflash the bios with the vendor's latest bios upgrade. If you don't do that, I can assure you that you will regret it a few years down the road, when you are forced to upgrade the bios for some reason, larger hard disks being a perennial example of such a reason. So, once you've done that, put aside a floppy disk with the bios upgrade image and a copy of FreeDos on it, and you are safe (unless the vendor's bios flasher messes up on you, in which case you needed to return that PC anyway). Go ahead and flash in LinuxBios and try it out. Either it works or it doesn't. If it doesn't work, just reload the Vendor's bios (which you already verified works correctly, right?) If it does work, you will have a clean, cool boot and endless source of upgrades. No longer will you have to worry about your bios ever going obsolete or bios bugs going unfixed forever. Never mind the fact it boots faster.
Life's a bitch but somebody's gotta do it.
"Go ahead and flash in LinuxBios and try it out. Either it works or it doesn't. If it doesn't work, just reload the Vendor's bios"
One thing I can't figure out is how, if your flashed LinuxBIOS is broken, how you can even necessarily boot back to FreeDOS to flash your BIOS again back to the vendor's BIOS. I'm not one of those fortunates with a BIOS-in-ROM that I can revert to by just closing a jumper...
Yes, important question.
1) Make sure your bios is socketed, not soldered onto the motherboard when you buy your computer. If it isn't socketed, you don't want that computer because the manufacturer doesn't care about you. 2) Get this thingy. 3) Get a new flash chip and verify you can make/boot a backup bios 4) You can relax now.
There are other ways to get around bios re-flash disasters, for example, you can use a running PC as a crude kind of flash writer by hot plugging a bios flash chip, being careful not to short anything. But the dual-socket approach abover is really the easy and safe way to go. I'd say, whether or not you indend to reflash your bios, it's well worth grabbing one of those dual flash sockets just in case you ever need it.
Life's a bitch but somebody's gotta do it.