#174: Unable to boot from qemu-kvm -- seems to be a cbfs problem -------------------------------------+------------------------------------- Reporter: czw[+]660[+]@… | Owner: stepan@… Type: defect | Status: new Priority: major | Milestone: Component: coreboot | Keywords: Dependencies: | Patch Status: there is no patch -------------------------------------+------------------------------------- Hello,
I was the opener of ticket 173, so I'm still using gcc 4.4.3, and now testing with qemu-kvm version 0.12.5, with (about) the following command:
[[BR]] {{{ /usr/local/bin/qemu-system-x86_64 -monitor stdio -smp 1,cores=1,threads=1,sockets=1 -cpu phenom -soundhw ac97 -k it -kvm-shadow- memory 1 -m 512 -no-fd-bootchk -show-cursor -drive file="/mnt/pdc_a0p1/qemu/disk0",if=scsi,bus=0,unit=0,media=disk -drive file="/mnt/pdc_a0p1/qemu/disk1",if=scsi,bus=1,unit=0,media=disk -drive file="/mnt/pdc_a0p1/qemu/disk2",if=scsi,bus=2,unit=0,media=disk -net none -usb -usbdevice tablet -startdate 2009-01-20T14:30:00 -name "test" -cdrom path/to/image.iso -fda /mnt/pdc_a0p1/qemu/fd -hda /mnt/pdc_a0p1/qemu/ide -L /mnt/pdc_a0p1/qemu/bios -bios coreboot_version-seabios_version.bin -boot order=adc,menu=on -vga cirrus -serial file:path/to/coreboot_version- seabios_version.log }}}
(configured from aqemu)
[[BR]] path/to/image.iso is a bootable dvd image with freedos or /dev/cdrom (I get similar results with a win xp setup disk/image) - this is also the only bootable emulated drive; path/to/coreboot_version-seabios_version.log is a log of the serial output of coreboot (see attached files).
The above works fine with both qemu's bios.bin and pre-built coreboot v2 r4917 + seabios 9eebe66a9978165cfa91f2266c97fa5d0aa6ef2e, 2009-11-04, as retrieved from [http://www.coreboot.org/images/6/6a/Qemu_coreboot_seabios.zip] which works with both qemu's provided vgabios-cirrus.bin and your patched version - from [http://www.coreboot.org/images/0/0d/Vgabios-cirrus.zip] - excluding a seabios or qemu-kvm specific problem.
I can also exclude any problem related to my build environment (as well as my qemu-kvm) because I've been able to download, build and boot coreboot r4917 + the above seabios version with a correctly modified src/config.h, as per
[[BR]] {{{ #define CONFIG_COREBOOT 1 #define CONFIG_DEBUG_SERIAL 1 #define CONFIG_COREBOOT_FLASH 1 #define CONFIG_OPTIONROMS_DEPLOYED 0 #define CONFIG_VGAHOOKS 1 }}}
[[BR]] Now to the core of the problem: when runnig qemu-kvm it hangs after displaying a vga specific message (see attached jpeg), and serial log files show a message like the following:
[[BR]] {{{ CBFS: Could not find file fallback/payload Boot failed. }}}
(last message - see attached file for full log)
[[BR]] Of course, fallback/payload is therein (see attached coreboot-layout.txt for a cbfstool print result)
I'm testing both the stable trunk (pre-6321 but correcting the issue from ticket 173) and revision 6325 of coreboot, both with latest stable seabios (0.6.1.3) and the old one used in your qemu test (v2) build, added as external elf payload, with or without lzma compression, all the rest with default configuration values (see attached files for full details).
Regards
#174: Unable to boot from qemu-kvm -- seems to be a cbfs problem -------------------------------------+------------------------------------- Reporter: czw[+]660[+]@… | Owner: stepan@… Type: defect | Status: new Priority: major | Milestone: Component: coreboot | Resolution: Keywords: | Dependencies: Patch Status: there is no patch | -------------------------------------+-------------------------------------
Comment (by czw[+]660[+]@…):
I've noticed, through freedos, that the (apparently) working coreboot v2 fails recognizing and granting access to any emulated floppy, accessible via qemu's bios.bin, perhaps you'll find some hints in the logs I've posted, in the boot parts with handle failures and registry data (qemu_coreboot_seabios.log). It seems it could be a 'target' related problem, because I've tried to change (in qemu) the target machine, setting it to a 'standard pc for qemu 0.11', and the resulting log for the other, newer versions of coreboot I was testing, shows an apparently booting machine, though with no visual output (it seems to fail loading the vga option rom, the log misses the lines "Running option rom at c000:0003 " and "Turning on vga console" after "Scan for VGA option rom" ). Attaching file 'qemu_0.11_test.log' as serial output for coreboot r6325 with seabios stable version.
#174: Unable to boot from qemu-kvm -- seems to be a cbfs problem -------------------------------------+------------------------------------- Reporter: czw[+]660[+]@… | Owner: stepan@… Type: defect | Status: new Priority: major | Milestone: Component: coreboot | Resolution: Keywords: | Dependencies: Patch Status: there is no patch | -------------------------------------+-------------------------------------
Comment (by czw[+]660[+]@…):
Coreboot v2 (r4917) allows grants access, anyway, to emulated ide, and freedos works fine for the rest (as far as I've tested it). (just to clarify)
#174: Unable to boot from qemu-kvm -- seems to be a cbfs problem -------------------------------------+------------------------------------- Reporter: czw[+]660[+]@… | Owner: stepan@… Type: defect | Status: new Priority: major | Milestone: Component: coreboot | Resolution: Keywords: | Dependencies: Patch Status: there is no patch | -------------------------------------+-------------------------------------
Comment (by anonymous):
Ok, I've managed to boot with both r6325 and r6331, using both seabios stable and latest master version (d7137a30635b504203ae97510e8609bb350ee0f7), by enabling yabel emulation. Still getting the same error - 'Could not find fallback/payload' - if 'YABEL_DIRECTHW' is set, though, so it would seem a problem related to the way coreboot interfaces with qemu-kvm 0.12.5 emulated hw, or the way the vga rom is loaded/run (that's the same for both qemu's and your patched version).
Yet no floppies (neither emulated by qemu, nor embedded into coreboot). In any case (even with qemu's bios.bin), freedos gets some troubles to recognize the geometry of emulated cdrom (option -cdrom) and ide disk (option -hda), but it can read from them with stable seabios, whereas it fails with the newer version I've tested (it blocks). Also, the newer seabios causes a kvm problem on reboot (hitting Ctrl+Alt+Del kvm exits with error "unhandled exit ffffffff").
The latter problems would seem seabios-related, though I can't tell, at this stage, if that's a real seabios pitfall or whether seabios changes hit another problem in coreboot, or in qemu, or if that's a combination of problems/diverging design choices of those three.
#174: Unable to boot from qemu-kvm -- seems to be a cbfs problem -------------------------------------+------------------------------------- Reporter: czw[+]660[+]@… | Owner: stepan@… Type: defect | Status: new Priority: major | Milestone: Component: coreboot | Resolution: Keywords: | Dependencies: Patch Status: there is no patch | -------------------------------------+-------------------------------------
Comment (by anonymous):
Mmm, it seems a kvm-related issue. Without loaded kvm modules (thus, without kvm support) I've been able to boot with 'native' execution of option roms in both kvm-qemu 0.12.5 and 0.13.0, both seabios stable and master (the aforementioned commit).
Still no floppies. Still unable to reboot with master seabios, vm just blocks and last lines in my serial log: 'Attempting a hard reboot ', 'i8042_wait_write'