Advanced

Hi BIOS! My Name Is “Linux”, Or Is It?

Posted by Sander_Marechal on · 5 comments
My Technophilic Musings
Mail this story
Print this story

A couple of days ago, I read this on Matthew Garrette’s blog, where he tells us about a vendor’s BIOS trying to figure out the OS type/version and setting things around on deciding the OS it is running. The call in question was _OSI(“Linux”). He goes on to say that the action the firmware takes, on finding out if the OS is linux, was probably inaccurate and it was good that linux kernel DOES NOT identify itself as “Linux” and returns false for the _OSI(“Linux”) and instead returns true when probed for Windows. That got me thinking, the first thought being that isn’t this a BIG flaw in the kernel. But “Never make judgements straightaway”, I have learnt in the past. So, thought about reading it a bit more. After some googling around, I came to know the sound reasoning behind the decision.

Full Story

  Nav
» Read more about: Story Type: Editorial; Groups: Kernel, Linux, Microsoft

» Get new stories by e-mail: nightly or as they are published

« Return to the newswire homepage

Comments (5)

that is worth reading. I think it will help explain why strange things happen when Linux is installed on some hardware.
Link to the PDF: ftp://ftp.suse.com/pub/people/trenn/ ACPI_BIOS_on_Linux_guide/acpi_guideline_for_vendors.pdf

Reading through that, it occurs to me how really badly designed that ACPI in the BIOS (and the BIOS in general) really is. It's so bad that http://boycottnovell.com/2008/07/25/foxconn-bios-acpi/ doesn't seem too far fetched anymore. Checking version strings is really a big no-no. BIOS designers should be checking for capabilities and not worry about what OS is running. E.g.:

If ( _Have ("MonitorSuspend", "1.0") ) {     # Do something clever }

If ( _Have("HDDSuspend", "2.0") ) {     # Do something smart } Else {     If ( _Have("HDDSuspend", "1.0") )     {         # Do something a bit less smart     } }

etcetera. This is really API design 101. Bad ACPI designers. No twinkie for you!
Sander, your ftp link broke formating.
Should be fixed now.
thanks, I can read the whole thing now.

Post a comment

A free account is needed to post. Write your comment here first: your text is kept in this browser while you sign up or log in, and is waiting for you when you come back.

Your message:
|||||
10
Markdown: **bold**, *italic*, [text](https://link), - lists, > quotes, $x^2$ for math. Formatting help

Sign up and post (it is free)  or  Log in and post