Open miczyg1 opened 1 year ago
@pietrushnic I am wondering what will be the base commit for this branch: https://github.com/Dasharo/coreboot/tree/supermicro_x11-lga1151-series/develop As you merged the common-base-rebased branch, our commits mixed with upstream repo history and it is now impossible to tell apart where upstream is and where our changes are.
I foresee three paths here:
Third path seems the most rightful thing to do.
Created a common-base-4.19 branch with our changes based on upstream 4.19. From that point I have created x11ssh branch: https://github.com/Dasharo/coreboot/tree/supermicro_x11-lga1151-series/develop
The EDK2 build is working with all applicable features. But I have a problem with using SUM to update the firmware. I am afraid of bricking without a recovery possibility. Despite having the license activated, I cannot update BIOS via OOB method.
@miczyg1 I will try to use SUM on my side and we will see if I'm facing the same issues as you.
I guess SUM discussion belongs more to #327 so I will continue there.
I tried to build with most recent coreboot-sdk (2022-12-18_3b32af950d
) and get following trace:
Processing meta-data ......#
/home/coreboot/coreboot/payloads/external/edk2/workspace/Dasharo/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py:532: DeprecationWarning: isSet() is deprecated, use is_set() instead
return not BuildTask._SchedulerStopped.isSet()
build.py...
: error C0DE: Unknown fatal error when processing [/home/coreboot/coreboot/payloads/external/edk2/workspace/Dasharo/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf [X64, COREBOOT, RELEASE]]
(Please send email to devel@edk2.groups.io for help, attaching following call stack trace!)
(Python 3.10.9 on linux) Traceback (most recent call last):
File "/home/coreboot/coreboot/payloads/external/edk2/workspace/Dasharo/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", line 2586, in Main
MyBuild.Launch()
File "/home/coreboot/coreboot/payloads/external/edk2/workspace/Dasharo/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", line 2381, in Launch
self._MultiThreadBuildPlatform()
File "/home/coreboot/coreboot/payloads/external/edk2/workspace/Dasharo/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", line 2231, in _MultiThreadBuildPlatform
Wa, self.BuildModules = self.PerformAutoGen(BuildTarget,ToolChain)
File "/home/coreboot/coreboot/payloads/external/edk2/workspace/Dasharo/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", line 2106, in PerformAutoGen
CmdListDict = self._GenFfsCmd(Wa.ArchList)
File "/home/coreboot/coreboot/payloads/external/edk2/workspace/Dasharo/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", line 2003, in _GenFfsCmd
GenFfsDict = GenFds.GenFfsMakefile('', GlobalData.gFdfParser, self, ArchList, GlobalData)
File "/home/coreboot/coreboot/payloads/external/edk2/workspace/Dasharo/BaseTools/Source/Python/GenFds/GenFds.py", line 541, in GenFfsMakefile
FdObj.GenFd(Flag=True)
File "/home/coreboot/coreboot/payloads/external/edk2/workspace/Dasharo/BaseTools/Source/Python/GenFds/Fd.py", line 131, in GenFd
RegionObj.AddToBuffer (FdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFdsGlobalVariable.ImageBinDict, self.DefineVarDict, Flag=Flag)
File "/home/coreboot/coreboot/payloads/external/edk2/workspace/Dasharo/BaseTools/Source/Python/GenFds/Region.py", line 134, in AddToBuffer
FvObj.AddToBuffer(FvBuffer, FvBaseAddress, BlockSize, BlockNum, ErasePolarity, Flag=Flag)
File "/home/coreboot/coreboot/payloads/external/edk2/workspace/Dasharo/BaseTools/Source/Python/GenFds/Fv.py", line 127, in AddToBuffer
FileName = FfsFile.GenFfs(MacroDict, FvParentAddr=BaseAddress, IsMakefile=Flag, FvName=self.UiFvName)
File "/home/coreboot/coreboot/payloads/external/edk2/workspace/Dasharo/BaseTools/Source/Python/GenFds/FfsInfStatement.py", line 518, in GenFfs
InputSectList, InputSectAlignments = self.__GenComplexFileSection__(Rule, FvChildAddr, FvParentAddr, IsMakefile=IsMakefile)
File "/home/coreboot/coreboot/payloads/external/edk2/workspace/Dasharo/BaseTools/Source/Python/GenFds/FfsInfStatement.py", line 969, in __GenComplexFileSection__
SectList, Align = Sect.GenSection(self.OutputPath, self.ModuleGuid, SecIndex, self.KeyStringList, self, IsMakefile = IsMakefile)
File "/home/coreboot/coreboot/payloads/external/edk2/workspace/Dasharo/BaseTools/Source/Python/GenFds/EfiSection.py", line 318, in GenSection
GenFdsGlobalVariable.GenerateSection(OutputFile,
File "/home/coreboot/coreboot/payloads/external/edk2/workspace/Dasharo/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py", line 519, in GenerateSection
if (os.path.getsize(Output) >= GenFdsGlobalVariable.LARGE_FILE_SIZE and
File "/home/coreboot/coreboot/payloads/external/edk2/workspace/Dasharo/BaseTools/Source/Python/Common/LongFilePathOsPath.py", line 21, in getsize
return os.path.getsize(LongFilePath(filename))
File "/usr/lib/python3.10/genericpath.py", line 50, in getsize
return os.stat(filename).st_size
FileNotFoundError: [Errno 2] No such file or directory: '/home/coreboot/coreboot/payloads/external/edk2/workspace/Build/UefiPayloadPkgX64/RELEASE_COREBOOT/FV/Ffs/CB683001-379F-48C7-B7B6-707D29454BF5exfat/CB683001-379F-48C7-B7B6-707D29454BF5SEC2.1.pe32'
- Failed -
Build end time: 23:08:59, Feb.24 2023
Build total time: 00:00:06
Failed!
make[1]: *** [Makefile:304: /home/coreboot/coreboot/payloads/external/edk2/workspace/Build/UefiPayloadPkgX64/RELEASE_COREBOOT/FV/UEFIPAYLOAD.fd] Error 1
make: *** [payloads/external/Makefile.inc:162: build/UEFIPAYLOAD.fd] Error 2
When using 2021-09-23_b0d87f753c
build ends up correctly, but warnings may be concerning:
(...)
CC firmware/2lib/2tpm_bootmode.o
CC firmware/lib/cgptlib/cgptlib.o
CC firmware/lib20/api_kernel.o
CC firmware/lib20/kernel.o
CC firmware/stub/vboot_api_stub_stream.o
RM libvboot_util.a
AR libvboot_util.a
RM vboot_fw.a
AR vboot_fw.a
LD futility/futility
/usr/bin/ld: /home/coreboot/coreboot/build/util/vboot_lib/libvboot_util.a(2crypto.o): warning: relocation in read-only section `.rodata.vb2_sig_names'
/usr/bin/ld: warning: creating DT_TEXTREL in a PIE
CREATE GBB (without BMPFV)
successfully created new GBB to: build/gbb.stub.tmp
SETUP GBB
- import root_key from 3rdparty/vboot/tests/devkeys/root_key.vbpubk: success
- import recovery_key from 3rdparty/vboot/tests/devkeys/recovery_key.vbpubk: success
successfully saved new image to: build/gbb.region.tmp
WRITE GBB
** WARNING **
coreboot has been built without an Intel Firmware Descriptor.
Never write a complete coreboot.rom without an IFD to your
board's flash chip! You can use flashrom's IFD or layout
parameters to flash only to the BIOS region.
WARNING: prepare_slot: VBLOCK_A keyblock is invalid.
WARNING: prepare_slot: VBLOCK_B keyblock is invalid.
FLASHMAP Layout generated for RO, A and B partition.
If we should not care about that, then I would add that information to building documentation.
@pietrushnic 2021-09-23_b0d87f753c is the latest one that works. We cannot use newer until edk2 is rebased.
I agree that vboot utilities make a huge fuss with all those warnings... Things are much more cleaner without vboot I think.
I will ad notes in building manual that those warning are nothing to worry about.
We cannot use newer until edk2 is rebased.
Do we necessarily need to build coreboot and edk2 in the same container? It is not uncommon that payload is build separately. We could even share the same payload build for a few platforms.
We cannot use newer until edk2 is rebased.
Do we necessarily need to build coreboot and edk2 in the same container? It is not uncommon that payload is build separately. We could even share the same payload build for a few platforms.
The thing is you would have to pass all the environment variables and coreboot config options to edk2 build system. Furthermore you would have to switch containers back to use cbfstool and include the freshly built UEFI Payload. It will be much more mess than it is now. Lastly, avoiding edk2 rebase by splitting builds is not a solution.
Dasharo version (if applicable) v0.1.0
Dasharo variant (if applicable) Dasharo compatible with Supermicro X11SSH
Affected component(s) or functionality (if applicable) coreboot
Brief summary Checklist:
<board>/release
branchCONFIG_LOCALVERSION
tov0.1.0
in miniconfig fileIf all above points are fulfilled, tag the repository with
supermicro_x11ssh_v0.1.0
.