Hi, I'm in the process of dusting off an old Geode GX1 thin client I have and upgrading it to coreboot v4. I had no problem building a new coreboot image (v4 is SO much easier than v2), but I'm having an issue with SeaBIOS and option ROMs. Since this is my first time working with SeaBIOS, I need a bit of help to bring this together. I built a PXE ROM for the onboard NIC, which is a NatSemi DP83815 (DEV/DID 100b/0020). I've tried both an iPXE image built from scratch, as well as a GPXE ROM from rom-o-matic. I added the ROM with cbfstool as documented at coreboot.org, and also added a bootorder file that lists the NIC first. However, when SeaBIOS calls the ROM, nothing seems to happen. See below, where it tries to boot from the ROM but fails almost immediately. It boots successfully from the local disk after the ROM returns. Any pointers as to what the issue is are appreciated.
Start bios (version rel-1.7.2.1-0-g88cb66e-20130924_201442-test-f14) Found mainboard DTRI WBTG Ram Size=0x07de0000 (0x0000000000000000 high) Relocating low data from 0x000e7330 to 0x000ef790 (size 2156) Relocating init from 0x000e7b9c to 0x07dc61f0 (size 40164) Found CBFS header at 0xfffffd30 CPU Mhz=295 Found 8 PCI devices (max PCI bus is 00) No apic - only the main cpu is present. Copying SMBIOS entry point from 0x07de1400 to 0x000fd6c0 Scan for VGA option rom OHCI init on dev 00:13.0 (regs=0xfebf1000) Found 1 lpt ports Found 2 serial ports ATA controller 1 at 1f0/3f4/0 (irq 14 dev 92) ATA controller 2 at 170/374/0 (irq 15 dev 92) ata0-0: FUJITSU MHT2060AT ATA-6 Hard-Disk (57231 MiBytes) Searching bootorder for: /pci@i0cf8/*@12,2/drive@0/disk@0 Got ps2 nak (status=51) All threads complete. Scan for option roms Running option rom at c000:0003 pnp call arg1=60 pmm call arg1=0 pmm call arg1=2 pmm call arg1=0 Searching bootorder for: /pci@i0cf8/*@15
Press F12 for boot menu.
Searching bootorder for: HALT drive 0x000fd670: PCHS=16383/16/63 translation=lba LCHS=1024/255/63 s=117210240 Space available for UMB: 000c0800-000ef000 Returned 65536 bytes of ZoneHigh e820 map has 5 items: 0: 0000000000000000 - 000000000009fc00 = 1 RAM 1: 000000000009fc00 - 00000000000a0000 = 2 RESERVED 2: 00000000000f0000 - 0000000000100000 = 2 RESERVED 3: 0000000000100000 - 0000000007de0000 = 1 RAM 4: 0000000007de0000 - 0000000007e00000 = 2 RESERVED enter handle_19: NULL Booting from ROM... Booting from c000:0336 enter handle_18: NULL Booting from Hard Disk... Booting from 0000:7c00 Press any key to continue.
On Tue, Oct 29, 2013 at 01:20:38PM -0700, Jonathan Sturges wrote:
Hi,
I'm in the process of dusting off an old Geode GX1 thin client I have and upgrading it to coreboot v4. I had no problem building a new coreboot image (v4 is SO much easier than v2), but I'm having an issue with SeaBIOS and option ROMs. Since this is my first time working with SeaBIOS, I need a bit of help to bring this together.
I built a PXE ROM for the onboard NIC, which is a NatSemi DP83815 (DEV/DID 100b/0020). I've tried both an iPXE image built from scratch, as well as a GPXE ROM from rom-o-matic. I added the ROM with cbfstool as documented at coreboot.org, and also added a bootorder file that lists the NIC first. However, when SeaBIOS calls the ROM, nothing seems to happen. See below, where it tries to boot from the ROM but fails almost immediately. It boots successfully from the local disk after the ROM returns. Any pointers as to what the issue is are appreciated.
I don't see anything in the log that indicates a problem. I suggest you recompile seabios with a debug level of 8 to get more info. Also, please grab the latest version of seabios. Finally, what does the boot menu show if you hit F12 during boot?
-Kevin
Thanks Kevin, And sorry for the late reply to this, as I've only been working on it sporadically.
I haven't made much progress. I've had a few issues getting an updated SeaBIOS installed as a payload. There are only 2 selections for SeaBIOS in coreboot's menuconfig: 1.7.2.1 and "master." I selected "master" this time and seem to get version "rel-1.7.3-91-gc21dce3-20131004_231309", which looks like it's from early October. However, same results with this release. Should 1.7.3 be good enough?
I next checked out and built a separate SeaBIOS ELF image, so I could have the absolute latest SeaBIOS AND set debug to 8 (Coreboot doesn't seem to have the SeaBIOS debug level available via menuconfig). But, I've been unable to get Coreboot to build if I select an ELF payload via menuconfig and supply the path to my bios.bin.elf; it only builds when selecting SeaBIOS as the payload directly via menuconfig.
As for F12… I got nothing when I did this, so I imagine I need to try a different terminal emulator; I was using PuTTY on Win7. I'll try some different emulators and post what I find.
thanks, Jonathan
On Tuesday, October 29, 2013 6:58 PM, Kevin O'Connor kevin@koconnor.net wrote:
On Tue, Oct 29, 2013 at 01:20:38PM -0700, Jonathan Sturges wrote:
Hi,
I'm in the process of dusting off an old Geode GX1 thin client I have and upgrading it to coreboot v4. I had no problem building a new coreboot image (v4 is SO much easier than v2), but I'm having an issue with SeaBIOS and option ROMs. Since this is my first time working with SeaBIOS, I need a bit of help to bring this together.
I built a PXE ROM for the onboard NIC, which is a NatSemi DP83815 (DEV/DID 100b/0020). I've tried both an iPXE image built from scratch, as well as a GPXE ROM from rom-o-matic. I added the ROM with cbfstool as documented at coreboot.org, and also added a bootorder file that lists the NIC first. However, when SeaBIOS calls the ROM, nothing seems to happen. See below, where it tries to boot from the ROM but fails almost immediately. It boots successfully from the local disk after the ROM returns. Any pointers as to what the issue is are appreciated.
I don't see anything in the log that indicates a problem. I suggest you recompile seabios with a debug level of 8 to get more info. Also, please grab the latest version of seabios. Finally, what does the boot menu show if you hit F12 during boot?
-Kevin
Dear Jonathan,
first, could you please adhere to the netiquette [1]? Please configure the Yahoo Web client to send plain text messages and no HTML messages. Also please use interleaved style for replying.
Am Dienstag, den 12.11.2013, 15:58 -0800 schrieb Jonathan Sturges:
[…]
I haven't made much progress. I've had a few issues getting an updated SeaBIOS installed as a payload. There are only 2 selections for SeaBIOS in coreboot's menuconfig: 1.7.2.1 and "master." I selected "master" this time and seem to get version "rel-1.7.3-91-gc21dce3-20131004_231309", which looks like it's from early October. However, same results with this release. Should 1.7.3 be good enough?
The »-91« means that 91 commits have been applied an top of tag 1.7.3. So it is indeed latest master when you build it.
$ git show --format=fuller --stat c21dce3 commit c21dce35058fd55e70d1d379dd0e62ec71f187aa Author: Kevin O'Connor kevin@koconnor.net AuthorDate: Sat Oct 26 11:56:24 2013 -0400 Commit: Kevin O'Connor kevin@koconnor.net CommitDate: Sat Oct 26 11:56:24 2013 -0400
Minor - eliminate the SET_GLOBAL macro.
Remove the SET_GLOBAL macro - it is no longer used and since it was only available in "32bit flat" mode it does not have much use.
Signed-off-by: Kevin O'Connor kevin@koconnor.net
README | 21 ++++++++++----------- src/biosvar.h | 4 ---- 2 files changed, 10 insertions(+), 15 deletions(-)
I next checked out and built a separate SeaBIOS ELF image, so I could have the absolute latest SeaBIOS AND set debug to 8 (Coreboot doesn't seem to have the SeaBIOS debug level available via menuconfig). But, I've been unable to get Coreboot to build if I select an ELF payload via menuconfig and supply the path to my bios.bin.elf; it only builds when selecting SeaBIOS as the payload directly via menuconfig.
Could you please send a report with the build logs to the coreboot mailing list? That would be great.
[…]
Thanks,
Paul