> 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]

Reply via email to