> 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 [email protected]: > 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 <> [email protected]> > > 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 >> [email protected]>> : >> >>> >>> >>> On Sat, Mar 14, 2020, 11:02 PM Dalao <>>> [email protected]>>> > 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 >>>> [email protected]>>>> : >>>> >>>>> On Sat, Mar 14, 2020 at 8:33 PM Dalao via coreboot >>>>> <>>>>> [email protected]>>>>> > 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 -- >>>>>> [email protected] >>>>>> To unsubscribe send an email to >>>>>> [email protected] >>>>>> >>>>> _______________________________________________ >>>>> coreboot mailing list -- >>>>> [email protected] >>>>> To unsubscribe send an email to >>>>> [email protected] >>>>> >>>> >>>> >> >> _______________________________________________ >> coreboot mailing list -- >> [email protected] >> To unsubscribe send an email to >> [email protected] >>
_______________________________________________ coreboot mailing list -- [email protected] To unsubscribe send an email to [email protected]

