Thread: Re: [Etherboot-developers] Building a ROM
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: Marty C. <md...@th...> - 2001-02-03 21:25:36
|
On 2/3/2001 2:46 PM Wolf, Paul Wo...@Ul... wrote:
>I am trying to rebuild the Etherboot 4.6.12 project. I need to add some
>space in the ROM write after the header info and before the boot INT19 code.
>I enabled the AS86 flag in the MAKEFILE but it gives me an error when it
>does MAKEROM. The error is 1024 is a strange size for a ROM. I have not mad
>any code changes yet, I am just trying to see if I can build the code. Any
>help would be great!
What gcc version and distribution are you using? Could you provide the
output from make? This information may allow us to spot the problem.
If I were to venture a guess, I'd say you somehow managed to get
something in the space where makerom expected a PCI or PNP header field
(probably the "size" header field.
Of course, it's hard to know what your modifications are and how they
might have confused makerom if you don't provide the source code for them
:-)
Marty
---
Try: http://rom-o-matic.net/ to make Etherboot images instantly.
Name: Martin D. Connor
US Mail: Entity Cyber, Inc.; P.O. Box 391827; Cambridge, MA 02139; USA
Voice: (617) 491-6935, Fax: (617) 491-7046
Email: md...@th...
Web: http://www.thinguin.org/
|
|
From: Marty C. <md...@th...> - 2001-02-04 20:10:07
|
Are you on the Etherboot developers list? I'd prefer to hold this conversation on the list if possible, because if someone else has the problem the answer may be heard by them. On 2/4/2001 10:30 AM Wolf, Paul Wo...@Ul... wrote: >I have not made any changes yet to the source code, I am just trying to >build the project. I reloaded the 4.6.12 code just to make sure I have good >copy. I am not sure what gcc and distribution is? I am building this on a >LINUX box with 6.x revision. (I am home right now don't know the revision). What kind of Linux? You mean Red Hat, Suse, Mandrake? gcc --version will tell you the version of the compiler. >Just a little history, We are a POS (point of sale) hardware manufacture. I >have been working with a major retailer to create a Linux kernel that will >load onto a diskless PC to run a browser. They have a AIX Unix host. We >have been successful doing this with PXE. But I would like to use >EtherBoot. >I have used ROM-O-Matic to build a ROM for RealTek 8139B and the >Bios does not detect it. But it does detect the PXE if I append it to the >BIOS or use the BOOT ROM on the integrated network card. What BIOS is it? How old is the BIOS? Is it a PnP compatible BIOS? And how long ago did you get the ROM from ROM-o-matic.net? If it has been more than a week, please try again. I added a PnP patch, which should help with detection. >I have looked at >the header data in PXE and EB. They have some differences. So what I want >to do is rebuild the EB with some header changes. But I cant get the raw >code to rebuild if I enable the ASM flags. Would you kindly stop describing the problem and simply supply actual output? With due respect, messages saying "I did everything right and it doesn't work" without debugging output are both pointless and irritating. If you could show us your Makefile and the output of make, we could try to reproduce your problem. You could have a simple typo -- we all make mistakes. You could be trying to use a known bad version of GCC or AS86. Send input, output, and tool versions, please! >Also I created a COM file with EB and moved it to a floppy and it works >great, so I know it will work if I can fix the header up. It does sound like a PnP header problem. On my RedHat 6.2 and 7.0 systems, I am able to recompile Etherboot without problems by uncommenting the single AS86 define in the Makefile which says us 'as86'. What you might try is downloading 4.7.18 from etherboot.sourceforge.net and seeing if that fixes your problem. 4.6.12 does not have the PnP patch included, and so you have to apply it manually by getting the patch from the patch manager on sourceforge and applying it manually. I applied the patch to rom-o-matic's 4.6.12 and 4.7.17 about a week ago, so they should be generating PnP compliant ROMs. Compare a 4.6.12 ROM from ROM-o-matic.net to what you have now. You also need to run the RSET8139.EXE DOS (or equivalent) program to configure your 8139 (even if it is on the motherboard). This program allows one to enable the ROM and set the size of it. Unless you do this, the BIOS will not detect it. I hope this is of some help to you. I hope also you understand my frustration at trying to help you debug without any hard data. Let us know how it goes... Marty --- Try: http://rom-o-matic.net/ to make Etherboot images instantly. Name: Martin D. Connor US Mail: Entity Cyber, Inc.; P.O. Box 391827; Cambridge, MA 02139; USA Voice: (617) 491-6935, Fax: (617) 491-7046 Email: md...@th... Web: http://www.thinguin.org/ |
|
From: Ken Y. <ke...@nl...> - 2001-02-05 22:59:27
|
|The problem will be one of: |- Your code patches are being interpreted as the "third byte" of the option |ROM, and are the source of the 1KB size. Make sure that the first three |bytes of the binary code you are feeding to makeROM are "0x55, 0xAA, <size |in 512 byte blocks>" (from "loader.S"). |- You fed a small piece of "test" code to makerom to check it's operation, |and although the first three bytes are correct, the overall size of this |code _is_ 1KB. Or he was using a buggy version of as86 and the starting bytes are not 55 AA at all. I have added a check for this to makerom.c so that it will give the appropriate message in this case. |