On 21 May 2002, Eric W. Biederman wrote:

> No but if you have ld newer that 1.10 you may have problems.

GNU ld version 2.11.90.0.8 (with BFD 2.11.90.0.8)
GNU ld version 2.11.90.0.8 (with BFD 2.11.90.0.8)

> Loading data a segment at 512K for 1824K bytes looks very suspcious.

I seems like it had coalesced all the data at 0x80000 up to the end of
ramdisk (I moved ramdisk to 0x200000 to avoid 8M+ elfImage files) and then
just loaded that to ram. But it does look strange.

> If it works the new mkelfImage should be more loader agnostic.
> In particular it should work just fine under etherboot as well.

fails under etherboot 5.0.5, with the error
Me: 10.0.4.22, Server: 10.0.4.1
Before loading kernel in load
Loading 10.0.4.1:/tftpboot/kernel (ELF)... segment in reserved area
Unable to load file.

Looks like etherboot is unhappy about an elfImage segment overlapping
0x94000, just judging by my reading of the source.

> What does readelf -a say about your image?

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  NOTE           0x001000 0x00080000 0x00080000 0x00208 0x00208 R   0x4
  LOAD           0x001000 0x00080000 0x00080000 0x1c40f6 0x1c83ae RWE
0x1000

 Section to Segment mapping:
  Segment Sections...
   00     .note
   01     .note .text .rodata .rodata.str1.1 .rodata.str1.32 .data .bss
.nokill
.kernel .ramdisk


Linuxbios seems to agree with readelf about the layout. Interesting.

Should it really be all merged like this?

ron

Reply via email to