Deepak Kotian wrote:
If I see the Makefile, the romimage is done using cat payload linixbios >romimage. 1. Why is the payload stuck before linuxbios, any specific reason ?
Linuxbios has to be the last bit of code in your rom image. See the recient thread on how the x86 starts up. You have to have startup code located at that upper address or you will be attempting to run data.
Plus most chipsets will only assert the BIOS rom chipselect for specific address ranges. So you have to have your bios code located in those ranges or your rom won't be selected.
Basically its a hardware thing. Linuxbios (or at least the startup code) needs to be located in the last 64k of address space.
2. Is there some specific addressing rule one needs to flow when making/burning the payload and linuxbios , basically the sizing?
That's kinda board specific. Depends on how the chipset works and the size of your rom. For example on my board I have 2 512KiB roms. So I have to tweak ROM_IMAGE_SIZE and PAYLOAD_SIZE such that they equal 512KiB which locates linuxbios in the right spot.
3. I assume that the entherboot payload is also copied to RAM , is this correct ?
Yes.
If yes, is there a way to know, if it is done properly.
Sure. If it boots its probally done correctly. *grin* There are a few other items you can use to test though.
1) is the ramtest.inc code. Include it directly after you get ram setup.
see freebios/src/ram/ramtest.inc
When I was using this I had the following in my mainboard config file dirctly after my northbridge and southbridge inits
mainboardinit ram/ramtest.inc mainboardinit mainboard/bitworks/rim/do_ramtest.inc
where do_ramtest.inc calls the ram test routine.
2) Is to build memtest86 as an elfimage and boot that. Memtest does extensive memory testing. Of course you need elfboot working first.