Linux BIOS 170
An anonymous reader pointed us to the Linux Bios Project
which (surprise) is aiming to make a Linux Kernel BIOS. Its got numerous bugs, but some boards are booting. Interesting stuff, and has the potential to dramatically reduce boot time.
I guess I'm missing the point (Score:2)
Shaving ten to thirty seconds off your boot time just doesn't sound that epic to me. Heck, you can save three to ten seconds by just setting the type to "none" for any nonexistent IDE devices (Secondary Slave, whatever).
What WOULD be really useful and cool would be to have a much faster and more configurable SCSI BIOS inside the system BIOS so my 29160N wouldn't take a week to get itself together... Especially if I could tell it only to scan for new devices when I've actually added something, manually, perhaps by pressing a key at the right (prompted) moment or something.
Explain to stupid: Why faster? (Score:2)
Could someone post some specifics of the kind of things that could go, or that would be faster with LinuxBIOS?
YAY (Score:1)
But you'd still need dhcp (or rarp) and bootparam to configure the network and find a place to NFS mount / from.
Can the kernel do this?
Re:Wow (Score:2)
And most PCI-video, SCSI and other cards for the Mac have an OpenFirmware bootrom.
Re:this would save me seconds a week! (Score:1)
-------------------------------------------------
Re:this would save me seconds a week! (Score:1)
Seriously, I think it would be great to run Linux on a laptop. One thing stopping me is the boot time and hassle. Unlike some OSs, Linux is not very good at, and does not seem to like, rebooting very often.
Later...
Re:what is so special about a Linux Bios? (Score:1)
Re:this would save me seconds a week! (Score:1)
Needen't fear, your dual boot setup is safe. The thing is that instead of the slooooooooooow BIOS that usually is there is being replaced.
Linux BIOS : no, Linux based BIOS : yes (Score:3)
So I don't think that putting Linux directly in the BIOS is a good thing. It's only limiting the machine.
But using a linux variant that fulfit all previous BIOSes functions and adds some things like NFS boot, multitask for 16bit OSes (DOS, whatever version it is), PnP, drivers for WinModems making them usable under any OS not disabling the BIOS, FB drivers,... That would be great. And many of these functions are already implemented in Linux (sometimes partially or with extra-patches).
The linux kernel on BIOS can still be used as fallback, if there are no OS present, like the BASIC ROM was in earlier PC. Maybe there can even be reusable parts between these two. That would allows for that cluster system to be built.
I should however recognize that this project has to be started somewhere... And making the BIOS being the Linux kernel is a begin to it... But I think that it should not be the ultimate goal...
I don't think it's a good idea to have to reflash the BIOS for every kernel update, without forgetting that a bad flashing may make the PC useless.
Re:This is exceptionally cool (Score:1)
It would not be a good thing for most Windows users if it were impossible to boot alternative OSes on most of the world's PCs without flashing the BIOS. It would be a huge blow to the freeness of the OS market. Given time, this would drive up prices / drive down efficiency in Windows/Intel, too.
Re:dual pPro (Score:1)
[coolvibe@tiamat coolvibe]$ uptime
2:09pm up 119 days, 18:49, 1 user, load average: 0.00, 0.00, 0.00
And that was when I set it up. It a departemental webserver, and it's a quiet day, hence the low load avg.
Many benifits (Score:2)
One other is upgrading the BIOS.
The reason we HAVE flash BIOS is so we can upgrade it ourselfs. Upgrade to what?
New features are likely to tie more and more into Windows. Why bother.
But with this new features will be for Linux not Windows.
Finnaly when Linux PCs are built you are still paying someone for a BIOS. In many cases they are still making BIOS with MsDos in mind.
Now instead Linux PC makers can preinstall something made with Linux in mind...
I'm still hoping someone makes a software shutdown powersuply for the desktop PC...
The PS button only applys power... when off this turns the computer on... when on this sends a signal to the computer to turn off... the software then runs shutdown and then sends a signal to the powersuply telling it to accually turn off...
(I believe this allready happend so on laptops.. but this function is't passed to desktops becouse it isn't considered useful... however this is how the 3B2 works.. no real off switch just an on switch that tells the OS to shutdown)
Re:OT: Intel IA-64 beta units use something simila (Score:1)
Intel has online information about an Extensible Firmware Interface (EFI) at http://developer.intel.com/design/Ia-64/ExtenFirmw are/
It appears from Intel's documentation that the EFI layer (1) will be written in a high-level language, (2) will be OS Neutral, and (3) will be stored on a FAT32 "system" partition in addition to Flash RAM.
Re:Linux BIOS : no, Linux based BIOS : yes (Score:1)
Re:yeah right... (Score:1)
Later...
Re:Zero-ohm resistor? WTF? (Score:1)
Sometimes it's impossible to design a board that doesn't need a jumper link; there just aren't enough layers.
Jon.
Couple considerations... (Score:1)
A good point would be having the possibility (like in the good ol' Amiga) to change the pointers to a RAM address - In the Amiga, if I still had ROM 1.3 and wanted to run 3.1, I just told the machine to go look for it somewhere else (and give up 512KB RAM, which was still a sizable part of my RAM)... And voila, Workbench 3.1!
Let's see for IA64 on...
Re:Wrong. (Score:1)
But, of course, you had to be a quick-post and flame me instead of doing your R&D, right?
Re:This is Not News (Score:1)
The real benefit (Score:5)
The possibilities are endless. I hope this one takes off.
Re:I guess I'm missing the point (Score:1)
This is exceptionally cool (Score:1)
It'll be like an Amiga "Kickstart" - putting the core OS in hardware. Dammit, I like this kernel in the BIOS a lot. If only that it means my Amiga SDK will boot lighteningly fast.
I say it's about time - now if only supported my mobo........
Re:Faster booting (Score:1)
Imagine a Beowulf cluster of these!
Re:Explain to stupid: Why faster? (Score:2)
--
Linux BIOS, *and* it's sister project, OPENBIOS (Score:2)
CPU settings in bios? (Score:1)
Re:this would save me seconds a week! (Score:1)
But set-top boxes and other cheap computers probably do.
Those systems usually boot out of flash anyway. What's the point? OpenBIOS tried this and (IMO) has failed. I can't think of a single reason to put Linux into BIOS. 32-bit BIOS? Linux doesn't use it anyway.
Maybe I'm just a crusty old fart though.
Wow (Score:2)
----
Oh my god, Bear is driving! How can this be?
Re:What we really need is... (Score:1)
this would save me seconds a week! (Score:5)
Re:this would save me seconds a week! (Score:1)
talk about waste. how many nuclear power plants are we running just so people don't have to boot in the morning?
Has is occurred to anyone . . . (Score:3)
Also, how much faster would Transmeta have finished Crusoe if they didn't have to compensate for the 16 (8?) bit code that Microsoft uses? (And how much better would the chip be?)
I'm still waiting for my 1600x1200 contact lens.
Re:this would save me seconds a week! (Score:2)
Re:How about a nice ROM Monitor instead? (Score:2)
Re:this would save me seconds a week! (Score:1)
There's a few ways around it of course
Fast booting is great regardless of that though
--
What we really *really* need is... (Score:1)
A microkernel BIOS, like Mach or Amoeba implemented in BIOS. This would be faster than fast, and still flexible enough to support multiple OSs.
With a box like this, I could...dare I say it?...rule the world!
---
Zardoz has spoken!
This is Not News (Score:3)
I have already read his BIOS. Why do I need to read it again?
Sheesh.
Re:Explain to stupid: Why faster? (Score:3)
Basically, all modern PC (Intel x86) OS's ingore most of the BIOS functions and do all the access yourself, and run on bare metal. You are saying why not just toss the middle man, and get rid of the BIOS, replace it with an arbitrary loader that can 1) take care of all other interesting type of boots, like network boots etc. and 2) runs in 32 bit mode.
The problem with this rational is that in order to do this, you are STILL replicating 99% of the "bare metal" functions of the kernel in the boot loader.
So why not put say, MACH in the boot loader, and run mklinux on TOP of that? Then drivers stay drivers (in the MACH firmware), and the OS kernel itself doesn't have to change much (regardless of the hardware) - you just need enough info in the MACH loader to pull needed extra MACH drivers off of simple known boot location (on board flash, or a small IDE disk).
On top of that, if the MACH is a good one, you can run MACH RT tasks next to the linux kernel.
Presto. A kickass embedded environment as well.
Sure its the OPPOSITE tack from completely separating the BIOS and the kernel, but I'm not sure the latter is such a hot idea in the first place.
Faster booting (Score:4)
I can hardly wait.
Re:What we really *really* need is... (Score:1)
Now if they'll just make them I-opener friendly... (Score:1)
tcd004
Have you been to wwink's Blog? [lostbrain.com]
Re:I don't understand the fuss (Score:1)
Only reason to do this (Score:1)
Re:How about a nice ROM Monitor instead? (Score:2)
Pope
Freedom is Slavery! Ignorance is Strength! Monopolies offer Choice!
Re:How about a nice ROM Monitor instead? (Score:3)
they are replacing the bios with an image of the kernel, so that we aren't dealing with this "sudo-OS".
something you also learn when you read the page, is that they start in 16 bit mode (as required by the cpu) and then about immediatly jump to 32 bit mode, gunzip the linux image, and run with it..
----------------
"All the things I really like to do are either immoral, illegal, or fattening."
Re:Explain to stupid: Why faster? (Score:1)
Why would LinuxBios be faster than a normal one? It seems that the memory check seems to take most of the time on my machines... I'd assume there's some setup that Windows uses that Linux doesn't that could be scrapped, but I don't know any specifics.
You've got it backwards. The point isn't to reduce the BIOS boot time, the point is to reduce the kernel boot time by incorporating the kernel into the BIOS.
Re:Now if they'll just make them I-opener friendly (Score:2)
For instance,
"Hi. I'm computer #42 - how should I boot?"
"Hello computer #42. Boot diskless, and mount / to blah..blah..blah.."
But you know this since you read the page before posting.
---
Re:How about a nice ROM Monitor instead? (Score:2)
Re:Check out Tiara (Score:4)
Again, this project is booting Linux right now and is in active development by a paid staff. It's just gonna get better. :}
--
Multiboot BIOS? (Score:2)
Heretical though it may be, some of us run Win95 for games and Linux for anything serious. Is it possible to do a multiboot BIOS that could boot Linux and Windows (and BSD and Solaris and BEOS) with equal efficiency?
The Second Amendment Sisters [sas-aim.org]
Mac Classic (Score:1)
Re:Open BIOS eliminates last bit of untrusted code (Score:1)
Re:Faster booting (Score:1)
Boot off a fully encrypted hard disk (Score:4)
Imagine having even the boot block and swap partition encrypted.
Mike
Re:How about a nice ROM Monitor instead? (Score:1)
Actually, thousands (millions?) of people boot a 16-bit OS every day. It's called MS-DOS. Most of those people think their OS is Win95 or Win98, which themselves contain significant amounts of 16-bit code, but really it's MS-DOS 7. There's a very simple proof that this is the case: Win95/98 supports long file names. If you disable automatically starting the GUI on boot, you get a command prompt, and no LFNs. Therefore this command prompt is not Win95/98. If you then type "win", the GUI starts, just like Win[123].x. This is exactly the process normally used to boot Win95/98, except win.com is normally called automatically.
I do, however, agree that the IA-32 architecture is fundamentally broken. In fact, the words horse, dead, a and flogging come to mind. IA-64 is a step in the right direction, and hopefully Willamette will be the last IA-32 processor. However, I can see 2 problems with IA-64.
Yes, but very useful for servers (Score:1)
One Microsoft Way
Re:How about a nice ROM Monitor instead?Seriously, (Score:1)
Well, if you're using an x86 family processor, the moment you're turning it on you're actually running a 16-bit processor. The processor has to be explicitly told to behave like a 32-bit processor (or `switched to protected mode' if you prefer). This is so you can run your ancient segmented:memory_model software on that same box.
This would be nice in a firewall. (Score:2)
At work we have an old 486 that is hooked up to our Fourier transform spectrometer. The code to do the FFT is in the bios. The the code is totally optimized it is quite fast for a 486 -- as you can imagine the device is a couple of years old but it still works. Might be nice to be able to set up a pc to do one thing well like that.
Re:this would save me seconds a week! (Score:1)
What is your problem with it? People pay for electricity; they are not given it for free. Those fees pay for the power plants, pay for the engineers, pay for the secretaries and everything else. If anything, electricity rates are too high due to the power monopolies. Or perhaps you are bitter because Americans have enough disposable income to pay for electricity...
The problem is that you never pay for the value of natural resources, only their cost. You're throwing old mother Earth away by doing this...
--
Re:Not at all... (Score:1)
Re:The real benefit (Score:1)
Re:...probably 2-3x what Be would take (Score:1)
It's been done. (Score:2)
Re:YAY (Score:1)
MIssing the point (Score:3)
wish
---
yeah right... (Score:1)
Cool! A tux logo at boot time? (Score:1)
Re:Explain to stupid: Why faster? (Score:5)
Quite simply: The OS loads without the normal 'POST' routine present on a standard PC.
In detail: When your PC starts up, the very first thing it does is go to the ROM (or PROM, or EEPROM, or FlashROM...) for the BIOS, and run the Power On Self Test. This is the routine that tests the processor(s) and memory, then initializes the PCI bus, initializes your IDE bus, and runs any Option ROMs on any add-in cards. On my home computer, this process (with memory test DISabled) takes about 2 minutes. (Yes, I have lots of OpROMs.) Unfortunately, most modern OSes (Linux included) do not use the BIOS. They access hardware directly, without ever speaking to the BIOS. So, once the BIOS has done it's job, your OS loads, and pushes the BIOS out of the way.
What Linux BIOS does: It completely does away with your old BIOS and goes immediately to the OS (Linux.) This means no POST, no PCI initialization, no OpROM scan. Because Linux doesn't talk to the BIOS anyway, it isn't needed. Now, the difficulty lies in the fact that you have this miniscule space (1MB on an Intel L440GX+) to hold the system. Plus, they are having difficulties getting some of the onboard hardware to function properly. (Linux DOES like to have the PCI bus initialized for it beforehand, which isn't happening with the old BIOS gone.)
Some of the benefits include:
Hopefully this gives you a little more info on why this is much better than just being able to skip the memory test... ;-)
Re:Pretty cool (Score:1)
Re:Faster booting (Score:2)
Re:Explain to stupid: Why faster? (Score:1)
Did you mean LILO: prompt? My computer doesn't get to login prompt two seconds after the BIOS (and the SCSI card, and the HPT366, blah, blah) is done.
the point (Score:2)
1. Like a Sun box, console output could be directed to serial. This is important when you are running a box as a server and want to debug the boot process. (Hey, can we get a diag-mode too?)
2. My neighbor sells pcs that are specifically designed to broadcast audio/video over the net using linux. They are very much appliances, as they just need to be plugged in and a few questions answered (IP info). This BIOS could allow him to tailor the boot environment to the specific hardware he has included.
3. Security: I believe you could require a password/login in order to boot a linuxBIOS machine. This could make my laptop worthless to a thief who doesn't have an NVRAM burner.
There are other things we came up with, but I've only got a few minutes.
_damnit_
Re:What we really need is... (Score:2)
Ah, a yung 'un
Re:The real benefit (Score:2)
That one needs to be posted again
I don't know why it's funny. It just is.
I hope slashdot allows the [s] tag. I notice that [div] is allowed. seems a bit mad for posting, really.
Re:How about a nice ROM Monitor instead? (Score:2)
http://www.machack.com/Hack98.html [machack.com]
It's called OFPong.
--
Re:This is exceptionally cool (Score:2)
linusbios IS 32-bit (Score:2)
linuxbios boots into 32-bit protected mode as soon as possible, so that we can write as much code as possible in 32-bit C, compiled with gcc.
Re:Wow (Score:4)
The Sun monitor has even been codified as an IEEE standard, so anyone should be able to implement and use it.
This is damn cool, though. The implications for net-booting embedded devices alone are staggering. This sure beats flashing boot code into the NIC before you can boot, or living in the PXE straightjacket. (We'll know these guys have cojones when this BIOS inludes support for laptop functions like PCCard, ACPI suspend/resume, and hot-docking. These are *really* ugly areas, but breaking DOS compatibility makes things much easier.)
BTW: Microsoft's plan, too, is for the BIOS to go away and be replaced by some simple address tables telling where things are - I think the "legacy-free" PCs (no ISA, serial, or parallel, among other things) may have this sort of BIOS already. This is a good time fo the OpenSource crowd to bend Intel's ear and make sure that Microsoft doesn't dictate NG BIOS standards to the detriment of everyone else. (They enforce compliance with their plans through substantial OS "discounts" for PC9x/WHQL standards compliance, so they're not really optional for the OEMs that need the Windows OS.)
Re:This is exceptionally cool (Score:2)
Of course it is... (Score:2)
Re:What we really need is... (Score:2)
You could get a listing of the Atari ROM OS from Atari in the Technical Reference Notes. A full, commented source listing. Neat! You could also get the full source to Atari DOS, with lots of commentary, in the book "Inside Atari DOS" (only $12.95).
Re:Legacy-free PC? Microsoft? (Score:2)
(Maybe this was part of IBM's plan all along? Yeah, right...)
Re:Explain to stupid: Why faster? (Score:2)
I'm guessing that this would make dual booting the system out of the question.
Re:Wow (Score:2)
Although it looks like it's been untouched since early 1999, it also appears quite a bit was done with it for the PowerPC platforms, and it could certainly be used on pretty much any other platform as well, if it makes sense. It may be time to revive this IEEE committee to jump-start both it and the efforts to produce viable open BIOS implementations.
"Legacy-Free" BIOS (Score:2)
Re:Wow (Score:2)
Re:Faster booting (Score:2)
Built-in BIOS-OS (Score:3)
Going backward in time, through PCs alone:
Open Firmware (Score:3)
What I want in a BIOS is
It seems to me that Open Firmware [sun.com] is a good contender and starting point. It is already fairly widely used, it is programmable, and it seems to work fairly well. One of the nicer features is that it is actually programmable (in Forth) and provides full access to the machine. So, you can load extensions (e.g., new partitioning schemes) into it easily and portably. I believe there is an open source project trying to create an Open Firmware implementation for PCs (I can't find the link, though).
Re:Cool! A tux logo at boot time? (Score:2)
One thing to note is that it will give you multiple penguins, one for each processor. I've seen several people freak out when I start the SMP and there are four.. (As if the freaking when POST keeps going past 128M, then 256M, then past 512M wasn't bad enough!)
Re:Faster booting (Score:2)
Re:I guess I'm missing the point (Score:2)
How about a nice ROM Monitor instead? (Score:5)
Non-PC platforms all have nice, simple ROM Monitors with simple, straightforward methods of loading the operating system kernel and then getting out of the way. On the PC, we have this gargantuan pseudo-OS that carries all sorts of legacy crud with it to support MS-DOS
This is one of those things that make the PC a 'fundamentally broken' architecture. Until things like this get changed, there will always be a delineation between PC's and 'real computers'.
--
Silly little labels (Score:2)
Christopher A. Bohn
We've done that for a while (Score:4)
Re:this would save me seconds a week! (Score:2)
Spyky
Re:How about a nice ROM Monitor instead? (Score:2)
Yes and no.
"On the PC, we have this gargantuan pseudo-OS that carries all sorts of legacy crud with it to support MS-DOS "
Again, yes and no.
You can't make these sweeping generalizations because people have told you that the PC BIOS is some legacy encrufted crud puppy. Have you ever use a Sun Sparcstation or a DECStation? My MAXine supports -- get this -- ECOFF kernels only. Straight forward? Heck no, you need a manual for it (whereas PC BIOSes are friendlier) Want to use a new executable format? Too bad, you need to translate your ELF kernel to ECOFF.
The fact is, when technologies change, and you don't completely replace the old technology, you have to deal with some of the warts. So the PC BIOS has warts. That just means it's been succesful, if not properly redesigned. These same problems affect other architectures. Ever use a VAX? The ultimate in CISC. Eventually they did their best by cutting down the "real" instructions and emulating the rest in userland software.
So don't make sweeping generalizations. They tend to be wrong, or do things you don't except (but then that's also a generalization
---
Re:This is exceptionally cool (Score:2)
But I liked Kickstart. Even if the graphics were cruddy. :)
Re:Faster booting (Score:4)
Seriously, I did put Windows to use in my in my microwave last year and it was a glorious sight, but the office stunk for a few days.
Check out Tiara (Score:4)
It's still crude (we're working on it)- but it is booting Linux _right_ _now_ on SiS530 chipsets.