Hi.
Normally, using VMware is the fastest way to develop and test software on different platforms without spending time to boot different real computers and their different operating systems.
For all those who would like to use VMware for VMware BIOS modification - for Linux usersBIOS development[/b],
I already described methods about VMware BIOS modification - for Linux usershow to modify VMware's BIOS[/i] here:
Thread/post title: VMware BIOS modification - for Linux usersVMware BIOS modification[/b]
url: http://www.vmware.com/community/message.jspa?messageID=103265#103265
However, the described method was just for Windows users and VMware Windows release(s).
So, I did some research for VMware Linux releases and here are the results:
To get a VMware BIOS image/file from the VMware Linux release(s),
you need the Linux built-in shell/console utilities: "[b]objdump[/b]" and "[b]objcopy[/b]".
1.)
After downloading any or the most recent VMware Linux release, you can either install it or just extract the "vmware"/"vmware-vmx" Linux executables.
In older (beta releases), where no "[b]vmware-vmx[/b]" file was available,
the "[b]vmware[/b]" Linux executable contains the BIOS section/resource.
2.)
Open the Linux shell / console and change to the directory where you installed/extracted the "vmware"/"vmware-vmx" Linux executable.
Then type following:
"[b]objdump -h vmware-vmx[/b]"
("[b]objdump -h vmware[/b]" only for old releases, where VMware BIOS modification - for Linux usersno[/u] "vmware-vmx" is available.)
You will get a list of embedded sections/resources, including the VMware BIOS modification - for Linux users.bios[/b]/[b].bios440[/b] section
inside the VMware Linux executable.
Now, enter this:
VMware BIOS modification - for Linux usersobjcopy -j .bios440 -O binary --set-section-flags .bios440=a vmware-vmx bios440.rom.zl[/b]
(for old VMware releases:
VMware BIOS modification - for Linux usersobjcopy -j VMware BIOS modification - for Linux users.bios[/i] -O binary --set-section-flags .bios=a vmware bios.rom[/b])
"[b].bios440[/b]" = section name which contains the VMware Phoenix BIOS.
"[b]vmware-vmx[/b]" = VMware Linux executable
"[b]bios440.rom.zl[/b]" = file where the extracted section will be stored in.
As you already can see the output file name gets an additional ".zl" extension.
Because the (extracted) BIOS section is compressed with zlib, it is necessary to unpack it.
Either you can take Perl and the "zlib" library or any other utility which is able to unpack zlib compressed files.
Reffering to the "Perl method", forum member VMware BIOS modification - for Linux usersPetr[/b] informed me about an example script which extracts and unpacks the .nbios section of VMware.
http://knihovny.cvut.cz/ftp/pub/vmware/lancebios.sh
Thank you Petr.
After unpacking you can begin to modify the VMare Phoenix BIOS file.
Because there are currently no public Phoenix BIOS modification utilities for Linux available, you just can take Phoenix BIOS Editor for Windows.
http://www.dstyles.de/bios/en/
-->
Phoenix BIOS Editor
or:
-->
Phoenix BIOS Editor
or:
http://www.dstyles.de/bios/bnobtc-files/phoenix/bioseditor/
http://bnobtc.pix-art.com/bnobtc-files/phoenix/bioseditor/
To run the VMware BIOS modification - for Linux usersPhoenix BIOS Editor[/b] in Linux, you either can use VMware BIOS modification - for Linux usersWine[/b], VMware BIOS modification - for Linux usersWin4Lin[/b] or you just copy the extracted and unpacked BIOS file and the Phoenix BIOS Editor installer into an emulated Windows9x/ME/2K/XP operating system in VMware BIOS modification - for Linux usersVMware[/b] itself.
After installing the VMware BIOS modification - for Linux usersPhoenix BIOS Editor[/b] in Wine, Win4Lin or VMware's emulated Windows, you can begin to modify the VMware Phoenix BIOS file.
After the modification, the modified BIOS file has to be set inside the .vmx - VMware configuration file(s):
VMware BIOS modification - for Linux usersbios440.filename = "path to the modified BIOS file/BIOS file name"[/b]
The next start of VMware will use the modified BIOS file
Reffering to the "bios440.filename" switch, now you also can begin with developing your own BIOS for VMware.... e.g. you can begin with developing a Linux / OpenBIOS for VMware.
To get all the necessary stuff (symbols, links, called functions, different important routines, etc..) which would be necessary to build a decent native BIOS for VMware, you can either unpack* and disassemble the VMware Phoenix BIOS modules or you get in contact with VMware's developer team.
*=While opening a Phoenix BIOS file in the Phoenix BIOS editor,
all modules will be extracted to a "TEMP" directory in the Phoenix BIOS directory.
You can also use the utilities: "phnxdeco" or "phoedeco". (take google. ![]()