Eric,
Thanks for the quick response.
- If enable RELOCATION: got error: It can not calculate the file
size, and
keep print " 61:rom_read_bytes() - skipping block 16"
The only difference in the loader that looks relevant is the second PT_LOAD segment now has a size. You are not running mkelfImage on the etherboot file are you? That is only need for the Linux kernel.
Yes, I didn't mkelfImage, I only use that to transfer kernel and add some tags, at last the ELF files is put into the boot server's /tftpboot.
In the Config, You said that 5.2 need all drivers to support RELOCATION. So Does the E1000 driver support RELOCATION yet?
Your snippet is for RELOCATION or not?
Regards
Yinghai Lu
-----�ʼ�ԭ��----- ������: Eric W. Biederman [mailto:eric@lnxi.com] ���� Eric W. Biederman ����ʱ��: 2003��6��14�� 9:23 �ռ���: YhLu ����: ron minnich; linuxbios@clustermatic.org; Etherboot Developers ����: Re: ��: High-End Desktop Support
YhLu YhLu@tyan.com writes:
Eric and Ron,
I can get into the Etherboot now. But I meet problem again:
Etherboot 5.0.10 (Last Product version) only support Intel 82544. Tyan
s2725
uses Intel 82646EB. (DeviceID is ox1010). So It said" No Adapter found".
Etherboot 5.1.8 seems support 82546, But I found
- can not make EBI, have to use ELF. It is around 30KB.
Correct. You can also make zelf if that helps. There was a naming cleanup in the extensions used by etherboot.
- If disable RELOCATION : got error: NO HEAP FOUND.
Something is very wrong here even though etherboot got loaded. There are PT_LOAD segments. Etherboot only has one. Something looks corrupted.
- If enable RELOCATION: got error: It can not calculate the file
size, and
keep print " 61:rom_read_bytes() - skipping block 16"
The only difference in the loader that looks relevant is the second PT_LOAD segment now has a size.
You are not running mkelfImage on the etherboot file are you? That is only need for the Linux kernel.
My Question is:
- When do you plan to support 82546? In 5.0.11 or 5.2.0.
5.0.x never. GigE drivers are to large, to easily support there. Plus the LinuxBIOS support isn't half as good in 5.0.x.
As for 5.2.x whenever there is enough consensus among the developers that we are there. We are quite close but...
p.s. Someone remind me to put calculate the checksum on the etherboot image in apply_elf_prefix...
- Is there any easy way to modify 5.0.10 to make it work with Intel
82546?
No.
Here is a snippet of what the loader Loading etherboot should look like. ------------------------------
Found ELF candiate at offset 0 Loading Etherboot version: 5.1.8pre5 Dropping non PT_LOAD segment New segment addr 0x20000 size 0x21aa2 offset 0xc0 filesize 0x61de (cleaned up) New segment addr 0x20000 size 0x21aa2 offset 0xc0 filesize 0x61de Loading Segment: addr: 0x0000000000020000 memsz: 0x0000000000021aa2 filesz: 0x00000000000061de Clearing Segment: addr: 0x00000000000261de memsz: 0x000000000001b8c4 Jumping to boot code at 0x20000 ROM segment 0xdffe length 0xd050 reloc 0x00020000
222222222222222222222222222222222222222222222222222 Welcome to elfboot, the open sourced starter. January 2002, Eric Biederman. Version 1.2
37:init_bytes() - zkernel_start:0xffff0000
zkernel_mask:0x0000ffff
Found ELF candiate at offset 0 Dropping non PT_LOAD segment New segment addr 0x20000 size 0x10e80c3 offset 0xb0 filesize 0x755c (cleaned up) New segment addr 0x20000 size 0x10e80c3 offset 0xb0
filesize
0x755c
Loading Segment: addr: 0x000000003ffca7e8 memsz: 0x000000000000ec0c
filesz:
0x00 0000000000755c Clearing Segment: addr: 0x000000003ffd1d44 memsz: 0x00000000000076b0 Loading Segment: addr: 0x000000000002ec0c memsz: 0x00000000010d94b7
filesz:
0x00 00000000000000 Clearing Segment: addr: 0x000000000002ec0c memsz: 0x00000000010d94b7 Jumping to boot code at 0x20000 ROM segment 0x0000 length 0xfbf8 reloc 0x00020000 CPU 1343 Mhz Etherboot 5.1.8 (GPL) Tagged ELF (Multiboot) for [E1000] init_heap: No heap found.
22222222222222222222222222222222222222222222222222222222222222222
333333333333333333333333333333333333333333333333333333333333333333333333 33
Welcome to elfboot, the open sourced starter. January 2002, Eric Biederman. Version 1.2
37:init_bytes() - zkernel_start:0xffff0000
zkernel_mask:0x0000ffff
Found ELF candiate at offset 0 Dropping non PT_LOAD segment New segment addr 0x20000 size 0x1106000 offset 0xb0 filesize 0x76bcc3 (cleaned up) New segment addr 0x20000 size 0x1106000 offset 0xb0
filesize
0x76bc c3 Loading Segment: addr: 0x000000003ffca7e8 memsz: 0x000000000000ec0c
filesz:
0x00 0000000000ec0c Loading Segment: addr: 0x000000000002ec0c memsz: 0x00000000010f73f4
filesz:
0x00 0000000075d0b7 61:rom_read_bytes() - skipping block 16 61:rom_read_bytes() - skipping block 16 61:rom_read_bytes() - skipping block 16 61:rom_read_bytes() - skipping block 16 61:rom_read_bytes() - skipping block 16 61:rom_read_bytes() - skipping block 16 61:rom_read_bytes() - skipping block 16
333333333333333333333333333333333333333333333333333333333333333333333333 3333
3
-----�ʼ�ԭ��----- ������: YhLu ����ʱ��: 2003��6��13�� 0:27 �ռ���: ron minnich; ebiederman@lnxi.com ����: linuxbios@clustermatic.org ����: ��: High-End Desktop Support
Eric,
I am working on porting linuxbios to Tyan s2725. The southbridge is
ICH5.
I have copied 82801ca to 82801er. And update pci_ids.h to add some
ICH5
device id.
I compare the Intel whitepaper, only need to comment out several line
in
ich5_ioapi.c. because ICH5 has no operation to index 3 reg.
I didn't initialize USB and Serial ATA.
I used e1000.ebi from Etherboot 5.0.8.
I only got the following result. The ebi size is 18164, so I set ROM_IMAGE_SIZE to 46*1024.
I wonder why the size if not right: 0x4564 = 17764. But the EBI is
18164.
Regards
Yinghai Lu
Console output:
Welcome to elfboot, the open sourced starter. January 2002, Eric Biederman. Version 1.2
37:init_bytes() - zkernel_start:0xffff0000
zkernel_mask:0x0000ffff
Found ELF candiate at offset 0 New segment addr 0x94000 size 0x7168 offset 0x60 filesize 0x4564 (cleaned up) New segment addr 0x94000 size 0x7168 offset 0x60 filesize 0x4564 Loading Segment: addr: 0x0000000000094000 memsz: 0x0000000000007168
filesz:
0x00 00000000004564 Clearing Segment: addr: 0x0000000000098564 memsz: 0x0000000000002c04 Jumping to boot code at 0x������������������������������������������������������
������������������������������������������������������������������������ ����