<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>G33K @ Work &#187; BIOS</title>
	<atom:link href="http://www.geekatwork.de/tag/bios/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.geekatwork.de</link>
	<description>Basteleien eines Geeks</description>
	<lastBuildDate>Tue, 13 Sep 2011 17:20:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Dumping the VMware BIOS</title>
		<link>http://www.geekatwork.de/2010/05/27/dumping-the-vmware-bios-2/</link>
		<comments>http://www.geekatwork.de/2010/05/27/dumping-the-vmware-bios-2/#comments</comments>
		<pubDate>Thu, 27 May 2010 00:48:18 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[OSDev]]></category>
		<category><![CDATA[BIOS]]></category>
		<category><![CDATA[custom]]></category>
		<category><![CDATA[dumping]]></category>
		<category><![CDATA[extracting]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://www.geekatwork.de/?p=228</guid>
		<description><![CDATA[Sometimes, even if you don&#8217;t want to install a pirated Windows version, you may want to dump and modify the BIOS of a computer. Especially if you are developing some kind of an ACPI subsystem for your own small operating system kernel. Doing this with real hardware is kinda risky and complex. But what about [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes, even if you don&#8217;t want to install a pirated Windows version, you may want to dump and modify the BIOS of a computer.<br />
Especially if you are developing some kind of an ACPI subsystem for your <a href="projekte/geexos/">own small operating system kernel</a>.</p>
<p>Doing this with real hardware is kinda risky and complex.<br />
But what about virtual machines like VMware? They have a BIOS, but how can we get our hands on it?<span id="more-228"></span><br />
As I&#8217;m using Mac OS X for all my daily work, I&#8217;m using VMware Fusion as a virtualization program.</p>
<p>The BIOS seems to be hidden inside the virtual machine monitor executable itself.<br />
To make our lifes easier, we are going to extract only the x86_64 part out of the universal binary with the following command:</p>
<pre class="brush:shell">lipo /Libary/Application\ Support/VMware\ Fusion/vmware-vmx -thin x86_64 -output /Users/user/Desktop/vm64</pre>
<p>Now, we have a Mach-O file with only one architecture, which is x86_64.<br />
It doesn&#8217;t matter if you are dumping the BIOS out of the i386 or x86_64 version of the binary. It should be the same for both architectures.</p>
<p>After that, we can extract the appropriate section in the Mach-O file which contains the BIOS itself:</p>
<pre class="brush:shell">segedit /Users/user/Desktop/vm64 -extract __VMWARE bios440 /Users/user/Desktop/bios440.rom</pre>
<p>And here, you go: bios440.rom contains your VMware BIOS.</p>
<p>After you modified it to your wishes, you can use a handy VMware feature which lets you specify a custom BIOS for a virtual machine inside its vmx-file.<br />
Just add this line to the vmx-file of the machine you want a custom BIOS for and place the rom file in the proper folder:</p>
<pre>bios440.filename = "bios.rom"</pre>
<p>Happy BIOS modding!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geekatwork.de/2010/05/27/dumping-the-vmware-bios-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

