1) If I use coreboot's "Run VGA Option ROMs", I can get VGA up and the first thing displayed is one text line of something like "SeaBIOS Version...".
And then I usually get some of my other PCI devices option roms executing as well on the VGA display.
But when I turn "Run VGA & other Option ROMs" off in Coreboot and then modify SeaBIOS config.h with any of these options:
// Support finding and running option roms during post. #define CONFIG_OPTIONROMS 1 // Set if option roms are already copied to 0xc0000-0xf0000 #define CONFIG_OPTIONROMS_DEPLOYED 0 // When option roms are not pre-deployed, SeaBIOS can copy an optionrom // from flash for up to 2 devices. #define OPTIONROM_VENDEV_1 0x00000000 #define OPTIONROM_MEM_1 0xf9000000 #define OPTIONROM_VENDEV_2 0x00000000 #define OPTIONROM_MEM_2 0x00000000
I get no VGA display. I even tried specifying the address of PCI VGA 01:00, but I don't know if I have the correct address of the nvidia option rom. I had better success with letting coreboot copy the vga pci option rom into 0x0c000 (or 0xc000) and then letting SeaBIOS to try simply executing it. I would get the one line "Seabios Version ..." and then nothing else on the VGA console.
2) SeaBIOS seems to find a lot of things, but still tries to boot from floppy device (or image), for which I have neither. I thought SeaBIOS was able to boot from the first hard drive partition (ie. grub)? This is what I see on serial console along with the quick f12 boot pause. But pressing f12 only pauses longer with nothing else displayed via serial console. But, I can press ESC and have it reboot, or the wonderful Windows Key will print it's scancode on screen, but no other keys. (See very last lines in log.)
Attaching log with max debug on.
VGA is on PCI 01:00
01:00.0 VGA compatible controller: nVidia Corporation NV25 [GeForce4 Ti 4200] (rev a3) (prog-if 00 [VGA controller]) Subsystem: Micro-Star International Co., Ltd. Device 8700 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 32 (1250ns min, 250ns max) Interrupt: pin A routed to IRQ 11 Region 0: Memory at e4000000 (32-bit, non-prefetchable) [size=16M] Region 1: Memory at d0000000 (32-bit, prefetchable) [size=128M] Region 2: Memory at d8000000 (32-bit, prefetchable) [size=512K] [virtual] Expansion ROM at d8080000 [disabled] [size=128K] Capabilities: [60] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- Capabilities: [44] AGP version 2.0 Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4 Command: RQ=32 ArqSz=0 Cal=0 SBA+ AGP+ GART64- 64bit- FW- Rate=x2 Kernel driver in use: nouveau Kernel modules: nouveau
Also should make mention, the following "command not found" and I do have /bin/sh -> /bin/bash here.
CC cpu/intel/microcode/microcode.ramstage.o CC cpu/x86/name/name.ramstage.o AR coreboot.a CC coreboot_ram.o CC coreboot_ram Checking out SeaBIOS 0.6.1-stable Already up-to-date. M src/config.h Already on '0.6.1-stable' /bin/sh: -Wa,--divide: command not found Compiling whole program out/ccode.16.s
On 31.12.2010, at 10:50, Roger rogerx.oss@gmail.com wrote:
Also should make mention, the following "command not found" and I do have /bin/sh -> /bin/bash here.
CC cpu/intel/microcode/microcode.ramstage.o CC cpu/x86/name/name.ramstage.o AR coreboot.a CC coreboot_ram.o CC coreboot_ram Checking out SeaBIOS 0.6.1-stable Already up-to-date. M src/config.h Already on '0.6.1-stable' /bin/sh: -Wa,--divide: command not found Compiling whole program out/ccode.16.s
A patch for that issue has been sent to the SeaBIOS developers. Will possibly show up in the next stable release. It's not critical if you use the reference toolchain ...
Stefan
-- Roger http://rogerx.freeshell.org/
-- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot
On Fri, Dec 31, 2010 at 11:46:13AM +0100, Stefan Reinauer wrote:
On 31.12.2010, at 10:50, Roger rogerx.oss@gmail.com wrote:
Also should make mention, the following "command not found" and I do have /bin/sh -> /bin/bash here.
CC cpu/intel/microcode/microcode.ramstage.o CC cpu/x86/name/name.ramstage.o AR coreboot.a CC coreboot_ram.o CC coreboot_ram Checking out SeaBIOS 0.6.1-stable Already up-to-date. M src/config.h Already on '0.6.1-stable' /bin/sh: -Wa,--divide: command not found Compiling whole program out/ccode.16.s
A patch for that issue has been sent to the SeaBIOS developers. Will possibly show up in the next stable release. It's not critical if you use the reference toolchain ...
That patch is in the seabios tip.
-Kevin
And still getting better here.
I've reset some Seabios config.h options to defaults and disabled FLOPPY options.
I've gotten all the way to my grub boot, but only on warm booting, and Seabio seems to leave my ethernet controller unstable during normal manufacture bios execution, requiring a complete power off (ie. yank cord) to reset it.
Then I get a call trace in dmesg and then things really slow to a crawl.
Looks like I've got some IRQ routing issues from here.
Attaching a completed log. Cheers!
On Fri, Dec 31, 2010 at 01:54:04AM -0900, Roger wrote:
And still getting better here.
I've reset some Seabios config.h options to defaults and disabled FLOPPY options.
The floppy options have no impact on seabios when in coreboot mode. What you're seeing here is likely random failures. You should try running the memtest program.
[...]
Attempting to find coreboot table Found coreboot table forwarder.
The coreboot table was found this time.
[...]
Scan for VGA option rom Attempting to init PCI bdf 01:00.0 (vd 10de:0253) Searching CBFS for prefix pci10de,0253.rom Found CBFS file fallback/romstage Found CBFS file fallback/coreboot_ram Found CBFS file fallback/payload Found CBFS file Attempting to map option rom on dev 01:00.0 Option rom sizing returned f9000001 fffe0000 Inspecting possible rom at 0xf9000000 (vd=10de:0253 bdf=01:00.0) Copying option rom (size 61440) from 0xf9000000 to c0000 Checking rom 0x000c0000 (sig aa55 size 120) Running option rom at c000:0003
The rom had no checksum error this time.
-Kevin
On Fri, Dec 31, 2010 at 11:37:52AM -0500, Kevin O'Connor wrote:
On Fri, Dec 31, 2010 at 01:54:04AM -0900, Roger wrote:
And still getting better here.
I've reset some Seabios config.h options to defaults and disabled FLOPPY options.
The floppy options have no impact on seabios when in coreboot mode. What you're seeing here is likely random failures. You should try running the memtest program.
Yup. Figured-out, the user is required to press "F12" else Seabios will try to load a floppy image as defined in milliseconds within config.h.
If Seabios doesn't find a floppy image or boot image, it will then reload coreboot/reboot as defined in milliseconds within config.h. (This I find nuts, Seabios infinitely reloading coreboot over & over again. Is this correct? Great stress testing though as I can see additional reloads fail sometime over time due to raminit issues.)
I prefer Seabios to sit and wait forever (an unlimited amount of time).
Also, if I do get things going correctly, would prefer Seabios just go ahead and boot the bootable drive partition (or main boot record... with grub/lilo installed). If anything, a slight pause might be essential in case a user does have a floppy image installed or chooses network, usb, etc.
On Fri, Dec 31, 2010 at 04:02:09PM -0900, Roger wrote:
On Fri, Dec 31, 2010 at 11:37:52AM -0500, Kevin O'Connor wrote:
On Fri, Dec 31, 2010 at 01:54:04AM -0900, Roger wrote:
And still getting better here.
I've reset some Seabios config.h options to defaults and disabled FLOPPY options.
The floppy options have no impact on seabios when in coreboot mode. What you're seeing here is likely random failures. You should try running the memtest program.
Yup. Figured-out, the user is required to press "F12" else Seabios will try to load a floppy image as defined in milliseconds within config.h.
Hrmm - Seabios wont load from floppy under coreboot. The floppy hardware support is disabled when on coreboot. The messages you are seeing are harmless.
If Seabios doesn't find a floppy image or boot image, it will then reload coreboot/reboot as defined in milliseconds within config.h. (This I find nuts, Seabios infinitely reloading coreboot over & over again. Is this correct? Great stress testing though as I can see additional reloads fail sometime over time due to raminit issues.)
I prefer Seabios to sit and wait forever (an unlimited amount of time).
Also, if I do get things going correctly, would prefer Seabios just go ahead and boot the bootable drive partition (or main boot record... with grub/lilo installed). If anything, a slight pause might be essential in case a user does have a floppy image installed or chooses network, usb, etc.
If SeaBIOS fails to find a boot method, it will wait infinitely. You're seeing an unrelated failure here.
-Kevin
On Sat, Jan 01, 2011 at 12:45:16AM -0500, Kevin O'Connor wrote:
On Fri, Dec 31, 2010 at 04:02:09PM -0900, Roger wrote:
On Fri, Dec 31, 2010 at 11:37:52AM -0500, Kevin O'Connor wrote:
On Fri, Dec 31, 2010 at 01:54:04AM -0900, Roger wrote:
And still getting better here.
I've reset some Seabios config.h options to defaults and disabled FLOPPY options.
The floppy options have no impact on seabios when in coreboot mode. What you're seeing here is likely random failures. You should try running the memtest program.
Yup. Figured-out, the user is required to press "F12" else Seabios will try to load a floppy image as defined in milliseconds within config.h.
Hrmm - Seabios wont load from floppy under coreboot. The floppy hardware support is disabled when on coreboot. The messages you are seeing are harmless.
If Seabios doesn't find a floppy image or boot image, it will then reload coreboot/reboot as defined in milliseconds within config.h. (This I find nuts, Seabios infinitely reloading coreboot over & over again. Is this correct? Great stress testing though as I can see additional reloads fail sometime over time due to raminit issues.)
I prefer Seabios to sit and wait forever (an unlimited amount of time).
Also, if I do get things going correctly, would prefer Seabios just go ahead and boot the bootable drive partition (or main boot record... with grub/lilo installed). If anything, a slight pause might be essential in case a user does have a floppy image installed or chooses network, usb, etc.
If SeaBIOS fails to find a boot method, it will wait infinitely. You're seeing an unrelated failure here.
Wooh. Then the timeout here:
#define CONFIG_BOOTMENU_WAIT 2500
... is only a wait before booting the default (floppy) image and Seabios should not be rebooting coreboot? Because if so, I'm getting an endless reboot after failure to boot the floppy image.
Well anyways, I've pretty much gotten both my 440BX (Tyan 1832dl using Tyan 1846 mainboard and DFI P2BX using Asus P2B mainboard) working. Just raminit seems to be spawning random bugs.
It's really nice to see these old 440BX boards being able to boot from USB pen disks!
On 31.12.2010, at 10:07, Roger rogerx.oss@gmail.com wrote:
- If I use coreboot's "Run VGA Option ROMs", I can get VGA up and the first
thing displayed is one text line of something like "SeaBIOS Version...".
And then I usually get some of my other PCI devices option roms executing as well on the VGA display.
But when I turn "Run VGA & other Option ROMs" off in Coreboot and then modify SeaBIOS config.h with any of these options:
// Support finding and running option roms during post. #define CONFIG_OPTIONROMS 1 // Set if option roms are already copied to 0xc0000-0xf0000 #define CONFIG_OPTIONROMS_DEPLOYED 0 // When option roms are not pre-deployed, SeaBIOS can copy an optionrom // from flash for up to 2 devices. #define OPTIONROM_VENDEV_1 0x00000000 #define OPTIONROM_MEM_1 0xf9000000 #define OPTIONROM_VENDEV_2 0x00000000 #define OPTIONROM_MEM_2 0x00000000
I think you should let SeaBIOS grab the oprom from cbfs.
Also a serial log from SeaBIOS is key here.
Stefan
I get no VGA display. I even tried specifying the address of PCI VGA 01:00, but I don't know if I have the correct address of the nvidia option rom. I had better success with letting coreboot copy the vga pci option rom into 0x0c000 (or 0xc000) and then letting SeaBIOS to try simply executing it. I would get the one line "Seabios Version ..." and then nothing else on the VGA console.
- SeaBIOS seems to find a lot of things, but still tries to boot from floppy
device (or image), for which I have neither. I thought SeaBIOS was able to boot from the first hard drive partition (ie. grub)? This is what I see on serial console along with the quick f12 boot pause. But pressing f12 only pauses longer with nothing else displayed via serial console. But, I can press ESC and have it reboot, or the wonderful Windows Key will print it's scancode on screen, but no other keys. (See very last lines in log.)
Attaching log with max debug on.
-- Roger http://rogerx.freeshell.org/
<coreboot-warmboot-20101230c.log>
coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot
On Fri, Dec 31, 2010 at 11:50:18AM +0100, Stefan Reinauer wrote:
On 31.12.2010, at 10:07, Roger rogerx.oss@gmail.com wrote:
- If I use coreboot's "Run VGA Option ROMs", I can get VGA up and the first
thing displayed is one text line of something like "SeaBIOS Version...".
And then I usually get some of my other PCI devices option roms executing as well on the VGA display.
But when I turn "Run VGA & other Option ROMs" off in Coreboot and then modify SeaBIOS config.h with any of these options:
// Support finding and running option roms during post. #define CONFIG_OPTIONROMS 1 // Set if option roms are already copied to 0xc0000-0xf0000 #define CONFIG_OPTIONROMS_DEPLOYED 0 // When option roms are not pre-deployed, SeaBIOS can copy an optionrom // from flash for up to 2 devices. #define OPTIONROM_VENDEV_1 0x00000000 #define OPTIONROM_MEM_1 0xf9000000 #define OPTIONROM_VENDEV_2 0x00000000 #define OPTIONROM_MEM_2 0x00000000
I think you should let SeaBIOS grab the oprom from cbfs.
Also a serial log from SeaBIOS is key here.
Stefan
Logs are attached (or should be), and everybody is saying to let Seabios take over starting VGA option roms, but coreboot is a lot more successful handling vga oprom. Granted, looks like Seabios handles all other oproms really well.
But now that I've gotten a boot, granted rather rough likely due to IRQ routing issues(?), I'm probably going to go back and concentrate more on the raminit issues so cold booting works.
corebios make menuconfig should likely have a submenu under seabios option for allowing seabios to handle vga oprom & non-vga oproms, which in turn would disable coreboot vga oprom & non-vga oproms respectfully. ...just a thought.
On Fri, Dec 31, 2010 at 12:07:01AM -0900, Roger wrote:
- If I use coreboot's "Run VGA Option ROMs", I can get VGA up and the first
thing displayed is one text line of something like "SeaBIOS Version...".
And then I usually get some of my other PCI devices option roms executing as well on the VGA display.
But when I turn "Run VGA & other Option ROMs" off in Coreboot and then modify SeaBIOS config.h with any of these options:
// Support finding and running option roms during post. #define CONFIG_OPTIONROMS 1 // Set if option roms are already copied to 0xc0000-0xf0000 #define CONFIG_OPTIONROMS_DEPLOYED 0 // When option roms are not pre-deployed, SeaBIOS can copy an optionrom // from flash for up to 2 devices. #define OPTIONROM_VENDEV_1 0x00000000 #define OPTIONROM_MEM_1 0xf9000000 #define OPTIONROM_VENDEV_2 0x00000000 #define OPTIONROM_MEM_2 0x00000000
You should not set OPTIONROM_*. Please follow the directions at:
http://www.coreboot.org/SeaBIOS
The issue with your previous run:
Scan for VGA option rom Found option rom with bad checksum: loc=0x000c0000 len=61440 sum=42
indicates SeaBIOS succussfully found the optionrom - it ran into an error running it. In order to debug this, the debugging level must be increased, but nothing else should change.
- SeaBIOS seems to find a lot of things, but still tries to boot from floppy
device (or image), for which I have neither. I thought SeaBIOS was able to boot from the first hard drive partition (ie. grub)? This is what I see on serial console along with the quick f12 boot pause. But pressing f12 only pauses longer with nothing else displayed via serial console. But, I can press ESC and have it reboot, or the wonderful Windows Key will print it's scancode on screen, but no other keys. (See very last lines in log.)
SeaBIOS behaves like a legacy bios, so it will try legacy boot methods (like booting from a floppy). It's nothing to worry about - it isn't harmful or slower in any way.
Attaching log with max debug on.
[...]
Attempting to find coreboot table Found coreboot table forwarder. Now attempting to find coreboot memory map Add to e820 map: 00000000 00001000 2 Add to e820 map: 00001000 0009f000 1 Add to e820 map: 000c0000 17f30000 1 Add to e820 map: 17ff0000 00010000 2 Add to e820 map: ff800000 00800000 2 Add to e820 map: 00000000 00004000 1
Oddly - seabios found the coreboot table this time. I suspect you're having memory controller issues. If so, that needs to be fixed first.
[...]
Scan for VGA option rom Attempting to init PCI bdf 01:00.0 (vd 10de:0253) Searching CBFS for prefix pci10de,0253.rom Found CBFS file fallback/romstage Found CBFS file fallback/coreboot_ram Found CBFS file fallback/payload Found CBFS file Attempting to map option rom on dev 01:00.0 Option rom sizing returned f9000000 fffe0000 Inspecting possible rom at 0xf9000000 (vd=10de:0253 bdf=01:00.0) Copying option rom (size 61440) from 0xf9000000 to c0000 Checking rom 0x000c0000 (sig aa55 size 120) Found option rom with bad checksum: loc=0x000c0000 len=61440 sum=42
It's really odd that the rom isn't checksumming correctly. I'm not sure how OPTIONROM_* interacts here though. It's possible to disable SeaBIOS' checksum check, but if this is a memory controller issue, it will just fail somewhere else.
-Kevin