Greetings,
It looks like the fallback image is being built wrong.
This can be hacked together manually. linuxbios.strip should be the actual LinuxBIOS code. The objective is to assemble a 64K (exactly) block containing:
1. etherboot 2. null padding (can be generated with dd if=/dev/zero) 3. linuxbios.strip.
I just use calctool to figure out how much padding to use and cat eepro100.elf pad linuxbios.strip >fallback.bin
the 64K fallback.bin can then be appended to the primary image to get the full rom image.
That's a little ugly, but it should get the job done.
Just as a final verification, in linuxbios.map, ZKERNEL_START for the fallback image should be 0xffff0000. That is whjere it will look for the fallback etherboot. Also, it will ljmp to ZKERNEL_START-8 to transfer control to the primary image. I'm slowly trying to disentangle that on the boards I have. Unfortunatly, I don't have a P4DPE.
G'day, sjames
On Fri, 11 Apr 2003, Atherton, Stephen wrote:
Ron and James, thanks for clueing me in on the fallback image stuff. I'm still not quite doing something right though, it seems.
My config files are below. I based these on the samples in mainboard/supermicro/p4dpe. The fallback image is 81k and contains the etherboot payload...this doesn't seem right to me but I don't know what else to do. If I don't specify the etherboot payload, it tries to use vmlinux which is much, much bigger.
So I run the config script on both files, then go to the fallback/ and primary/ directories and run make, and I get a primary romimage of 458752 bytes and a fallback image of 81920 bytes. That doesn't seem right. What am I doing wrong? Oh and though I was doubtful, I did do a "cat primary/romimage fallback/romimage > finalimage" and burned the final image.
Also, from the looks of the makeprocess my two image files are basically the same binary stuff but one has a lot of null padding. They both contain the eepro100 elf image and linuxbios.rom...
Anyone see what is wrong with this picture?
-Steve
fallback.config --------------------------------------------
target ./fallback mainboard supermicro/p4dpe option USE_FALLBACK_IMAGE=1 option ROM_SIZE=524288 option ROM_IMAGE_SIZE=49152 option SERIAL_CONSOLE=1 option TTYS0_BAUD=9600 option TTYS0_BASE=0x3f8 option TTYS0_LCS=0x3 option DEFAULT_CONSOLE_LOGLEVEL=9 option MAXIMUM_CONSOLE_LOGLEVEL=6 option USE_ELF_BOOT=1 option USE_GENERIC_ROM=1 payload ../eepro100.elf option CPU_CLOCK_MULTIPLIER=XEON_X8 option MAINBOARD_POWER_ON_AFTER_POWER_FAIL=MAINBOARD_POWER_ON
primary.config --------------------------------------------------
target primary mainboard supermicro/p4dpe linux /usr/src/linux-2.4.18-14 commandline root=/dev/hda2 console=ttyS0,9600 single option USE_FALLBACK_IMAGE=0 option ROM_SIZE=524288 option ROM_IMAGE_SIZE=49152 option SERIAL_CONSOLE=1 option TTYS0_BAUD=9600 option TTYS0_BASE=0x3f8 option TTYS0_LCS=0x3 option DEFAULT_CONSOLE_LOGLEVEL=9 option MAXIMUM_CONSOLE_LOGLEVEL=8 option USE_ELF_BOOT=1 option BOOT_IDE=1 payload ../eepro100.elf option CPU_CLOCK_MULTIPLIER=XEON_X8 option MAINBOARD_POWER_ON_AFTER_POWER_FAIL=MAINBOARD_POWER_ON