On 04/03/14 03:57, Gabriel L. Somlo wrote: > On Wed, Apr 02, 2014 at 01:01:28PM -0400, Gabriel L. Somlo wrote: >> Speaking of, I *thought* I had a vague idea of how all this stuff fits >> together, but it turns out I don't... There's >> >> - OVMF >> http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=OVMF >> >> - TianoCore >> http://www.coreboot.org/TianoCore >> >> - coreboot >> http://www.coreboot.org/Download_coreboot >> >> Apparently, TianoCore is a "coreboot payload", which in my mind is >> somewhat analogous to bootloader "stages" chaining off each other, >> but then what's OVMF (the only thing I actually tried, which only >> works on piix) ? Is it a packaged bundle of coreboot+tianocore ? >> or something else entirely ? >> >> What if I want to send a patch against this whole "thing" to >> facilitate integration with the new smbios table generator in qemu ? >> >> Which git repos do I need to have around, and how to stitch them >> together to obtain "the thing you use as an argument to -bios in lieu >> of SeaBIOS", when it comes time to test ? :)
Unless you want to do OVMF development yourself (ie. as long as you'd like to test only), you're best off with (a) Gerd's packages: http://www.kraxel.org/repos/ (b) If you use a Fedora host, you can also try a (recently refreshed) Copr build, thanks to Paolo: http://copr-be.cloud.fedoraproject.org/results/bonzini/ovmf/ Under (a) you find some short instructions, and a set of RPMs that is automatically rebuilt twice a day (IIRC). Both (a) and (b) include the downstream-only SMBIOS patches. >> I'm guessing this is a FAQ, so if there's one place that explains it >> all, please point me at it. Otherwise I'd be happy to write it up once >> I get my head wrapped around it :) > > Nevermind, it seems it's all under git://git.code.sf.net/p/tianocore/edk2 :) > > Although the nomenclature is still a bit fuzzy to me, the "thing to build" > within edk2 appears to be OvmfPkg (ACTIVE_PLATFORM = OvmfPkg/OvmfPkgX64.dsc, > with TOOL_CHAIN_TAG = GCC48, in Conf/target.txt, at least on F20). > > I now have the latest and greatest "upstream" OVMF.fd, and I can use it > (piix only) to boot Fedora 20 live x86_64. Guess I'm on my way :) You can most certainly build OVMF yourself, yes; the OvmfPkg/build.sh script is a convenience wrapper. See also OvmfPkg/README. > I get "missing smbios entry point" when I do a dmidecode, BTW. QEMU is > sending type 1, 3, 4, etc. blobs in fw_cfg, not sure yet what I need > to do to get OVMF to add the entry point... Maybe I should try without > my smbios-patched qemu ? You don't see SMBIOS tables in the guest because you've built upstream OVMF. As I said before, upstream OvmfPkg doesn't include my SMBIOS patches. Both (a) and (b) do however. One further note (also mentioned in OvmfPkg/README): don't use OVMF.fd with -bios; use it with -pflash (you need a Linux 3.7+ host for this). This will give your guest real runtime variable services -- non-volatile variable data will be written back to the OVMF.fd file. Thanks Laszlo