Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Operating Systems Software

More Power To The Firmware 226

An anonymous reader writes "In More Power To The Firmware Amit Singh talks about technical details of EFI, the next-gen BIOS replacement standard Intel, Microsoft and others are pushing. This is a very informative piece where he talks of issues with legacy BIOS, how it affects those who develop in the firmware environment and how EFI plans to solve these problems. EFI usage examples are included, including a programming example. He contrasts EFI with Open Firmware as well. IMO the second half of the article is even more interesting, where sample FORTH code is provided for displaying a window/mouse pointer GUI inside the Apple/Mac firmware! And of course, there's code for a new 'Towers of Hanoi' animation using the Mac firmware (remember Hanoimania?). Aspiring Mac Firmware Hackers could also check out the suggested projects ;-)"
This discussion has been archived. No new comments can be posted.

More Power To The Firmware

Comments Filter:
  • by Dagny Taggert ( 785517 ) <[hankrearden] [at] [gmail.com]> on Thursday June 17, 2004 @11:34AM (#9452972) Homepage
    ...but can you imagine any sort of Windows-dependent BIOS? Is this in our future? Is it even possible? Or, worse yet, a Windows-based BIOS of some type where the OS actually IS the BIOS?
  • Stability? (Score:5, Interesting)

    by ThisNukes4u ( 752508 ) <tcoppi@@@gmail...com> on Thursday June 17, 2004 @11:35AM (#9452974) Homepage
    I'm not in favor of increasing the complexity of the bios. They can barely get them stable after a few updates now, how will it be when they are doing alot more? Yeah I know that Sun Sparc's have a complicated bios, but they did it right. I don't trust Microsoft and Intel to do it right.
  • Retroactive bios (Score:4, Interesting)

    by IamGarageGuy 2 ( 687655 ) on Thursday June 17, 2004 @11:39AM (#9453020) Journal
    Apple has been doing this since the beginning, since they control all hardware (or has to be approved by them). Having MS or Intel do it on a box that will have an immeasurable amount of peripherals by different manufacturers is only looking for problems. It may be possible but I fear it will be at the expense of creativity and thinking differently will not be an option.
  • by garcia ( 6573 ) * on Thursday June 17, 2004 @11:45AM (#9453063)
    I have mentioned this plenty of times before. In order for Windows DRM to *really* work the OS has to require a BIOS that is tied directly to it.

    The only way for this to happen is for MSFT to cut deals w/the BIOS manufactorers (which they have done already w/Phoenix).

    *MOST* people are not going to care one way or the other (ie "free" hardware while paying for the software) as long as their computer runs without problems, they have no work lost because of viruses, etc.

    It's actually pretty scary when you think about it. You want to buy a piece of hardware? You are going to be buying it w/a MSFT approved DRM BIOS and their OS. Nothing else will install w/that BIOS because that would allow for software that isn't approved to be running (OS included). Take the BIOS out or flash it? None of the rest of the hardware will work either.
  • by Anonymous Coward on Thursday June 17, 2004 @11:50AM (#9453114)
    On the contrary, it could be interesting if the BIOS were to handle as much of the hardware as possible. Drivers could be written for the BIOS, and then that would solve our *n[ui]x problems since every operating would be accessing these routines the same way. Wouldn't something like this level the field?
  • by hal2814 ( 725639 ) on Thursday June 17, 2004 @11:52AM (#9453139)
    I don't see how DRM can be solved at the BIOS level. Unless the media player and file system are completely controlled by hardware with no OS intervention, there will always be a piece of software asking "Is this file OK to play/copy?" As long as this query exists, there is an opportunity for a programmer to fake the response and play the file anyways.
  • by SuperKendall ( 25149 ) * on Thursday June 17, 2004 @11:58AM (#9453198)
    Let me add something that I find remarkable: I have not seen a single reference to Open Firmware in any EFI specification, presentation, whitepaper, or related document. Perhaps I did not look hard enough. This is not a criticism though. Some might argue that EFI's pathbreaking-ness is valid in the context of PCs, so it is appropriate not to mention prior similar ideas.

    I'm not quite sure what that last part means - how can you say it's not appropriate to mention when the technology is so similar? Just because it hasn't been used on PC's before is no reason not to learn from what has been used before.

    I would have liked to see more of a comparison of exactly whe EFI gives you over Open Firmware of today - I gathered it was the custom pre-boot programs and network connectivity, but I would have liked to see more examples of new things that make use of these features that you can't do in Open Firmware.

    It's funny to have a whole article about EFI then show all the cool things you can do with an advanaced BIOS by giving Open Firmware demos. Sort of like watching a Longhorn demo of transparency in UI while working on a Mac.
  • Re:Firmware (Score:1, Interesting)

    by Anonymous Coward on Thursday June 17, 2004 @12:03PM (#9453250)
    > When you can program games in BIOS level systems

    Yeah, nobody's ever written a 86 real mode game. The original BIOS came with a BASIC intepreter, you know.

    Fact is that the PC BIOS is 15 years past due for replacement. Whether or not DRM is included doesn't change that -- not to mention DRM can be and has been implemented for classic real mode BIOSes.
  • Re:Firmware (Score:5, Interesting)

    by drinkypoo ( 153816 ) <drink@hyperlogos.org> on Thursday June 17, 2004 @12:04PM (#9453254) Homepage Journal
    The reason you can program games in OpenFirmware is that it is versatile. In spite of its flexibility, because it is based on Forth, it is still simple and efficient.

    Ironically, your Sun Ultra 1's firmware is pretty much the same. It's OpenFirmware, and it uses a Forth interpreter to execute on-adapter code which is used until the kernel is loaded and a system-level driver can be used. This is why text displays faster in the X Window System than on Sun consoles - the console is using a video driver written in Forth and interpreting it on the fly! Hence this is true for all Sparcs back into antiquity. (I used to have a 3/260 which I later upgraded to a 4/260, that's one of the first generation of SPARC-based Sun systems.)

  • by jared_hanson ( 514797 ) on Thursday June 17, 2004 @12:06PM (#9453270) Homepage Journal
    So I glaned over the article, and while it mainly focused on EFI being done for IA-64, it also hinted that EFI was available for x86. Does anyone know of any reasonable priced motherboards that use this as opposed to an older BIOS? I'm looking for the hinted at x86 support, as I don't feel like buying an Itanium. Also, while we are on the subject, is this an Intel only thing or does AMD have a say in the matter?
  • by drinkypoo ( 153816 ) <drink@hyperlogos.org> on Thursday June 17, 2004 @12:07PM (#9453277) Homepage Journal
    AFAIK all legacy Amiga computers (Up to the Amiga 4000) have half of the OS in ROM BIOS, allowing you to put just a bootblock and a program on a disk and still have the benefit of the basic GUI functionality. This is less goofy than it seems because AmigaDOS has a feature called "patchlists" that allows you to patch functions in an OS-supported fashion without any kludges. Well, without any kludges that aren't part of the OS anyway. This in turn is made reasonable by the utter lack of memory protection, which is not a feature in a modern operating system, it's a serious liability.

    I don't know of any BIOS-based viruses but there certainly have been some viruses which will damage your BIOS on systems which keep it in flash/eeprom.

  • by jayslambast ( 519228 ) <slambast AT yahoo DOT com> on Thursday June 17, 2004 @12:10PM (#9453298)
    I've been using EFI (on Itanium) for quite some time, and have had zero issues with it. I really like the fact there are DCHP modules that allow networking to be started without the OS running. They have ftp servers, disk drivers and you can boot your machine from a remote image using bootp services. If your OS is dead on your disk, you can restart to efi and download a previous image on to your harddisk (or remote boot/install). Heck, you can run your code without even booting the OS. Imagine dedicated distributed.net clients that run straight from EFI without the overhead of an OS.
    While I understand people have concerns that Microsoft is using this as a DRM delivery mechanism, there is nothing that is stopping Microsoft from working with Phoniex to add DRM to today's bios's. EFI (and non-legacy bios environments like openBios) make it easier for non-windows OSes to run on new Hardware. This isn't in microsoft's best interests. Microsoft wants a bios that only runs signed code (like their XBOX), so that you have to ask them nicely for a key to your equipment.
  • by RAMMS+EIN ( 578166 ) on Thursday June 17, 2004 @12:15PM (#9453334) Homepage Journal
    The author mentions that EFI is somehow better than Open Firmware, but I fail to see how. It all sounds like Intel decided to go their own way again (just like their Itanium had to be different and incompatible with any (RISC or CISC) CPU out there).

    Why, for sanity's sake, can these companies never adopt a perfectly good standard, but do they always have to give everyone headaches by rolling their own? If Open Firmware has some deficiencies, surely they can be fixed with some incremental improvements?

    The Intel Architecture is evolving...from the primitive, kludgy, underperforming, el cheapo to the overhyped, overheating, overexpensive and incompatible. Even IBM (Connector Conspiracy) and Apple (Think Different) are more open and standards-oriented these days.
  • by RAMMS+EIN ( 578166 ) on Thursday June 17, 2004 @12:32PM (#9453497) Homepage Journal
    There are various system emulators that need ROM images to boot the virtual system. I have been wondering about open source projects to provide these images, unencumbered by copyright restrictions, trade secrets, what have you.

    I am into operating system development, and I would like to play around with architectures that I don't have real hardware of. It can't be too hard to write a firmware implementation if the code for the emulator is already available.

    If you are aware of any such projects that are not mentioned here, please post. Ones that I know of are OpenBIOS, FreeBIOS, and LinuxBIOS, which are also mentioned in the article, with links.
  • Mac Firmware (Score:5, Interesting)

    by Anonymous Writer ( 746272 ) on Thursday June 17, 2004 @12:35PM (#9453519)

    It would be fun to see someone port one of those Apple ][ emulators to this thing, so you can actually boot a Mac into an Applesoft programming mode, just like in the old Apple ]['s. If it can handle a simple GUI like in the article, or if it could handle an implementation of System 1, I'm sure an Apple ][ emulation would be no problem.

    From what I gather in the article, any of these Forth programs have to be loaded off of the hard drive in order to be executed. I didn't really understand if they could be stored in non-volatile memory, and if the computer could be configured to run them when it is turned on. I don't know how much space there is for non-volatile memory, but it would be interesting to be able to write a really basic OS that runs off of it without having to read from the hard drive at all.

    I suppose it's possible since you can update the firmware, but does Apple keep information about how to program the firmware proprietary, or is it open for people to tinker with?

  • by Matthias Wiesmann ( 221411 ) on Thursday June 17, 2004 @12:46PM (#9453606) Homepage Journal
    Actually, Apple also had to do a transition between machines without open-firmware to the one with it, so there was some backward compatibility. On the other hand, I suspect the newer macs could not boot older oses (I don't know if EFI machines would seriously boot Windows 95, and why anybody would try that...)

    The sad thing about intel doing their own stuff is that Open-firmware is here and standard. One of the most interesting ideas of having the F-code engine was to have processor independent drivers on the card. I.e you plug-in the card and it works, regardless of the fact the processor is PPC, sparc, or i686.

    One funny trivia fact about Apple's open-firmware is that the firmware understands certain file-systems (HFS+,Ext2) and executable formats (PEF,ELF). The funning thing is the firmware does not understand OS X's executable format (Mach-O) so on every OS X machine, there is an ELF format bootloader.

  • by Alsee ( 515537 ) on Thursday June 17, 2004 @01:18PM (#9453961) Homepage
    No, Trusted Computing defeats the GPL. You may have the source, but that source is useless. If you change a single line of it the program stops working. The software is no longer Trusted and it can no longer decrypt anything.

    That's one of the reasons Microsoft is so keen on Trusted Computing. It defeats the GPL.

    -
  • by Fred Or Alive ( 738779 ) on Thursday June 17, 2004 @01:26PM (#9454061)
    The article doesn't actually mention Athlon 64's at all. Although AFAIK they're designed so they can use the old PC BIOS system (and everything else x86) rather than needing a new BIOS (etc.). Perhaps a sentence on how AMD took an x86 compatible approach to designing a 64 bit system meant that they (can and do) use the old BIOS system instead of something new would've been a useful addition.
  • by DeathPenguin ( 449875 ) * on Thursday June 17, 2004 @01:31PM (#9454124)
    Ideally, perhaps, if Intel would GPL the whole BIOS, and I'm not talking about the table scraps they CPL'd a few weeks ago. Such routines would have to be completely open for *EVERYONE* (Not just NDA holders like Microsoft).

    Making BIOS calls for everything would also make porting code across architectures a nightmare (Even more so).
  • Re:Firmware (Score:5, Interesting)

    by Alsee ( 515537 ) on Thursday June 17, 2004 @01:32PM (#9454128) Homepage
    If USA's DRM laws don't aply here in Spain, I will be glad to swap a crippled BIOS by a shiny Openfirmware

    Go right ahead. They don't need laws to ram this crap down your throat.

    If you don't have a Trusted Computing compliant system then you will not be able to install any of the new Trusted software. You will not be able to use any of the new Trusted files. You will not be able to access any of the new Trusted websites. After a couple of years you may not be able to get onto the internet at all.

    Take the websites for example - it would be much like attempting to surf the web today with cookies and javascript off. Tons of websites simply spit out an error message saying there's something wrong with YOUR computer, and that YOU need to fix the problem.

    All sorts of websites already try to lock you out if you try to block ads, or if you have a pop-up blocker, or if you try to deep-link, or use javascript encryption to prevent you from copying anything, or to enforce registration. Well, websites will be able to use Trusted Computing to enforce all of that and more. If your computer is not compliant they will simply lock you out.

    The only thing that can stop Trusted Computing is if there is a massive public backlash against it.

    -
  • by Anonymous Coward on Thursday June 17, 2004 @01:38PM (#9454200)
    Anyone can implement EFI, and that includes Apple and Sun. (Sun Admins love their OpenFirmware, but 99.99% of Mac users couldn't give a crap what software boots their system.)

    Actually, if Intel can kill "x86 Option ROMs", they'll be doing Mac users a big favor, because vendors will stop charging a huge premium for cross-platform cards.
  • Re:Firmware (Score:3, Interesting)

    by 4lex ( 648184 ) on Thursday June 17, 2004 @01:57PM (#9454502) Homepage Journal
    I agree with you... but I sense the tide is changing. Can't you hear it from where you are? It's only a rumor, but you can already hear it growing louder...

    Once a government, an individual or a corporation tastes the freedom, they won't easily give up. I see a lot of new happy users of Free software in the corporate world, and I also see them in the governments, at least here in Europe. Once they pay to make a transition to Free software (gaining freedom to choose whom to make deals with, and the economic benefits of competition), I seriously doubt anybody can bring them back. If there is no one industry in the USA that wants to step in the market for "hardware for free software in Europe", either Japan or China will, or Europe will start to produce their own hardware. South America looks just the same (think of Brazil, for a great example). I can't think of the internet going all-trusted with so many content producers being trusted-free.

    On a side note, I'm not sure if US laws will be so strong as to prevent US manufacturers from producing non-DRM-crippled-hardware in foreign countries, in order to sell it to foreign countries,thus losing tons of money... will they?

    Finally, once again, I agree with you. We need a massive public backslash against Trusted Computing. My way to fight is to get as many individuals to go over Free software, Free music and Free information... and to push my government towards the same goal.
  • by ratboy666 ( 104074 ) <fred_weigel@[ ]mail.com ['hot' in gap]> on Thursday June 17, 2004 @02:48PM (#9455161) Journal
    Boot time vulns...

    Yup, its an attack vector. Real Story: A major vendor of network bandwidth wanted to remotely bring up router boxes... using dhcp etc. And remotely boot those boxes. Over the internet.

    So, here is the attack vector:

    Hacker intercepts communication, capturing digitally signed OS that boots the router box. Now, this is useless, because all the hacker can do is wait for the box to reloaded, and then feed it the same OS image.

    Imagine, though, that a little time has gone by. Now, some vulns are known in that particular core. Now, when the router box is rebooted, the hacker can put BACK the vulnerable OS, and rehack.

    So, each download image must be secured against the box, to avoid replay attacks. Yes, this was brought up up the review of the "load OS over the internet" project.

    Of course, all names have been filed off, to protect.... well, whoever.

    Of course no mass market data producer is going to re-crypt data for each individual. That would mean that the OS/CONTENT would have to be re-encrypted after registration, *or* every retail copy would be different, *or* there would be no retail copies (only pre-installed).

    Ratboy.
  • by gone.fishing ( 213219 ) on Thursday June 17, 2004 @04:53PM (#9456675) Journal
    I get a certain kind of comfort when I pull in to the gas station and see a really old car using the same gas pump as me. In the auto industry there have been many changes in the past hundred years but a 1913 Model T can still buy and use the same gas as my car can.

    BIOS is a sort of standard that assures compatibility. When we drift away from that standard, we start losing a very core basic value - the kind of thing that stops us from "filling up at the pump" so to speak.

    I want my BIOS. Other things can change but I want my BIOS because I feel better knowing that some things stay the same.
  • by cbreaker ( 561297 ) on Thursday June 17, 2004 @06:10PM (#9457389) Journal
    Yea! Exactly. I checked out the GPL bios thing that those guys are working on at LinuxBIOS. I like they way they go about it - they let Linux (the OS, not the LinuxBIOS) handle as much as possible. Get basic functions up, and let the OS do the rest. Of course, they also have some cool features like network accessable bios, but overall it's very simple. "Let Linux do it" is their motto.

    Too bad it's only available for a limited set of motherboards.
  • by lachlan76 ( 770870 ) on Friday June 18, 2004 @07:36AM (#9461546)
    Evidently bits of Intel still haven't managed to bring themselves to admit the existance of Athlon64 just yet.

    The joke I read was "I can see the technician suggesting that Intel uses gorilla/human hybrids to crowbar a Xeon into a Socket-478 package".

    And that, ladies and gentlemen is how the P4EE came about.

The moon is made of green cheese. -- John Heywood

Working...