public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: ritul guru <ritul.bits@gmail.com>
To: "Guo, Gua" <gua.guo@intel.com>
Cc: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	Mike Maslenkin <mike.maslenkin@gmail.com>
Subject: Re: [edk2-devel] regarding build uefipayload in debug mode in linux
Date: Mon, 6 Feb 2023 22:21:00 +0530	[thread overview]
Message-ID: <CAHHF-2+sLYkyj-h8EqeU_E24DswQVh-L69WH5uFpoUiBQ1yqog@mail.gmail.com> (raw)
In-Reply-To: <BL1PR11MB54781BC926CB2C5874BDA75DEFDA9@BL1PR11MB5478.namprd11.prod.outlook.com>

[-- Attachment #1: Type: text/plain, Size: 16098 bytes --]

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 <gua.guo@intel.com> wrote:

> Do you set clang bin path ?
>
>
>
> *From:* ritul guru <ritul.bits@gmail.com>
> *Sent:* Monday, February 6, 2023 11:12 PM
> *To:* Guo, Gua <gua.guo@intel.com>
> *Cc:* devel@edk2.groups.io; Mike Maslenkin <mike.maslenkin@gmail.com>
> *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 <module>
>     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 <ritul.bits@gmail.com> 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 <gua.guo@intel.com> wrote:
>
> I think you can run “. edksetup.sh” in your local and WORKSPACE will be
> setup automatically.
>
>
>
> *From:* ritul guru <ritul.bits@gmail.com>
> *Sent:* Monday, February 6, 2023 10:22 PM
> *To:* Guo, Gua <gua.guo@intel.com>
> *Cc:* devel@edk2.groups.io; Mike Maslenkin <mike.maslenkin@gmail.com>
> *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 <module>
>     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 <gua.guo@intel.com> 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:<Clang bin 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 <ritul.bits@gmail.com>
> *Sent:* Monday, February 6, 2023 7:37 PM
> *To:* Guo, Gua <gua.guo@intel.com>
> *Cc:* devel@edk2.groups.io; Mike Maslenkin <mike.maslenkin@gmail.com>
> *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 <gua.guo@intel.com> 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 <devel@edk2.groups.io> *On Behalf Of *ritul
> guru
> *Sent:* Friday, February 3, 2023 11:08 PM
> *To:* Mike Maslenkin <mike.maslenkin@gmail.com>
> *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 <mike.maslenkin@gmail.com>
> 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 <ritul.bits@gmail.com> 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
>
> 
>
>

[-- Attachment #2: Type: text/html, Size: 32450 bytes --]

  reply	other threads:[~2023-02-06 16:51 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-02 21:39 regarding build uefipayload in debug mode in linux ritul guru
2023-02-02 23:16 ` [edk2-devel] " Mike Maslenkin
2023-02-03 15:07   ` ritul guru
2023-02-06  0:53     ` Guo, Gua
2023-02-06 11:37       ` ritul guru
2023-02-06 11:47         ` Guo, Gua
2023-02-06 14:21           ` ritul guru
2023-02-06 14:26             ` Guo, Gua
2023-02-06 14:53               ` ritul guru
2023-02-06 14:55                 ` Guo, Gua
2023-02-06 15:12                 ` ritul guru
2023-02-06 15:13                   ` Guo, Gua
2023-02-06 16:51                     ` ritul guru [this message]
2023-02-06 17:52                       ` ritul guru
2023-02-06 18:02                         ` ritul guru
2023-02-06 23:08                   ` Guo, Gua

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAHHF-2+sLYkyj-h8EqeU_E24DswQVh-L69WH5uFpoUiBQ1yqog@mail.gmail.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox