Hi, I did have some trouble getting this to work correctly. I believe you must add it to cbfs with "add-payload" and not just as a regular file. If that doesn't work let us know, I'll take a look at what exactly I did.
Good luck, R On Sat, Mar 21, 2020 at 6:08 AM Dalao <da...@tutanota.com> wrote: > > FWIW I use Grub to load either SeaBIOS or Tianocore at boot, defaulting > to Tianocore for this exact problem. Hope that's of some help :) > > Cool! This is what I want. I have followed this tutorial ( > https://github.com/librecore-org/librecore/wiki/Chainloading-SeaBIOS-from-a-GRUB-payload) > and now I'm able to use Grub to chainload SeaBIOS. But in order to load > Tianocore, it appears there is no tutorial online. I tried to use the above > method to chainload the Tianocore's build output file UEFIPAYLOAD.fd, but > it can't load. So how you achieved this? > > > Mar 21, 2020, 5:55 AM by flyingfishfin...@gmail.com: > > FWIW I use Grub to load either SeaBIOS or Tianocore at boot, defaulting to > Tianocore for this exact problem. Hope that's of some help :) > > R > > On Fri, Mar 20, 2020 at 1:35 PM Dalao via coreboot <coreboot@coreboot.org> > wrote: > > > The Tianocore package which ran on top of SeaBIOS, DuetPkg, was remove > long ago, so that's not a viable approach (and it was buggy AF anyway). > You'd need to build SeaBIOS as a CSM, package it with Tianocore, and add > the appropriate hooks. Then debug from there > > It appears building SeaBIOS as CSM for Tianocore is quite hard and I have > searched around there is no guide. Could we build two roms and use > something like coreboot's fallback mechanism feature to achieve the hybrid > boot goal? Like default to boot in Tianocore image but with an option to > reboot to SeaBIOS image... > > > Mar 15, 2020, 15:45 by matt.devill...@gmail.com: > > > > On Sat, Mar 14, 2020, 11:02 PM Dalao <da...@tutanota.com> wrote: > > > SeaBIOS is a legacy BIOS implementation, so no it can't boot UEFI boot > media. Likewise, Tianocore is a pure UEFI implementation, and doesn't boot > legacy boot media / legacy installed OSes. There should be a way to use > SeaBIOS as a CSM for Tianocore, but currently it's not working / not > implemented (I tried briefly awhile back but didn't have any luck). > > I tried to follow the steps to build tianocore for SeaBIOS > https://www.coreboot.org/TianoCore But I get these errors. It says it > can't found nmake.exe... Is this should be build on Windows? How to setup > the environment? > > > The Tianocore package which ran on top of SeaBIOS, DuetPkg, was remove > long ago, so that's not a viable approach (and it was buggy AF anyway). > You'd need to build SeaBIOS as a CSM, package it with Tianocore, and add > the appropriate hooks. Then debug from there > > > [dalao@pc tianocore2018]$ git clone --branch UDK2018 > https://github.com/tianocore/edk2 > Cloning into 'edk2'... > remote: Enumerating objects: 66, done. > remote: Counting objects: 100% (66/66), done. > remote: Compressing objects: 100% (43/43), done. > remote: Total 342725 (delta 35), reused 31 (delta 23), pack-reused 342659 > Receiving objects: 100% (342725/342725), 286.48 MiB | 436.00 KiB/s, done. > Resolving deltas: 100% (247240/247240), done. > Updating files: 100% (15636/15636), done. > [dalao@pc tianocore2018]$ cd edk2/ > [dalao@pc edk2]$ cd BaseTools > [dalao@pc BaseTools]$ export EDK_TOOLS_PATH=$(pwd) > [dalao@pc BaseTools]$ cd ../ > [dalao@pc edk2]$ . ./edksetup.sh BaseTools > WORKSPACE: > /home/dalao/T440pCorebooting/tianocoreAsSeabiosPayload/tianocore2018/edk2 > EDK_TOOLS_PATH: > /home/dalao/T440pCorebooting/tianocoreAsSeabiosPayload/tianocore2018/edk2/BaseTools > CONF_PATH: > /home/dalao/T440pCorebooting/tianocoreAsSeabiosPayload/tianocore2018/edk2/Conf > Copying $EDK_TOOLS_PATH/Conf/build_rule.template > to > /home/dalao/T440pCorebooting/tianocoreAsSeabiosPayload/tianocore2018/edk2/Conf/build_rule.txt > Copying $EDK_TOOLS_PATH/Conf/tools_def.template > to > /home/dalao/T440pCorebooting/tianocoreAsSeabiosPayload/tianocore2018/edk2/Conf/tools_def.txt > Copying $EDK_TOOLS_PATH/Conf/target.template > to > /home/dalao/T440pCorebooting/tianocoreAsSeabiosPayload/tianocore2018/edk2/Conf/target.txt > [dalao@pc edk2]$ build -p DuetPkg/DuetPkgIa32.dsc > Build environment: Linux-5.4.22-1-MANJARO-x86_64-with-glibc2.2.5 > Build start time: 11:48:18, Mar.15 2020 > > WORKSPACE = > /home/dalao/T440pCorebooting/tianocoreAsSeabiosPayload/tianocore2018/edk2 > ECP_SOURCE = > /home/dalao/T440pCorebooting/tianocoreAsSeabiosPayload/tianocore2018/edk2/EdkCompatibilityPkg > EDK_SOURCE = > /home/dalao/T440pCorebooting/tianocoreAsSeabiosPayload/tianocore2018/edk2/EdkCompatibilityPkg > EFI_SOURCE = > /home/dalao/T440pCorebooting/tianocoreAsSeabiosPayload/tianocore2018/edk2/EdkCompatibilityPkg > EDK_TOOLS_PATH = > /home/dalao/T440pCorebooting/tianocoreAsSeabiosPayload/tianocore2018/edk2/BaseTools > CONF_PATH = > /home/dalao/T440pCorebooting/tianocoreAsSeabiosPayload/tianocore2018/edk2/Conf > POSTBUILD = > /home/dalao/T440pCorebooting/tianocoreAsSeabiosPayload/tianocore2018/edk2/DuetPkg/PostBuild.bat > -p DuetPkg/DuetPkgIa32.dsc -b DEBUG -a IA32 -t MYTOOLS > --conf=/home/dalao/T440pCorebooting/tianocoreAsSeabiosPayload/tianocore2018/edk2/Conf > all > > > Architecture(s) = IA32 > Build target = DEBUG > Toolchain = MYTOOLS > > Active Platform = > /home/dalao/T440pCorebooting/tianocoreAsSeabiosPayload/tianocore2018/edk2/DuetPkg/DuetPkgIa32.dsc > Flash Image Definition = > /home/dalao/T440pCorebooting/tianocoreAsSeabiosPayload/tianocore2018/edk2/DuetPkg/DuetPkg.fdf > > Processing meta-data ......... done! > Building ... > /home/dalao/T440pCorebooting/tianocoreAsSeabiosPayload/tianocore2018/edk2/MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf > [IA32] > Building ... > /home/dalao/T440pCorebooting/tianocoreAsSeabiosPayload/tianocore2018/edk2/MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf > [IA32] > Building ... > /home/dalao/T440pCorebooting/tianocoreAsSeabiosPayload/tianocore2018/edk2/MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf > [IA32] > /bin/sh: Vcbinnmake.exe: command not found > > > build.py... > : error 7000: Failed to execute command > Vc\bin\nmake.exe /nologo tbuild > [/home/dalao/T440pCorebooting/tianocoreAsSeabiosPayload/tianocore2018/edk2/Build/DuetPkgIA32/DEBUG_MYTOOLS/IA32/MdePkg/Library/BasePcdLibNull/BasePcdLibNull] > > > build.py... > : error 7000: Failed to execute command > Vc\bin\nmake.exe /nologo tbuild > [/home/dalao/T440pCorebooting/tianocoreAsSeabiosPayload/tianocore2018/edk2/Build/DuetPkgIA32/DEBUG_MYTOOLS/IA32/MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull] > > > build.py... > : error 7000: Failed to execute command > Vc\bin\nmake.exe /nologo tbuild > [/home/dalao/T440pCorebooting/tianocoreAsSeabiosPayload/tianocore2018/edk2/Build/DuetPkgIA32/DEBUG_MYTOOLS/IA32/MdePkg/Library/BaseMemoryLib/BaseMemoryLib] > > > build.py... > : error F002: Failed to build module > > /home/dalao/T440pCorebooting/tianocoreAsSeabiosPayload/tianocore2018/edk2/MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf > [IA32, MYTOOLS, DEBUG] > > - Failed - > Build end time: 11:48:28, Mar.15 2020 > Build total time: 00:00:10 > > [dalao@pc edk2]$ > > > Personally, given that it's 2020, I'd not bother with legacy-installed > OSes (or SeaBIOS) outside of use with emulation or if a special use case > demands it. Esp given that it's easy enough to migrate Windows from legacy > to UEFI. > > I tried the tianocore payload by selecting it and using all default > settings. But I can't see anything like the SeaBIOS for me to select the > boot media. But it does boot the archlinux in UEFI mode. I'm wondering is > this the problem with my display (I have tried both "Use libgfxinit" and > "Run VGA Option ROMs" with tianocore) or the tianocore has nothing to > display to select boot media? > > Mar 15, 2020, 10:08 by matt.devill...@gmail.com: > > On Sat, Mar 14, 2020 at 8:33 PM Dalao via coreboot > <coreboot@coreboot.org> wrote: > > > > I have just corebooted T440p. Then I noticed some graphic display > problems... > > Firstly I "Use libgfxinit" with "Legacy VGA text mode", insert a usb disk > with archlinux's latest install image iso. I can see a text mode of > archlinux's start screen. > > https://imgur.com/0QqQgJn > > But when I hit enter, it shows some log till "Triggering uevents" and then > there is no display... > > https://imgur.com/CHI9jeE > > Then I tried "Use libgfxinit" with "Linear "high-resolution" framebuffer". > I can see the graphic mode of archlinux's start screen, but again after I > hit enter and see some logs, there is no display... Also, the display is > not ideal, just at the top left corner not full screen. > > https://imgur.com/dvYLERu > > Also, under this setting, the nvramcui's display becomes bad. > > https://imgur.com/7YG0kOX > > > unfortunately, many legacy bootloaders seem to assume a full array of > VESA video modes will be available, and fail less than gracefully when > that's not the case. With libgfxinit there is no ability to change > video modes -- all that's available is either the native panel > resolution (high resolution framebuffer) or VGA text mode. > > Next I included pci8086,0416.rom vbios and tried "Run VGA Option ROMs" > with "Legacy VGA text mode". This time, I can't see the archlinux start > screen as shown above, there is no display at the beginning. But I can hit > the enter blindly. Then after a while I can see archlinux is booting and > the first line I can see is "Probing EDD (edd=off to disable)...ok" the > archlinux starts ok. > > Lastly I also tried "Run VGA Option ROMs" with "Set framebuffer graphics > resolution" with the default "framebuffer graphics resolution (1024x768 > 16.8M-color (8:8:8))" (although my T440p's resolution is 1920x1080). Also > the Framebuffer mode is changed to "VESA framebuffer". I still can't see > archlinux's start screen... > > > How to make everything work like the vendor BIOS? i.e., I can see both the > archlinux's start screen and it's booting. > > > add the VGA BIOS. set the PCI IDs correctly. Set coreboot display init > to none, and let SeaBIOS run the VBIOS. > > How to fix the nvramcui under "high-resolution" framebuffer"? > > > will work properly with above settings > > Also, as for now it appears seabios can't boot UEFI media. Tianocore by > default can't boot Linux/Windows installed by legacy method (installed when > using seabios). my goal is to add UEFI support through tianocore as seabios > payload (or through tianocore's CSM compatibility support module? ). So > that it can boot both UEFI installed Windows or legacy installed Windows > like the vendor bios can do. How to achieve this? > > > SeaBIOS is a legacy BIOS implementation, so no it can't boot UEFI boot > media. Likewise, Tianocore is a pure UEFI implementation, and doesn't > boot legacy boot media / legacy installed OSes. There should be a way > to use SeaBIOS as a CSM for Tianocore, but currently it's not working > / not implemented (I tried briefly awhile back but didn't have any > luck). > > Personally, given that it's 2020, I'd not bother with legacy-installed > OSes (or SeaBIOS) outside of use with emulation or if a special use > case demands it. Esp given that it's easy enough to migrate Windows > from legacy to UEFI. > > > _______________________________________________ > coreboot mailing list -- coreboot@coreboot.org > To unsubscribe send an email to coreboot-le...@coreboot.org > > _______________________________________________ > coreboot mailing list -- coreboot@coreboot.org > To unsubscribe send an email to coreboot-le...@coreboot.org > > > > _______________________________________________ > coreboot mailing list -- coreboot@coreboot.org > To unsubscribe send an email to coreboot-le...@coreboot.org > > >
_______________________________________________ coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-le...@coreboot.org