Jump to content

Intell and Microshaft


Pzatch
 Share

Recommended Posts

  • Replies 38
  • Created
  • Last Reply

Top Posters In This Topic

Exactly. Send the command over the ATA bus to read the MBR, stick the code in the MBR in the RAM, and branch to it. Instant bios. After that point, the operating system can be in complete control and no more bios calls should be required. Get the ATA spec, write a bit a assembly code and burn it into an EPROM or flash chip. Instant bios. All the rest of the functions normally found in the bios can be part of the OS during or after booting.

 

You just need enough code in the bios in order to read the second stage boot code off the hard drive. After that, it is up to the second stage boot loader to read in the rest.

 

Glitz.

Link to comment
Share on other sites

How would I boot to floppy to load my favorite OS?

 

Personally that just sounds like a viri problem waiting to be started.

Booting from floppy is virtually identical to booting from a hard disk. You read the second stage boot loader from the boot sector on the disk and that loads in the rest. In fact, that is exactly what happens now when you boot from floppy.

 

As for the virus thing, well, if you put viruses on your MBR or boot sector then what do you expect? The way to prevent viruses from placing themselves there is to make sure the OS doesn't allow them to put themselves there in the first place.

 

Glitz.

Edited by Glitz
Link to comment
Share on other sites

Glitz: You're right - but with all the RAID and other modern configurations the BIOS'es do need enough in 'em, right? (Otherwise there wouldn't be a need to revamp / re-write it)

Yes, you do have to have enough code in the bios to be able to read the second stage boot loader off of whatever devices you intend to boot from. However, you don't really need any more than that. In fact, with flash bioses, you could almost customize the bios to boot off of whatever device you install the OS to at the time you install the OS. The OS could install it's own bios. Hmmm, that's an interesting idea...

 

People, however, love to fill programs up with all sorts of eye candy (hardware candy?). At any rate, the point is that in the grand scheme of things, as soon as you have the second stage boot loader loaded, then the bios is no longer required. Or to put it another way, as long as the specs to the hardware are known (and they are) then the bios is not some kind of magic key to the system that one person (company) can control.

 

Mind you, a bios full of "hardware candy" to configure and provide nice standard interfaces to the hardware (for the OS) is nice. It means less hardware driver programming for you. That's what makes it appealing. Linux programmers, however, have so far ignored the bios for the most part. As far as I know, only LILO (maybe GRUB) and the ACPI (and APM) driver uses it. Oh, the bios will also partially configure the PCI cards if you let it (I think Linux can do that by itself now fairly competently).

 

Glitz.

Link to comment
Share on other sites

I have an idea of what your shooting for but your missing a few things also.

 

First will you ever point the bios to anything other than the hard drive?

If nothing is in my MBR like on a new drive we're stuck right here now.

If so then it needs to have keyboard support before it points to the boot device. That way you can tell it were to boot from. Now what kind of keyboard. PS2 or USB. Well now it needs to know about PS2 and USB devices.

If it also points to a floppy drive it needs to know about those and how to use them. And what kind of floppy drive will that be?

What if I want to boot my machine from the cdrom to load my linux OS.

What if the owner wants to boot from a USB device. Good thing it already knows about those things.

What about a diskless machine? You know, boot from the network.

What about booting from a riad device. They are different than the normal IDE or even SATA.

What about memory maping? Can't load an OS without knowing how much memory you have to play with.

You also have to have built in error detection of some sort. And a form of error output so you have an idea of whats wrong. Maybe some kind of simple beep that can tell you by beep code.

 

Now you see we're right back to the same old AT style of bios that we already have. Unless all computers in the future are not upgradable in anyway. Changing the boot devices in anyway totaly screws up the old bios, unless flexability is written in.

 

Just how many of us have ever left a computer unupgraded?

 

Oh my god a flash bios? Can we say LG drive here.

Edited by Pzatch
Link to comment
Share on other sites

I have an idea of what your shooting for but your missing a few things also.

 

First will you ever point the bios to anything other than the hard drive?

If nothing is in my MBR like on a new drive we're stuck right here now.

If so then it needs to have keyboard support before it points to the boot device. That way you can tell it were to boot from. Now what kind of keyboard. PS2 or USB. Well now it needs to know about PS2 and USB devices.

If it also points to a floppy drive it needs to know about those and how to use them. And what kind of floppy drive will that be?

What if I want to boot my machine from the cdrom to load my linux OS.

What if the owner wants to boot from a USB device. Good thing it already knows about those things.

What about a diskless machine? You know, boot from the network.

What about booting from a riad device. They are different than the normal IDE or even SATA.

What about memory maping? Can't load an OS without knowing how much memory you have to play with.

You also have to have built in error detection of some sort. And a form of error output so you have an idea of whats wrong. Maybe some kind of simple beep that can tell you by beep code.

 

Now you see we're right back to the same old AT style of bios that we already have. Unless all computers in the future are not upgradable in anyway. Changing the boot devices in anyway totaly screws up the old bios, unless flexability is written in.

 

Just how many of us have ever left a computer unupgraded?

 

Oh my god a flash bios? Can we say LG drive here.

I said it would be possible to boot Linux, I didn't claim it would be a luxury liner. Obviously the more assorted the peripherals are, the more boot devices you have to configure into the bios.

 

Adding a bit of code for keyboard input and text screen output is not difficult. Memory management is not a problem since the x86 line of processors boot in real mode. The memory management starts when the second stage or third stage bootloader runs. They can also configure the majority of the hardware or else let the OS do it.

 

If you always have a hard drive available then the code to boot from you're super deluxe widget could be loaded off the hard drive instead of putting it in the bios.

 

Maybe the point I'm trying to get across here is that bios's main purpose is to load in enough code from some larger device so that booting can continue from the code on that device. In this way, the booting process can be customized without relying on any one person's code. As long as the bios can read in a bit of your own code, then you are home free to load any OS you want.

 

Obviously, the bios will have to have the ability to boot from at least one removable device so that a fresh OS can be installed. Again, more supported devices are like car accessories.

 

The technology used to hold the bios is irrelevant. The only criteria is that it can be directly accessed by the CPU at powerup. The LG fiasco had nothing to do with the type of memory used to hold the code. The problem was that the code was buggy. Had the defective code been burned into EPROM then the only difference would have been that it would not have been repairable without physically swapping the chip.

 

But think about the advantage of flash. You could compile a bios like a Linux kernel and configure it to boot from the devices you want. This could then be written to the flash. The small protected boot block of the flash could be used to provide a primitive method of reflashing the device from a floppy drive or CDROM (or some other device on the machine) should the rest of the bios be corrupted or unprogrammed.

 

It seems there are as many ways of starting a computer as there are grains of sand on a beach. There may be one optimal solution but you are unlikely to find it. There are probably a few excelent ways of doing it. There are most likely many ways of doing it well. There are many, many ways of doing it adequately. And there are infinitely more ways of doing it badly. Take your pick.

 

Glitz.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share


×
×
  • Create New...