TianoCore: Difference between revisions
(→TianoCore as coreboot payload: update description of payload options) |
No edit summary |
||
(One intermediate revision by one other user not shown) | |||
Line 42: | Line 42: | ||
== TianoCore as coreboot payload == | == TianoCore as coreboot payload == | ||
https://github.com/pgeorgi/edk2 currently is able to boot on QEmu, but still lacks many features ( | https://github.com/pgeorgi/edk2 currently is able to boot on QEmu, but still [https://trello.com/b/pEdlwYTb/tiano-payload lacks many features] (but [https://plus.google.com/u/1/110001501865959589477/posts/FnHMwZZSmvr it can start Windows] now). Graphics output is possible by integrating SeaBIOS as CSM or by using a coreboot-initialized framebuffer. With native graphics init (available on some chipsets and boards), this provides a VGABIOS/GOP-free video implementation across the stack (which is how Windows 8.1 on QEmu was booted). | ||
http://notabs.org/coreboot/duet-payload provides an implementation that is able to boot an AMD based mainboard to Windows. | Contributions are welcome, the eventual goal of the project is to have a single payload (or two, for 32 and 64bit operations) that can run on most/all boards with large enough flash. | ||
== UEFI Parser == | |||
https://github.com/theopolis/uefi-firmware-parser | |||
== Other TianoCore implementations on top of coreboot == | |||
http://notabs.org/coreboot/duet-payload provides an implementation that is able to boot an AMD based mainboard to Windows. It's more similar to the DUET solution than to corebootPkg. | |||
http://uefidk.intel.com/develop has released a Tianocore payload for some Intel mainboard (probably baytrail) to Windows. | http://uefidk.intel.com/develop has released a Tianocore payload for some Intel mainboard (probably baytrail) to Windows. |
Latest revision as of 11:28, 16 May 2017
TianoCore is an open source implementation of UEFI, the Unified Extensible Firmware Interface. UEFI (formerly EFI) is intended to replace the traditional PC BIOS. TianoCore as in implementation cannot do that, as it lacks the code to do hardware initalization. Since hardware initialization is exactly what coreboot does, the combination of coreboot + TianoCore is the most straightforward option to provide a complete, opensource UEFI environment.
There are various approaches for loading TianoCore. One is to use SeaBIOS' floppy mechanism to load DUET, a TianoCore-on-BIOS. The other is to make TianoCore a true coreboot payload.
DUET
Howto DuetPkg
- Setup edk2 for compilation:
- First compile DuetPkg:
cd BaseTools export EDK_TOOLS_PATH=$(pwd) cd ../ . ./edksetup.sh BaseTools build -p DuetPkg/DuetPkgIa32.dsc
- Then package it in a floppy file:
Go in the edk2 directory, then run the following commands:
cd BaseTools export EDK_TOOLS_PATH=$(pwd) cd ../ . ./edksetup.sh BaseTools ./DuetPkg/PostBuild.sh IA32 GCC44 ./DuetPkg/CreateBootDisk.sh file ./floppy.img ./floppy.img FAT12 IA32 GCC44 lzma -zc floppy.img > myfloppy.img.lzma
- Then add it to cbfs:
Go into the coreboot directory and do:
./build/cbfstool coreboot.rom add -f /path/to/myfloppy.img.lzma -n floppyimg/MyFloppy.lzma -t raw ./build/cbfstool coreboot.rom print
- reflash coreboot and reboot.
- Then while booting press F12 and choose it:
Press F12 for boot menu. Select boot device: 1. Ramdisk [MyFloppy] 2. ata1-0: Hitachi HDP725050GLA360 ATA-8 Hard-Disk (465 GiByte
Result
M4A785T-M => fails with an interrupt issue
Qemu => way too slow
x60 => seem to work,no media to test
TianoCore as coreboot payload
https://github.com/pgeorgi/edk2 currently is able to boot on QEmu, but still lacks many features (but it can start Windows now). Graphics output is possible by integrating SeaBIOS as CSM or by using a coreboot-initialized framebuffer. With native graphics init (available on some chipsets and boards), this provides a VGABIOS/GOP-free video implementation across the stack (which is how Windows 8.1 on QEmu was booted).
Contributions are welcome, the eventual goal of the project is to have a single payload (or two, for 32 and 64bit operations) that can run on most/all boards with large enough flash.
UEFI Parser
https://github.com/theopolis/uefi-firmware-parser
Other TianoCore implementations on top of coreboot
http://notabs.org/coreboot/duet-payload provides an implementation that is able to boot an AMD based mainboard to Windows. It's more similar to the DUET solution than to corebootPkg.
http://uefidk.intel.com/develop has released a Tianocore payload for some Intel mainboard (probably baytrail) to Windows.