PATH=$PATH:/usr/bin/clang yes, set it as above. *Thanks & RegardsRitul Guru+91-9916513186* On Mon, Feb 6, 2023 at 8:43 PM Guo, Gua wrote: > Do you set clang bin path ? > > > > *From:* ritul guru > *Sent:* Monday, February 6, 2023 11:12 PM > *To:* Guo, Gua > *Cc:* devel@edk2.groups.io; Mike Maslenkin > *Subject:* Re: [edk2-devel] regarding build uefipayload in debug mode in > linux > > > > getting below error: > > > > build -p UefiPayloadPkg/UefiPayloadPkg.dsc -b DEBUG -a IA32 -a X64 -m > UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf -t CLANGDWARF -y > /home/a/src/opensource/edk2/Build/UefiPayloadPkgX64/UefiUniversalPayloadEntry.txt > -D UNIVERSAL_PAYLOAD=TRUE -D CPU_TIMER_LIB_ENABLE=FALSE > Build environment: > Linux-5.10.102.1-microsoft-standard-WSL2-x86_64-with-glibc2.29 > Build start time: 20:37:47, Feb.06 2023 > > WORKSPACE = /home/a/src/opensource/edk2 > EDK_TOOLS_PATH = /home/a/src/opensource/edk2/BaseTools > CONF_PATH = /home/a/src/opensource/edk2/Conf > PYTHON_COMMAND = /usr/bin/python3.8 > > > Processing meta-data . > Architecture(s) = IA32 X64 > Build target = DEBUG > Toolchain = CLANGDWARF > > Active Platform = > /home/a/src/opensource/edk2/UefiPayloadPkg/UefiPayloadPkg.dsc > Active Module = > /home/a/src/opensource/edk2/UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf > .build: : warning: The PCD was not specified by any INF module in the > platform for the given architecture. > PCD: [gPcAtChipsetPkgTokenSpaceGuid.PcdRtcIndexRegister] > Platform: [UefiPayloadPkg.dsc] > Arch: ['IA32'] > build: : warning: The PCD was not specified by any INF module in the > platform for the given architecture. > PCD: [gPcAtChipsetPkgTokenSpaceGuid.PcdRtcTargetRegister] > Platform: [UefiPayloadPkg.dsc] > Arch: ['IA32'] > done! > Generating code . done! > Generating makefile . done! > Building ... > /home/a/src/opensource/edk2/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf > [IA32] > "clang" -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall > -Werror -Wno-array-bounds -include AutoGen.h -fno-common > -ffunction-sections -fdata-sections > -DSTRING_ARRAY_NAME=BaseUefiCpuLibStrings -Wno-parentheses-equality > -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare > -Wno-empty-body -Wno-unused-const-variable -Wno-varargs > -Wno-unknown-warning-option -Wno-unused-but-set-variable > -Wno-unused-const-variable -Wno-unaligned-access -fno-stack-protector > -mms-bitfields -Wno-address -Wno-shift-negative-value -Wno-unknown-pragmas > -Wno-incompatible-library-redeclaration -fno-asynchronous-unwind-tables > -mno-sse -mno-mmx -msoft-float -mno-implicit-float > -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang > -funsigned-char -fno-ms-extensions -Wno-null-dereference -m32 -Oz -flto > -march=i586 -target i686-pc-linux-gnu -g -malign-double -D > DISABLE_NEW_DEPRECATED_INTERFACES -c -o > /home/a/src/opensource/edk2/Build/UefiPayloadPkgX64/DEBUG_CLANGDWARF/IA32/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib/OUTPUT/./BaseUefiCpuLib.obj > -I/home/a/src/opensource/edk2/UefiCpuPkg/Library/BaseUefiCpuLib/Ia32 > -I/home/a/src/opensource/edk2/UefiCpuPkg/Library/BaseUefiCpuLib > -I/home/a/src/opensource/edk2/Build/UefiPayloadPkgX64/DEBUG_CLANGDWARF/IA32/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib/DEBUG > -I/home/a/src/opensource/edk2/MdePkg > -I/home/a/src/opensource/edk2/MdePkg/Include > -I/home/a/src/opensource/edk2/MdePkg/Test/UnitTest/Include > -I/home/a/src/opensource/edk2/MdePkg/Include/Ia32 > -I/home/a/src/opensource/edk2/UefiCpuPkg > -I/home/a/src/opensource/edk2/UefiCpuPkg/Include > /home/a/src/opensource/edk2/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.c > /bin/sh: 1: clang: not found > make: *** [GNUmakefile:344: > /home/a/src/opensource/edk2/Build/UefiPayloadPkgX64/DEBUG_CLANGDWARF/IA32/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib/OUTPUT/BaseUefiCpuLib.obj] > Error 127 > > > build.py... > : error 7000: Failed to execute command > make tbuild > [/home/a/src/opensource/edk2/Build/UefiPayloadPkgX64/DEBUG_CLANGDWARF/IA32/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib] > > > build.py... > : error F002: Failed to build module > /home/a/src/opensource/edk2/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf > [IA32, CLANGDWARF, DEBUG] > > - Failed - > Build end time: 20:37:54, Feb.06 2023 > Build total time: 00:00:07 > > - Failed - error happened when run command: build -p > UefiPayloadPkg/UefiPayloadPkg.dsc -b DEBUG -a IA32 -a X64 -m > UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf -t CLANGDWARF -y > /home/a/src/opensource/edk2/Build/UefiPayloadPkgX64/UefiUniversalPayloadEntry.txt > -D UNIVERSAL_PAYLOAD=TRUE -D CPU_TIMER_LIB_ENABLE=FALSE > Traceback (most recent call last): > File "UefiPayloadPkg/UniversalPayloadBuild.py", line 172, in > main() > File "UefiPayloadPkg/UniversalPayloadBuild.py", line 168, in main > BuildUniversalPayload(args, MacroList) > File "UefiPayloadPkg/UniversalPayloadBuild.py", line 108, in > BuildUniversalPayload > RunCommand(BuildModule) > File "UefiPayloadPkg/UniversalPayloadBuild.py", line 51, in RunCommand > raise Exception("ERROR: when run command: %s"%cmd) > Exception: ERROR: when run command: build -p > UefiPayloadPkg/UefiPayloadPkg.dsc -b DEBUG -a IA32 -a X64 -m > UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf -t CLANGDWARF -y > /home/a/src/opensource/edk2/Build/UefiPayloadPkgX64/UefiUniversalPayloadEntry.txt > -D UNIVERSAL_PAYLOAD=TRUE -D CPU_TIMER_LIB_ENABLE=FALSE > > > > > > > > *Thanks & Regards Ritul Guru +91-9916513186* > > > > > > On Mon, Feb 6, 2023 at 8:23 PM ritul guru wrote: > > thanks, > > > > ./cbfstool coreboot.rom remove -r COREBOOT -n fallback/payload > > ./cbfstool coreboot.rom add-payload -r COREBOOT -n fallback/payload -f > ShimLayer.elf > > ./cbfstool coreboot.rom remove -r COREBOOT -n img/UniversalPayload > > ./cbfstool coreboot.rom add-flat-binary -r COREBOOT -n > img/UniversalPayload -f UniversalPayload.elf -l 0x200000 -e 0x100 -c lzma > > > > with above commands, we can inject shim.elf and uefipayload.elf into > coreboot image, and should be able to boot from this payload? > > > > > > *Thanks & Regards Ritul Guru +91-9916513186* > > > > > > On Mon, Feb 6, 2023 at 7:56 PM Guo, Gua wrote: > > I think you can run “. edksetup.sh” in your local and WORKSPACE will be > setup automatically. > > > > *From:* ritul guru > *Sent:* Monday, February 6, 2023 10:22 PM > *To:* Guo, Gua > *Cc:* devel@edk2.groups.io; Mike Maslenkin > *Subject:* Re: [edk2-devel] regarding build uefipayload in debug mode in > linux > > > > workspace needs to be set to any value? > > > > 0 $ bash UefiPayloadPkg/UniversalPayloadBuild.sh -t GCC5 -a IA32 -a X64 -D > CPU_TIMER_LIB_ENABLE=FALSE > python_exe= > Traceback (most recent call last): > File "UefiPayloadPkg/UniversalPayloadBuild.py", line 172, in > main() > File "UefiPayloadPkg/UniversalPayloadBuild.py", line 168, in main > BuildUniversalPayload(args, MacroList) > File "UefiPayloadPkg/UniversalPayloadBuild.py", line 58, in > BuildUniversalPayload > BuildDir = os.path.join(os.environ['WORKSPACE'], > os.path.normpath("Build/UefiPayloadPkgX64")) > File "/usr/lib/python3.8/os.py", line 675, in __getitem__ > raise KeyError(key) from None > KeyError: 'WORKSPACE' > > > > > > > > *Thanks & Regards Ritul Guru +91-9916513186* > > > > > > On Mon, Feb 6, 2023 at 5:17 PM Guo, Gua wrote: > > UniversalPayload.sh have Clang tool chain dependency. > > > > I assume your machine is ubuntu-20.10, please download it. And set use > export PATH=$PATH: to prevent the issue. > > > > > https://github.com/llvm/llvm-project/releases/download/llvmorg-11.1.0/clang+llvm-11.1.0-x86_64-linux-gnu-ubuntu-20.10.tar.xz > > > > Thanks, > > Gua > > > > *From:* ritul guru > *Sent:* Monday, February 6, 2023 7:37 PM > *To:* Guo, Gua > *Cc:* devel@edk2.groups.io; Mike Maslenkin > *Subject:* Re: [edk2-devel] regarding build uefipayload in debug mode in > linux > > > > Thanks, > > > > 17:05 $ ./UefiPayloadPkg/UniversalPayloadBuild.sh -t GCC5 -a IA32 -a X64 > -D CPU_TIMER_LIB_ENABLE=FALSE > python_exe=/usr/bin/python3.8 > "llvm-objcopy" --version > /bin/sh: 1: llvm-objcopy: not found > - Failed - error happened when run command: "llvm-objcopy" --version > - Failed - Please check if LLVM is installed or if CLANG_BIN is set > correctly > ✘-1 ~/src/opensource/edk2 [master ↓·22|✚ 1] > > > > > > I am seeing above errors, is clang required for UniversalPayloadBuild.sh > compilation? > > > > > > > > > > *Thanks & Regards Ritul Guru +91-9916513186* > > > > > > On Mon, Feb 6, 2023 at 6:23 AM Guo, Gua wrote: > > I just quickly check your command, look like it incorrect UefiPayload > > > > For Uefi Payload > > - build -p "UefiPayloadPkg/UefiPayloadPkg.dsc" -b DEBUG -t GCC5 -a > IA32 -a X64 -D BOOTLOADER=COREBOOT > > > > For Uefi Universal Payload > > - *Coreboot * > > git clone https://github.com/StarLabsLtd/coreboot.git Coreboot > > cd Coreboot > > git submodule update --init > > make iasl > > make crossgcc > > make defconfig KBUILD_DEFCONFIG=config.starlabs_qemu > > make > > > > - *Edk2* > > git clone https://github.com/tianocore/edk2.git Edk2 > > cd Edk2 > > git submodule update --init > > source ./edksetup.sh > > make -C ./BaseTools > > bash UefiPayloadPkg/UniversalPayloadBuild.sh -t GCC5 -a IA32 -D > CPU_TIMER_LIB_ENABLE=FALSE > > > > - *ShimLayer* > > git clone > https://github.com/UniversalScalableFirmware/upl.coreboot.shimlayer > ShimLayer > > cd ShimLayer > > bash CorebootShimBuild.sh > > > > - *Test Procedure* > > > 1. Copy "ShimLayer/Build/ShimLayer.elf" and > "Edk2/Build/UefiPayloadPkgX64/UniversalPayload.elf" to “Coreboot/build”. > > 2. cd Coreboot/build > > 3. Do the following commands. > > ./cbfstool coreboot.rom remove -r COREBOOT -n fallback/payload > > ./cbfstool coreboot.rom add-payload -r COREBOOT -n fallback/payload -f > ShimLayer.elf > > ./cbfstool coreboot.rom remove -r COREBOOT -n img/UniversalPayload > > ./cbfstool coreboot.rom add-flat-binary -r COREBOOT -n > img/UniversalPayload -f UniversalPayload.elf -l 0x200000 -e 0x100 -c lzma > > qemu-system-x86_64 -bios coreboot.rom -serial stdio -M q35 > > > > Thanks, > > Gua > > *From:* devel@edk2.groups.io *On Behalf Of *ritul > guru > *Sent:* Friday, February 3, 2023 11:08 PM > *To:* Mike Maslenkin > *Cc:* devel@edk2.groups.io > *Subject:* Re: [edk2-devel] regarding build uefipayload in debug mode in > linux > > > > Thanks, > > > > build -p "UefiPayloadPkg/UefiPayloadPkg.dsc" *-b DEBUG* -t GCC5 -a IA32 > -a X64 -D COREBOOT > > > > I used above cmd, added DEBUG option by seeing NO debug messages coming > from uefipayload. > > any idea how to enable debug messages coming from uefipayload built with > above cmd? > > > > > > > > > > > > *Thanks & Regards Ritul Guru +91-9916513186* > > > > > > On Fri, Feb 3, 2023 at 4:46 AM Mike Maslenkin > wrote: > > Hi Ritul Guru. > > There is a misprint in path to dsc file. > The path should be "UefiPayloadPkg/UefiPayloadPkg.dsc" > But there is another issue with your command line exists. > The instructions you are referred to [1] contain a sentence: > "NOTE: Pure 32bit UEFI payload support could be added if required > later.", i.e. it won't build. > So, you need to build either pure X64 or X64 build with IA32 entry. > > The command line for the latter is: > "build -p UefiPayloadPkg/UefiPayloadPkg.dsc -t GCC5 -a IA32 -a X64" > > *[1] > https://github.com/tianocore/edk2/blob/master/UefiPayloadPkg/BuildAndIntegrationInstructions.txt#L55 > > Regards, > Mike. > > > > On Fri, Feb 3, 2023 at 1:37 AM ritul guru wrote: > > > > > > Hi, > > I was following below link to build UEfiPayload for coreboot to boot > from, > > > > > https://github.com/tianocore/edk2/blob/master/UefiPayloadPkg/BuildAndIntegrationInstructions.txt > > > > but getting below error, > > would appreciate help, thanks. > > > > > > ~/src/opensource/edk2 [master| ] > > 03:04 $ build -p UefiPayloadPkg\UefiPayloadPkg.dsc -t GCC5 -a IA32 > > Build environment: > Linux-5.10.102.1-microsoft-standard-WSL2-x86_64-with-glibc2.29 > > Build start time: 03:04:57, Feb.03 2023 > > > > WORKSPACE = /home//src/opensource/edk2 > > EDK_TOOLS_PATH = /home//src/opensource/edk2/BaseTools > > CONF_PATH = /home//src/opensource/edk2/Conf > > PYTHON_COMMAND = /usr/bin/python3.8 > > > > > > build.py... > > : error C0DE: Unknown fatal error when processing > [/home//src/opensource/edk2/UefiPayloadPkgUefiPayloadPkg.dsc] > > > > (Please send email to devel@edk2.groups.io for help, attaching > following call stack trace!) > > > > (Python 3.8.10 on linux) Traceback (most recent call last): > > File > "/home//src/opensource/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", > line 2692, in Main > > MyBuild = Build(Target, Workspace, Option,LogQ) > > File > "/home//src/opensource/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", > line 815, in __init__ > > self.InitPreBuild() > > File > "/home//src/opensource/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", > line 1015, in InitPreBuild > > self.LoadConfiguration() > > File > "/home//src/opensource/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", > line 971, in LoadConfiguration > > self.GetToolChainAndFamilyFromDsc (self.PlatformFile) > > File > "/home//src/opensource/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", > line 905, in GetToolChainAndFamilyFromDsc > > dscobj = self.BuildDatabase[File, BuildArch] > > File > "/home//src/opensource/edk2/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py", > line 104, in __getitem__ > > BuildObject = self.CreateBuildObject(FilePath, Arch, Target, > Toolchain) > > File > "/home//src/opensource/edk2/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py", > line 120, in CreateBuildObject > > MetaFileStorage(self.WorkspaceDb, FilePath, FileType) > > File > "/home//src/opensource/edk2/BaseTools/Source/Python/Workspace/MetaFileTable.py", > line 426, in __new__ > > reval = Class._FILE_TABLE_[FileType](*Args) > > File > "/home//src/opensource/edk2/BaseTools/Source/Python/Workspace/MetaFileTable.py", > line 303, in __init__ > > MetaFileTable.__init__(self, Cursor, MetaFile, MODEL_FILE_DSC, > Temporary, FromItem) > > File > "/home//src/opensource/edk2/BaseTools/Source/Python/Workspace/MetaFileTable.py", > line 39, in __init__ > > MetaFile.TimeStamp, > > File > "/home//src/opensource/edk2/BaseTools/Source/Python/Common/Misc.py", line > 1539, in TimeStamp > > return os.stat(self.Path)[8] > > File > "/home//src/opensource/edk2/BaseTools/Source/Python/Common/LongFilePathOs.py", > line 51, in stat > > return os.stat(LongFilePath(path)) > > FileNotFoundError: [Errno 2] No such file or directory: > '/home//src/opensource/edk2/UefiPayloadPkgUefiPayloadPkg.dsc' > > > > > > > > > > > > Thanks & Regards > > Ritul Guru > > +91-9916513186 > > > >