Hi,
What is the state of the tianocore port for coreboot?
Looking at https://github.com/pgeorgi/edk2/commits/coreboot-pkg there has been no activity for a few months ...
I've rebased the patches (https://github.com/kraxel/edk2/commits/coreboot), fixed two little isses and played around a bit with it.
It doesn't build for X64. Seems some tricks it pulls on 64bit (for communication with 32bit coreboot?) stopped working.
IA32 boots fine in qemu, but it looks like it never ran on anything but qemu.
No patches showed up on the edk2 mailing list.
Hmm, whats up?
cheers, Gerd
PS: http://www.kraxel.org/repos/ has rpms with fresh qemu firmware builds, coreboot included.
I think for the most part we've kept it going but nobody has yet really used it.
ron
Am 25.06.2013 18:14, schrieb Gerd Hoffmann:
What is the state of the tianocore port for coreboot?
I'm the sole committer, lacking time, so things are going slowly
Looking at https://github.com/pgeorgi/edk2/commits/coreboot-pkg there has been no activity for a few months ...
I have a local branch that's more recent. I'll see that I push it on thursday.
My main targets are a native GOP driver (instead of CSM), and table handling (to reuse SMBIOS, ACPI, ... from coreboot)
It doesn't build for X64. Seems some tricks it pulls on 64bit (for communication with 32bit coreboot?) stopped working.
Not quite specific, but I usually test both.
No patches showed up on the edk2 mailing list.
Hmm, whats up?
It's not ready yet.
Patrick
On 06/25/13 18:31, Patrick Georgi wrote:
Am 25.06.2013 18:14, schrieb Gerd Hoffmann:
What is the state of the tianocore port for coreboot?
I'm the sole committer, lacking time, so things are going slowly
Good to head it isn't dead.
Looking at https://github.com/pgeorgi/edk2/commits/coreboot-pkg there has been no activity for a few months ...
I have a local branch that's more recent. I'll see that I push it on thursday.
Thanks, I'll have a look (might take some time though as I'll go vanish into my summer vacation soon).
My main targets are a native GOP driver (instead of CSM), and table handling (to reuse SMBIOS, ACPI, ... from coreboot)
Yep, tables are most important to get rid of hardware dependencies.
Right now corebootPkg/Library/AcpiTimerLib tries to poke directly at the pmtimer of the piix4 southbridge. And when running on other hardware it traps into an assert. Would be better to get the pmtimer address by parsing the FADT like seabios does.
Native GOP driver only matters when running without CSM, with CSM present it wouldn't be used anyway.
It doesn't build for X64. Seems some tricks it pulls on 64bit (for communication with 32bit coreboot?) stopped working.
Not quite specific, but I usually test both.
Doesn't build:
"GenFw" -e SEC -o /home/kraxel/projects/edk2/Build/corebootX64/DEBUG_GCC44/X64/corebootPkg/Sec/SecMain/DEBUG/SecMain.efi /home/kraxel/projects/edk2/Build/corebootX64/DEBUG_GCC44/X64/corebootPkg/Sec/SecMain/DEBUG/SecMain.dll GenFw: ERROR 3000: Invalid Unsupported section alignment. make: *** [/home/kraxel/projects/edk2/Build/corebootX64/DEBUG_GCC44/X64/corebootPkg/Sec/SecMain/DEBUG/SecMain.efi] Error 2
Note this is with the coreboot patches rebased, not your branch. I think it comes from some edk2 changes. Might also be I did something wrong while rebasing ...
cheers, Gerd
Am 25.06.2013 20:24, schrieb Gerd Hoffmann:
Thanks, I'll have a look (might take some time though as I'll go vanish into my summer vacation soon).
Me too.
I just forward ported the repo, but without committing any of the newer code (different box, and the code might require some cleanup to build again)
Doesn't build:
GenFw: ERROR 3000: Invalid Unsupported section alignment.
Note this is with the coreboot patches rebased, not your branch. I think it comes from some edk2 changes. Might also be I did something wrong while rebasing ...
Haven't seen this error yet. It might be the toolchain, "Unsupported section alignment" hints that way.
I just tried the coreboot-pkg branch as-of now, using the toolchain generated by BaseTools/gcc/mingw-gcc-build.py, which I registered as UNIXGCC in Conf/tools_def.txt:
--- DEFINE UNIXGCC_IA32_PETOOLS_PREFIX = ENV(WORKSPACE)/BaseTools/gcc/install/bin/i686-pc-mingw32- DEFINE UNIXGCC_X64_PETOOLS_PREFIX = ENV(WORKSPACE)/BaseTools/gcc/install/bin/x86_64-pc-mingw32- ---
$ build -p corebootPkg/corebootPkg.dsc -a X64 -t UNIXGCC
Gives me a (non-CSM) build, ending in --- FV Space Information MAINFV [70%Full] 6209536 total, 4373320 used, 1836216 free SECFV [68%Full] 81920 total, 56352 used, 25568 free DXEFV [99%Full] 4128768 total, 4120568 used, 8200 free ---
Adding that COREBOOT.fd as coreboot payload (8MB QEmu image, no other change) gives me a Tiano shell (on serial console, since there's no graphics).
Patrick
Hi,
GenFw: ERROR 3000: Invalid Unsupported section alignment.
Note this is with the coreboot patches rebased, not your branch. I think it comes from some edk2 changes. Might also be I did something wrong while rebasing ...
Haven't seen this error yet. It might be the toolchain, "Unsupported section alignment" hints that way.
I just tried the coreboot-pkg branch as-of now, using the toolchain generated by BaseTools/gcc/mingw-gcc-build.py, which I registered as UNIXGCC in Conf/tools_def.txt:
DEFINE UNIXGCC_IA32_PETOOLS_PREFIX = ENV(WORKSPACE)/BaseTools/gcc/install/bin/i686-pc-mingw32- DEFINE UNIXGCC_X64_PETOOLS_PREFIX = ENV(WORKSPACE)/BaseTools/gcc/install/bin/x86_64-pc-mingw32-
$ build -p corebootPkg/corebootPkg.dsc -a X64 -t UNIXGCC
I'm doing a straight '-t GCC44' build using the system compiler (aka /usr/bin/gcc).
Any specific reason you are using the mingw cross compiler?
Adding that COREBOOT.fd as coreboot payload (8MB QEmu image, no other change) gives me a Tiano shell (on serial console, since there's no graphics)
Same here with IA32, when adding seabios-csm I'll get graphics too.
cheers, Gerd
Am 26.06.2013 00:07, schrieb Gerd Hoffmann:
Haven't seen this error yet. It might be the toolchain, "Unsupported section alignment" hints that way.
I just tried the coreboot-pkg branch as-of now, using the toolchain generated by BaseTools/gcc/mingw-gcc-build.py, which I registered as UNIXGCC in Conf/tools_def.txt:
I'm doing a straight '-t GCC44' build using the system compiler (aka /usr/bin/gcc).
Any specific reason you are using the mingw cross compiler?
Nothing specific. With coreboot I had trouble with native compilers all the time when doing coreboot development (and coreboot even uses ELF, so things should be even more similar than Linux/UEFI!), so now I'm always using a cross compiler when not building for the host OS.
Patrick