Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Solved] iPXE for MS VPC 2007 not working
2013-04-09, 23:00 (This post was last modified: 2013-04-19 11:04 by Gelip.)
Post: #1
[Solved] iPXE for MS VPC 2007 not working
I making iPXE ROM 10110009.rom with serial console 19200 for NIC MS VirtualPC 2007 to replace original ARGON option rom. After replace this option rom in VirtualPC.exe file - module BIOS 13502 - can not use this. In BIOS not view this option to set boot order. I make other option rom - MROM and after insert to VPC this option is available in BIOS and while boot have message like in attach image. It is probably problem with size 69KB. I maked test:
1. Extracted original ARGON PCI module from VirtualPC.exe 44,5KB
2. In hex editor increased size by inserting 00's at end of rom to 65KB - 66560 bytes - 512x130 DEC - 200x82 HEX
3. Correct size 55 AA 82 and calculate checksum 8-bit (inserting D7 at end offset) and now checksum 8-bit is 00
4. Now after insert this to VirtualPC.exe module is not available in BIOS.
Please help me make decrease size of iPXE with have serial console 19200. I now that need config files like: general.h and maybe other in ipxe/src/config folder. Please help me make or make for me 10110009.rom smaller than 64KB


Attached File(s) Thumbnail(s)
   
Find all posts by this user
Quote this message in a reply
2013-04-10, 10:48
Post: #2
RE: iPXE for MS VPC 2007 not working
As I mentioned on IRC, removing IMAGE_BZIMAGE and DOWNLOAD_PROTO_HTTP in general.h should probably get you there. Setting the configuration of the serial console is done in console.h file in same location. I believe it should be obvious what the different settings do. Just remember that enabling serial console in iPXE if you also have serial redirection in your BIOS will get you double output. It's probably better to use the BIOS redirection in that case.

You might want to use the tool src/util/padimg.pl to pad the ROM in the proper way. I'm not sure if your method is correct or wrong. Usually the ROM needs to be aligned to a certain number (commonly 4K, 4096). That tool is at least supposed to do The Right Thing.

I'm not familiar with VirtualPC, maybe someone else here as experience modding its BIOS.
Visit this user's website Find all posts by this user
Quote this message in a reply
2013-04-10, 14:36 (This post was last modified: 2013-04-10 15:02 by Gelip.)
Post: #3
RE: iPXE for MS VPC 2007 not working
Option IMAGE_BZIMAGE is default disabled in general.h (//#define). Option DOWNLOAD_PROTO_HTTP is cool and I want use this. I have gPXE 40KB 10ec8139.rom with this options:
Code:
CONSOLE_PCBIOS
DOWNLOAD_PROTO_TFTP
DOWNLOAD_PROTO_HTTP
DNS_RESOLVER
IMAGE_PXE
IMAGE_SCRIPT
AUTOBOOT_CMD

Interestly that the same options for gPXE 10110009.rom have 45KB - 5KB more!? The above-mentioned functions I need to iPXE. I need disable other function like Wifi, iSCSI but after disable this - size of module is still above 64KB :-( for 10110009.rom ofcourse. Topic is about MS VPC.

Quote:Just remember that enabling serial console in iPXE if you also have serial redirection in your BIOS will get you double output. It's probably better to use the BIOS redirection in that case.

I not understand this. I have old PC from 2000 year with AWARD BIOS 6.00PG and in this BIOS not have SERIAL redirection. I use SERIAL with GRUB4DOS + menu.lst or PXELINUX + default like this:
menu.lst
Code:
serial --unit=0 --speed=19200
terminal --timeout=5 serial console
timeout 60
default 0
default
Code:
SERIAL 0 19200
Find all posts by this user
Quote this message in a reply
2013-04-10, 15:41 (This post was last modified: 2013-04-10 20:26 by Gelip.)
Post: #4
RE: iPXE for MS VPC 2007 not working
OK, working :-) I make iPXE 59KB with SERIAL CONSOLE 19200. The problem was that wrong configure general.h file :-). To disable all functions I used comment "//" for #define and #undef e.g. iSCSI default is:
Code:
//#undef    SANBOOT_PROTO_ISCSI    /* iSCSI protocol */
I thought that this setting disables iSCSI feature - wrong! To disable iSCSI function need uncomment this line :-)


Attached File(s) Thumbnail(s)
           
Find all posts by this user
Quote this message in a reply
2017-04-09, 05:56 (This post was last modified: 2017-04-09 08:58 by Gelip.)
Post: #5
RE: iPXE for MS VPC 2007 not working
(2013-04-10 10:48)robinsmidsrod Wrote:  Usually the ROM needs to be aligned to a certain number (commonly 4K, 4096).
It seems that 2KB rather than 4KB:
Quote:The BIOS Boot Specification (BBS) requires that option ROMs be aligned to 2kB boundaries (e.g. segments C800, C880, C900, C980, etc.).
MS VPC 2007 SP1 has limited PCI Option ROM to 64KB - probably this is AMI BIOS limit: Adding gPXE to an AMI BIOS
ARGON can be replaced to iPXE in two ways:
  • replacing resource 13502
    [Image: 9167613m.png]
  • adding option ROM ID 20 in MMTool Lite 2.22.1beta to resource 13500 and deleting resource 13502
    [Image: 9114362m.png] [Image: 9169661m.png]
This also applies to gPXE. This tutorial should be fixed:
Quote:( 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:

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 Windows. )
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)