Hdama + etherboot problems

Craig C Forney cforney at opus.com
Wed Oct 8 03:20:01 CEST 2003


I am attempting to get through the logistics of getting Linuxbios
working on an Arima HDAMA board.  I have run into a few problems, some
of which I have been able to solve, and some of which have me stumped.

I'm compiling everything on a stock SuSE 8.2 Professional release with
the stock compilers on an Intel-based laptop (I ran into problems
earlier trying to make the Linuxbios native on the Arima board, as there
are some in-line assembly code issues that still need to be resolved).

I've been able to create a linuxbios.rom using the latest code from
sourceforge (earlier today).  I changed raminit.c to accommodate 200Mhz
registered memory (this case is missing in raminit.c), as this is the
memory that I have.  I downloaded etherboot 3.0 (5.3.1) from
www.etherboot.org and compiled ide_disk.zelf (using the -DCONFIG_X86_64
option), and then used ide_disk.zelf as the payload in creating
linuxbios.rom.

I programmed a FLASH part with linuxbios.rom and turned on the machine.
It goes through what looks like reasonable startup stuff, finds the
etherboot payload, loads it, and tries to run it.  It then appears to go
back and reboot before anything interesting is reported happening in
etherboot, and then repeats this cycle forever.

I don't like the looks of the irq_routing_table checksum error, but I'm
not sure if it is a problem or not, at this point.  I notice that during
compilation that the table has been set to be short compared to the
initializers and gets a warning.  Increasing the size, and making the
compile errors go away does not seem to get rid of the checksum issue
during run time.

The last part of the output before loading etherboot follows:

------------------------------------------------ Output to serial port
Setting up local apic... apic_id: 16777216 done.
CPU #1 Initialized
secondary_cpu_init  1/1
All AP CPUs stopped
Checking IRQ onsistent IRQ routing table size
/usr/src/freebios2/src/arch/i386/boot/pirq_routing.c:
29:check_pirq_routing_table() - irq_routing_table located at: 0x0000b8e0
/usr/src/freebios2/src/arch/i386/boot/pirq_routing.c:
37:check_pirq_routing_table() - checksum is: 0x35 but should be: 0x48
/usr/src/freebios2/src/arch - checksum error in irq routing table
done.
Copying IRQ routing tables to 0xf0000...done.
Verifing priq routing tables copy at 0xf0000...succeed
Wrote the mp table end at: 00000020 - 00000224
Wrote linuxbios table at: 00000500 - 00000af0  checksum 4540

Welcome to elfboot, the open sourced starter.
January 2002, Eric Biederman.
Version 1.3

Found ELF candiate at offset 0
Loading Etherboot version: 5.3.1
Dropping non PT_LOAD segment
New segment addr 0x20000 size 0x18817 offset 0xb0 filesize 0x3cea
(cleaned up) New segment addr 0x20000 size 0x18817 offset 0xb0 filesize
0x3cea
Loading Segment: addr: 0x0000000000020000 memsz: 0x0000000000018817
filesz: 0x0000000000003cea
Clearing Segment: addr: 0x0000000000023cea memsz: 0x0000000000014b2d
Jumping to boot code at 0x20000
Copying LinuxBIOS to ram.
Jumping to LinuxBIOS.
LinuxBIOS-1.1.4.0Fallback Tue Oct 7 16:22:20 PDT 2003 rebooting...
------------------------------------------------ End of output

I'd appreciate any advice on what I might be doing wrong.  I tried to
use the ide_disk.zelf from YH that was sent out yesterday (below), but I
was not able to get it to work at all (the decoded file was not in ELF
format, and was not recognized by Linuxbios as a valid ELF file.)   I'd
like to get another copy of tg3--ide_disk.zelf, if possible.

> From: YhLu <YhLu at tyan.com>
> To: Stefan Reinauer <stepan at suse.de>
> Cc: linuxbios at clustermatic.org
> Subject: re: K8 MTRR reboot on Solo
> Date: Mon, 6 Oct 2003 10:37:26 -0700
> 
> This message is in MIME format. Since your mail reader does
> not understand this format, some or all of this message may 
> not be legible.
> 
> ------_=_NextPart_000_01C38C30.8253BA70
> Content-Type: text/plain;
> 	charset="GB2312"
> Content-Transfer-Encoding: quoted-printable
> 
> I enabled it, and use X86-64 bin to make elf image with
> mkelfimage 2.5.
> 
> Please try my zelf instead.
> 
> Regards
> 
> YH.
> 

I'm not sure what "use X86-64 bin to make elf image with mkelfimage 2.5"
means above.  Is this critical, or is the zelf created by the etherboot
code acceptable?

Also, I would like to get memtest86 to work as a payload too, but I'm
not sure what I need to do to make that work.  I was able to make the
modifications necessary to get it to run on the Opteron when loaded from
the stock Arima Phoenix BIOS.

Any assistance or advice on these problems appreciated.  I'm sure I am
overlooking some things here.

I apologize for the long-windedness of all this.

Regards,

Craig Forney
Opus Innovations LLC 





More information about the coreboot mailing list