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@tyan.com To: Stefan Reinauer stepan@suse.de Cc: linuxbios@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