Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
vmwarebios [2006/06/26 09:58]
stockholm Entering content out of mail, formatting
vmwarebios [2008/04/16 18:40]
stoked
Line 1: Line 1:
 ===== Using Etherboot inside the VMware BIOS ===== ===== Using Etherboot inside the VMware BIOS =====
-The following mail has been posted on June 26, 2006 by Borg No. One+The following mail has been posted on June 26, 2006 by Borg Number ​One in the EtherBoot mailing list.
  
-===== Etherboot ​ROM in VMware and Bochs - The tutorial ===== +===== EtherBoot ​ROM in VMware and Bochs - The tutorial ===== 
-(updated on 25.06.2006 )+(updated on 07.07.2006)
  
 +**Declarations**
 +  * Expansion ROM / ExpansionROM , Extension ROM / ExtensionROM , Option ROM / OptionROM , Extension BIOS / ExtensionBIOS ​
 +... describes a binary executable in a special format, which can be loaded and started by mainboard'​s System BIOS
 +This binary executably is genereally stored in the (Flash)-EEPROM of a graphics card, network card, RAID controller and inside a modular System BIOS / module based BIOS.\\
 +
 +**Introduction**
  
 In the past and in the present, many people were/are interested in using EtherBoot for virtual machines, like VMware or Bochs: In the past and in the present, many people were/are interested in using EtherBoot for virtual machines, like VMware or Bochs:
Line 14: Line 20:
  
 Using Virtual Machines is a really good and really fast way to test and improve EtherBoot (and other extension ROM projects). Using Virtual Machines is a really good and really fast way to test and improve EtherBoot (and other extension ROM projects).
-Butin previous virtual machine related requests in the EtherBoot Mailing Lists, I could see that only time consuming methods are known.+But in previous virtual machine related requests in the EtherBoot Mailing Lists, I could see that only time consuming methods are known.
  
-==== Already ​know general method: ====+==== Already ​known general method: ====
  
-Currently, EtherBoot developers/​testers who use VMware or Bochs, have to take a certain time to+Currently, EtherBoot developers/​testers who use VMware or Bochs, have to take a certain time to:
   * put EtherBoot to a floppy disk / CD or into a flopy disk image / CD image   * put EtherBoot to a floppy disk / CD or into a flopy disk image / CD image
   * store the CD image / floppy disk image to a file   * store the CD image / floppy disk image to a file
-  * boot Bochs/​VMware and wait for the CD / floppy disk boot process.+  * start Bochs/​VMware and wait for the CD / floppy disk boot process
  
 But there are faster/​alternative methods to use EtherBoot in VMware and Bochs. But there are faster/​alternative methods to use EtherBoot in VMware and Bochs.
Line 29: Line 35:
 Now, I will show you the methods to make EtherBoot testing/​developing faster and easier: Now, I will show you the methods to make EtherBoot testing/​developing faster and easier:
  
-==== Alternative Method ==== 
  
-=== 1. Putting EtherBoot into VMware BIOS === 
  
-VMware is currently the only PC emulator with a commercial modular BIOS which can be easily modified. +==== Alternative Methods: ====
-Beside bochs, VMware is currently the best emulator for BIOS related developments,​ like building/​testing own Option ROM ideas/​projects.+
  
-( Inside ​$Microshits$ ​Virtual PC executable you can find an AMIBIOS resource which can also be modified with AMIBIOS modification utilities.+=== 1. Putting EtherBoot into the VMware BIOS === 
 + 
 +VMware is currently the only PC emulator with a commercial modular BIOS which can be easily modified.\\ 
 +Beside bochs, VMware is currently the best emulator for BIOS related developments,​ like building/​testing user-made Option ROMs ideas/​projects. 
 + 
 +\\ 
 +( Inside ​the "​Microsoft ​Virtual PC" ​executable you can find an AMIBIOS resource which can also be modified with AMIBIOS modification utilities.\\
 But there are huge restrictions:​ But there are huge restrictions:​
-  * never try any Option ROM / Extension ROM experiments --> after the modification ​Microshit's Virtual PC hangs while P.O.S.T. +  * never try any Option ROM / Extension ROM experiments --> after the modification ​Microsoft's Virtual PC hangs while P.O.S.T. 
-  * Virtual PC is generally just for Winshit. )+  * Virtual PC is generally just for Windows. ) 
 +\\ 
 +It is recommended to read the message threads below for an introduction:​ 
 +  * [[http://​www.vmware.com/​community/​thread.jspa?​threadID=10817&​start=0&​tstart=0|VMWare BIOS Modification / translation]] 
 +  * [[http://​www.vmware.com/​community/​thread.jspa?​threadID=28149&​tstart=0|VMware BIOS modification - for Linux users]]
  
 +After this, compile or download an EtherBoot ROM for the PCNET32 adapter (Vendor ID: 0x1022, DeviceID: 0x2000), because VMware emulates an AMD LANCE / PCNET adapter by default.
  
-To get introduced to the VMware BIOS modification,​ read the threads below: +After downloading/​compiling ​the AMD LANCE / PCNET32 EtherBoot ROM, open the extracted ​VMware BIOS file with the Phoenix ​BIOS Editor and add the EtherBoot ROM as a new Option ROM.
-[[http://​www.vmware.com/​community/​thread.jspa?​threadID=10817&​start=0&​tstart=0|VMWare ​BIOS Modification / translation]] +
-[[http://​www.vmware.com/​community/​thread.jspa?​threadID=28149&​tstart=0|VMware BIOS modification - for Linux users]]+
  
-After thisopen the extracted VMware BIOS file with the Phoenix BIOS Editor and add EtherBoot ROM as a new Option ROM. +Nextsave the modified BIOS file to a certain place and keep the path/​filename in mind.
- +
-Then, safe the modified BIOS file to a certain place and keep the path/​filename in mind.+
  
 The last step is to add following line: The last step is to add following line:
 <​file>​bios440.filename = "path to the modified BIOS file/BIOS file name"</​file>​ <​file>​bios440.filename = "path to the modified BIOS file/BIOS file name"</​file>​
- 
 ...to VMware'​s configuration file. ...to VMware'​s configuration file.
  
 === 2. Using EtherBoot as replacement for VMware'​s build-in network boot ROMs === === 2. Using EtherBoot as replacement for VMware'​s build-in network boot ROMs ===
  
-With some nonofficial ​switches, VMware 5 is able to emulate three different network ​cards:+VMware usually emulates an AMD LANCE network interface card. But with some non-official ​switches, VMware 5 is able to emulate three different network ​card types:
   * AMD Am79C970A - PCnet LANCE PCI Ethernet Controller   * AMD Am79C970A - PCnet LANCE PCI Ethernet Controller
   * Intel E1000   * Intel E1000
   * VMXNET - VMware PCI Ethernet Adapter   * VMXNET - VMware PCI Ethernet Adapter
  
-Each emulated network card has its own emulated network boot ROM. +In VMware, each emulated network card has its own emulated ​network Boot ROM. In this case the VMware developers decided to use the Intel PXE as network boot ROM code. 
-So, when it is already possible to emulate ​three different network cards why not also getting the control of their emulated BOOTROM / BOOTROM content? :)+ 
 +So, when it is already possible to choose between ​three different ​emulated ​network cardswhy not also getting the control of their emulated BOOTROM / BOOTROM content? :) 
 And why not replacing the default (PXE) network boot ROM with EtherBoot? :) And why not replacing the default (PXE) network boot ROM with EtherBoot? :)
  
Line 69: Line 80:
  
  
-Well, after playing/​testing with VMware, I could figure ​out many new undocumented switches.+Well, after playing/​testing with VMware, I could see that I also figured ​out sine new undocumented switches.
 Most of them were sent to [[http://​sanbarrow.com/​vmx.html|Sanbarrow]]. Most of them were sent to [[http://​sanbarrow.com/​vmx.html|Sanbarrow]].
-But I could see that I figured out some switches which are usefully for Option ROM / Extension ROM testing and usefully for EtherBoot development.+But I could see that I also figured out some switches which are usefully for Option ROM / Extension ROM testing and usefully for EtherBoot development.
  
 Here are the results: Here are the results:
  
 First, download or compile EtherBoot ROM for one or all of following network cards: First, download or compile EtherBoot ROM for one or all of following network cards:
-a) +  * a)<​file>​e1000:​e1000-82545em-copper -- [0x8086,​0x100f] 
-e1000:​e1000-82545em-copper -- [0x8086,​0x100f] +("​Intel E1000",​ Vendor ID: 8086 , Device ID: 100F)</​file>​ 
-("​Intel E1000",​ Vendor ID: 8086 , Device ID: 100F) +  ​* ​b)<​file>​pcnet32:​pcnet32 -- [0x1022,​0x2000] 
- +("AMD Am79C970A - PCnet LANCE PCI Ethernet Controller",​ Vendor ID:  1022 , Device ID: 2000 )</​file>​ 
-b) +\\ 
-pcnet32:​pcnet32 -- [0x1022,​0x2000] +  * <​file>​( Hint: There is currently no: "​c)",​ because ​EtherBoot sourcecode for the 
-("AMD Am79C970A - PCnet LANCE PCI Ethernet Controller",​ Vendor ID:  1022 , Device ID: 2000 ) +  ​VMXNET - VMware PCI Ethernet Adapter ​[Vendor ID:  15AD , Device ID: 0720] does not exist at the time. )</​file>​
- +
-( Hint: There is currently no EtherBoot sourcecode for the VMXNET - VMware PCI Ethernet Adapter Vendor ID:  15AD , Device ID: 0720 )+
  
  
Line 98: Line 107:
 </​file>​ </​file>​
  
-I spent nearly two hours to also prepare a [[http://bnobtc.pix-art.com/images/borgbios/vmware/​etherboot-in-vmware.gif|decent animation]],​ which shows the described method. :)+I spent nearly two hours to also prepare a [[http://img220.imageshack.us/img220/7897/etherbootinvmwaredx5.gif|decent animation]],​ which shows the described method. :)
  
 PS: PS:
Line 107: Line 116:
  
 === 3. Putting EtherBoot into Bochs === === 3. Putting EtherBoot into Bochs ===
-Because Bochs is also able to use additional Option ROMs, you can simply use this feature for EtherBoot testing and development.+The PC emulator (x86 emulator): "​Bochs"​ generally emulates a NE2000-compatible network card. Because Bochs is also able to use additional Option ROMs, you can simply use this feature for EtherBoot testing and development.
  
-After downloading a suitable EtherBoot ROM (for a NE2000-compatible Ethernet adapter), just add following line to a Bochs configuration file:+After compiling or downloading a suitable EtherBoot ROM (for a NE2000-compatible Ethernet adapter), just add following line to a Bochs configuration file:
 <​file>​ <​file>​
 optromimage1:​ file=../​etherboot.rom,​ address=0xd0000 optromimage1:​ file=../​etherboot.rom,​ address=0xd0000
 </​file>​ </​file>​
 Regarding to: "​loading Option ROMs", the current Bochs releases use an emulated BIOS which is not squeamish like general and commercial (Award/​AMI/​Phoenix) BIOS code. Regarding to: "​loading Option ROMs", the current Bochs releases use an emulated BIOS which is not squeamish like general and commercial (Award/​AMI/​Phoenix) BIOS code.
-This means that the Option ROM header (correct PCI vendor / Device ID / PCI class ID) will not be checked by Bochs' BIOS.+This means that the Option ROM header (correct PCI vendor / Device ID / PCI class ID) will not be checked by Bochs' BIOS.\\
 So, Bochs can load and run any kind of ISA/PCI Option ROMs without changing / modifying the Option ROM header before. So, Bochs can load and run any kind of ISA/PCI Option ROMs without changing / modifying the Option ROM header before.
  
- +\\
 Used links in the article and further interesting links: Used links in the article and further interesting links:
 +  * a) EtherBoot inside emulators/​VMs:​
 +    * [[http://​sourceforge.net/​mailarchive/​forum.php?​thread_id=11504279&​forum_id=48022]]
 +    * [[http://​sourceforge.net/​mailarchive/​forum.php?​thread_id=11529915&​forum_id=48022]]
 +    * [[http://​sourceforge.net/​search/?​ml_name=etherboot-discuss&​type_of_search=mlists&​group_id=4233&​words=vmware]]
 +    * [[http://​sourceforge.net/​search/?​ml_name=etherboot-discuss&​type_of_search=mlists&​group_id=4233&​words=bochs]]
  
-a) EtherBoot ​inside emulators/VMs: +  * b) 
-[[http://​sourceforge.net/​mailarchive/​forum.php?​thread_id=11504279&​forum_id=48022]] +    * EtherBoot ​Option ROM in VMware and further Option ROM related screenshots ​animations ​ 
-[[http://​sourceforge.net/​mailarchive/​forum.php?​thread_id=11529915&​forum_id=48022]] +[No longer available]
-[[http://​sourceforge.net/​search/?​ml_name=etherboot-discuss&​type_of_search=mlists&​group_id=4233&​words=vmware]] +
-[[http://​sourceforge.net/​search/?​ml_name=etherboot-discuss&​type_of_search=mlists&​group_id=4233&​words=bochs]]+
  
-b+  * c
-EtherBoot Option ROM in VMware and further Option ROM related screenshots / animations +    ​* ​[[http://www.vmware.com/​community/thread.jspa?​threadID=10817&​start=0&​tstart=0|VMWare BIOS Modification ​translation]]
-[[http://bnobtc.pix-art.com/​images/​borgbios/​vmware/​etherboot-in-vmware.gif]] +
-[[http://​bnobtc.pix-art.com/images/borgbios/​vmware]] +
-[[http://​bnobtc.pix-art.com/​images/​borgbios/romos]]+
  
-c) +  * d) 
-[[http://​www.vmware.com/​community/​thread.jspa?​threadID=10817&​start=0&​tstart=0|VMWare BIOS Modification / translation]] +    ​* ​[[http://​www.vmware.com/​community/​thread.jspa?​threadID=28149&​tstart=0|VMware BIOS modification - for Linux users]]
- +
-d) +
-[[http://​www.vmware.com/​community/​thread.jspa?​threadID=28149&​tstart=0|VMware BIOS modification - for Linux users]] +
- +
-e) Option ROM projects: +
-[[http://​bnobtc.pix-art.com/​en|"​Already realized Option ROM ideas"]]+
  
 +  * e) Option ROM projects:
 +    * [[[No longer available] --> "​Already realized Option ROM ideas"​]]
  
 +  * f)
 +    * [[http://​rayer.ic.cz/​romos/​romose.htm|ROMOS]]
  
 This article was created to help users, who want to use EtherBoot in VMware and/or bochs. This article was created to help users, who want to use EtherBoot in VMware and/or bochs.
 Furthermore it shows fast methods to test new added EtherBoot features with emulators / virtual machines. Furthermore it shows fast methods to test new added EtherBoot features with emulators / virtual machines.
 I decided to publish this article in the EtherBoot Mailing List, because this is the right place. I decided to publish this article in the EtherBoot Mailing List, because this is the right place.
 +
 +The Etherboot Wiki author Anselm (username: "​Stockholm"​) was allowed to add this article to the the EtherBoot Wiki.
  
 If you want to provide this article on other sites / in computer magazines, then get in contact with me before. If you want to provide this article on other sites / in computer magazines, then get in contact with me before.
Line 158: Line 166:
  
 --BIOS Tool Collection-- --BIOS Tool Collection--
 +
 --BIOS modification and realtime desktop help service-- --BIOS modification and realtime desktop help service--
-http://​bnobtc.pix-art.com+ 
 +[No longer available]
  
 --BIOS Logo Gallery-- --BIOS Logo Gallery--
-http://​bnobtc.pix-art.com/​bioslogo 
-http://​bnobtc.pix-art.com/​images/​bioslogo 
---  
  
 +[No longer available]

Navigation

* [[:start|Home]] * [[:about|About our Project]] * [[:download|Download]] * [[:screenshots|Screenshots]] * Documentation * [[:howtos|HowTo Guides]] * [[:appnotes|Application Notes]] * [[:faq:|FAQs]] * [[:doc|General Doc]] * [[:talks|Videos, Talks, and Papers]] * [[:hardwareissues|Hardware Issues]] * [[:mailinglists|Mailing lists]] * [[http://support.etherboot.org/|Bugtracker]] * [[:contributing|Contributing]] * [[:editing_permission|Wiki Edit Permission]] * [[:wiki:syntax|Wiki Syntax]] * [[:contact|Contact]] * [[:relatedlinks|Related Links]] * [[:commerciallinks|Commercial Links]] * [[:acknowledgements|Acknowledgements]] * [[:logos|Logo Art]]

QR Code
QR Code vmwarebios (generated for current page)