Giter VIP home page Giter VIP logo

lx2160a_uefi's People

Contributors

bcran avatar jnettlet avatar josua-sr avatar rabeeh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lx2160a_uefi's Issues

SMBIOS uses the same UUID for every system

The SMBIOS Type 1 table uses the same hard-coded system UUID for all systems, which isn't a good idea. The specification says that if a UUID isn't available, it can be all zeroes.

/**
 * System information (section 7.2)
 */
STATIC CONST ARM_TYPE1 mArmDefaultType1 = {
  {
    { /* SMBIOS_STRUCTURE Hdr */
      EFI_SMBIOS_TYPE_SYSTEM_INFORMATION,
      sizeof (SMBIOS_TABLE_TYPE1),
      SMBIOS_HANDLE_PI_RESERVED,
    },
    1,     /* Manufacturer */
    2,     /* Product Name */
    3,     /* Version */
    4,     /* Serial */
    { 0x8a95d198, 0x7f46, 0x11e5, { 0xbf,0x8b,0x08,0x00,0x27,0x04,0xd4,0x8e }},    /* UUID */

https://github.com/SolidRun/edk2-platforms/blob/696d322818631d25c2295173258b0ededd847607/Platform/SolidRun/LX2160aCex7/SmbiosPlatformDxe/SmbiosPlatformDxe.c

edk2 is not initialized properly

in script edk2 repository is initialized within flag but variable value is not retrieved in script

###############################################################################

submodule init

###############################################################################
if [ "x$MAKE_CLEAN" != "x" ]; then
git submodule init
git submodule update --remote
fi

But MAKE_CLEAN variable is not initialized or retrieved from command line.

rtc-efi is unreachable

From openSUSE Tumbleweed (kernel 5.11.6) with latest firmware, I cannot read rtc-efi.

Kernel log:

[    2.717445] rtc-efi rtc-efi.0: registered as rtc0
[    2.719612] rtc-efi rtc-efi.0: hctosys: unable to read the hardware clock

And if I try to read it from user-space:

hwclock: ioctl(RTC_RD_TIME) to /dev/rtc0 to read the time failed: Input/output error

Is it something known?

error F002: failed to build module build/tianocore/edk2-platforms/Silicon/NXP/LX2160A/AcpiTables/LX2160aCex7.inf

Here's what I did:

set -euvx
mkdir -vp /tmp/lx2160a_uefi
cd /tmp/lx2160a_uefi
find . -mindepth 1 -delete
git clone https://github.com/SolidRun/lx2160a_uefi.git .
INITIALIZE=1 ./runme.sh
./runme.sh

Here's what happened:

...
build.py...
 : error F002: Failed to build module
	/tmp/lx2160a_uefi/build/tianocore/edk2-platforms/Silicon/NXP/LX2160A/AcpiTables/LX2160aCex7.inf [AARCH64, GCC5, RELEASE]

- Failed -

Here's the complete log of stdout and stderr:

build.errout.txt

A PYTHON_COMMAND vs. python build failure

My recent build attempt after synchronizing to the recently updated git repository got:

make[1]: Entering directory '/root/lx2160a_uefi/build/tianocore/edk2/BaseTools/Source/Python'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/root/lx2160a_uefi/build/tianocore/edk2/BaseTools/Source/Python'
make -C Tests
make[1]: Entering directory '/root/lx2160a_uefi/build/tianocore/edk2/BaseTools/Tests'
/bin/sh: 1: python: not found
make[1]: *** [GNUmakefile:11: test] Error 127
make[1]: Leaving directory '/root/lx2160a_uefi/build/tianocore/edk2/BaseTools/Tests'
make: *** [GNUmakefile:19: Tests] Error 2
make: Leaving directory '/root/lx2160a_uefi/build/tianocore/edk2/BaseTools'

A local hack that enabled getting past this was to replace a "python" with a "python3" in the specific GNUmakefile:

# git diff --ignore-cr-at-eol GNUmakefile
diff --git a/BaseTools/Tests/GNUmakefile b/BaseTools/Tests/GNUmakefile
index 1cb77f84b1..8db874d2a1 100644
--- a/BaseTools/Tests/GNUmakefile
+++ b/BaseTools/Tests/GNUmakefile
@@ -8,7 +8,7 @@
 all: test
 
 test:
-       @if command -v $(PYTHON_COMMAND) >/dev/null 1; then $(PYTHON_COMMAND) RunTests.py; else python RunTests.py; fi
+       @if command -v $(PYTHON_COMMAND) >/dev/null 1; then $(PYTHON_COMMAND) RunTests.py; else python3 RunTests.py; fi^M
 
 clean:
        find . -name '*.pyc' -exec rm '{}' ';'

I could have used python3.9 instead in my hack for my local context:

# python3 --version
Python 3.9.2

The context is ubuntu on a RPi4B where I've been building lx2160a_uefi before (just to get more familiar with procedures, since the lx2160a has not arrived yet). I did a rm -fr, git clone, and INITIALIZE=1 runme.sh sequence just before it produced the reported failure of a build. python3.9 was present before I started this and had been in place for a while.

I've not tracked down why $(PYTHON_COMMAND) use in the specific GNUmakefile did not work. The context does have python3 where runme.sh expects:

# grep -r PYTHON_COMMAND runme.sh | more
PYTHON_COMMAND=/usr/bin/python3 make -C $ROOTDIR/build/tianocore/edk2/BaseTools
# which python3
/usr/bin/python3

ls-addni: MC error: Unsupported operation (status 0xb)

I'm trying to get the SFP+ Ports on the Honeycomb working.

Using the latest kernel from the linux-5.10.y-cex7 branch and UEFI from this repository, ls-addni dpmac.9 fails with MC error: Unsupported operation (status 0xb).

Using the same Kernel, but bootet from u-boot, everything works perfectly, except I'm missing 2G of RAM, which is why I was trying the UEFI boot method.

I was wondering, what the difference was and ran sh -x ls-addni to see which command was actually failing.
restool --script dpni create --options= --num-queues=16 fails on UEFI with the error above.

ls-addni log u-boot: https://gist.github.com/lemmi/1d54353e8e2f5fb14f44245bf3263d14
ls-addni log UEFI: https://gist.github.com/lemmi/6b87193888617c16931cb81fdd682d3c
diff -u1 u-boot uefi:

--- u-boot	2021-04-13 10:25:54.772189263 +0200
+++ uefi	2021-04-13 10:11:40.986419934 +0200
@@ -76,3 +76,3 @@
 + restool dpmac info dpmac.9
-+ cep=dpmac version: 4.7
++ cep=dpmac version: 4.5
 dpmac object id/portal id: 9
@@ -83,3 +83,3 @@
 DPMAC ethernet interface: DPMAC_ETH_IF_XFI
-MAC address: 96:0f:b5:73:07:fa
+MAC address: fe:76:20:17:00:09
 maximum supported rate 10000 Mbps
@@ -114,3 +114,3 @@
 tx bytes: 0
-+ [ dpmac version: 4.7
++ [ dpmac version: 4.5
 dpmac object id/portal id: 9
@@ -121,3 +121,3 @@
 DPMAC ethernet interface: DPMAC_ETH_IF_XFI
-MAC address: 96:0f:b5:73:07:fa
+MAC address: fe:76:20:17:00:09
 maximum supported rate 10000 Mbps
@@ -151,3 +151,3 @@
 tx b-pause: 0
-tx bytes: 0 != dpmac version: 4.7
+tx bytes: 0 != dpmac version: 4.5
 dpmac object id/portal id: 9
@@ -158,3 +158,3 @@
 DPMAC ethernet interface: DPMAC_ETH_IF_XFI
-MAC address: 96:0f:b5:73:07:fa
+MAC address: fe:76:20:17:00:09
 maximum supported rate 10000 Mbps
@@ -211,5 +211,5 @@
 + restool --script dpbp create --container=dprc.1
-+ local obj=dpbp.2
-+ [ -z dpbp.2 ]
-+ restool dprc assign dprc.1 --object=dpbp.2 --plugged=1
++ local obj=dpbp.1
++ [ -z dpbp.1 ]
++ restool dprc assign dprc.1 --object=dpbp.1 --plugged=1
 + create_dpmcp dprc.1
@@ -224,5 +224,5 @@
 + restool --script dpcon create --num-priorities=2 --container=dprc.1
-+ local obj=dpcon.32
-+ [ -z dpcon.32 ]
-+ restool dprc assign dprc.1 --object=dpcon.32 --plugged=1
++ local obj=dpcon.16
++ [ -z dpcon.16 ]
++ restool dprc assign dprc.1 --object=dpcon.16 --plugged=1
 + [ 0 -ne 0 ]
@@ -231,5 +231,5 @@
 + restool --script dpcon create --num-priorities=2 --container=dprc.1
-+ local obj=dpcon.33
-+ [ -z dpcon.33 ]
-+ restool dprc assign dprc.1 --object=dpcon.33 --plugged=1
++ local obj=dpcon.17
++ [ -z dpcon.17 ]
++ restool dprc assign dprc.1 --object=dpcon.17 --plugged=1
 + [ 0 -ne 0 ]
@@ -238,5 +238,5 @@
 + restool --script dpcon create --num-priorities=2 --container=dprc.1
-+ local obj=dpcon.34
-+ [ -z dpcon.34 ]
-+ restool dprc assign dprc.1 --object=dpcon.34 --plugged=1
++ local obj=dpcon.18
++ [ -z dpcon.18 ]
++ restool dprc assign dprc.1 --object=dpcon.18 --plugged=1
 + [ 0 -ne 0 ]
@@ -245,5 +245,5 @@
 + restool --script dpcon create --num-priorities=2 --container=dprc.1
-+ local obj=dpcon.35
-+ [ -z dpcon.35 ]
-+ restool dprc assign dprc.1 --object=dpcon.35 --plugged=1
++ local obj=dpcon.19
++ [ -z dpcon.19 ]
++ restool dprc assign dprc.1 --object=dpcon.19 --plugged=1
 + [ 0 -ne 0 ]
@@ -252,5 +252,5 @@
 + restool --script dpcon create --num-priorities=2 --container=dprc.1
-+ local obj=dpcon.36
-+ [ -z dpcon.36 ]
-+ restool dprc assign dprc.1 --object=dpcon.36 --plugged=1
++ local obj=dpcon.20
++ [ -z dpcon.20 ]
++ restool dprc assign dprc.1 --object=dpcon.20 --plugged=1
 + [ 0 -ne 0 ]
@@ -259,5 +259,5 @@
 + restool --script dpcon create --num-priorities=2 --container=dprc.1
-+ local obj=dpcon.37
-+ [ -z dpcon.37 ]
-+ restool dprc assign dprc.1 --object=dpcon.37 --plugged=1
++ local obj=dpcon.21
++ [ -z dpcon.21 ]
++ restool dprc assign dprc.1 --object=dpcon.21 --plugged=1
 + [ 0 -ne 0 ]
@@ -266,5 +266,5 @@
 + restool --script dpcon create --num-priorities=2 --container=dprc.1
-+ local obj=dpcon.38
-+ [ -z dpcon.38 ]
-+ restool dprc assign dprc.1 --object=dpcon.38 --plugged=1
++ local obj=dpcon.22
++ [ -z dpcon.22 ]
++ restool dprc assign dprc.1 --object=dpcon.22 --plugged=1
 + [ 0 -ne 0 ]
@@ -273,5 +273,5 @@
 + restool --script dpcon create --num-priorities=2 --container=dprc.1
-+ local obj=dpcon.39
-+ [ -z dpcon.39 ]
-+ restool dprc assign dprc.1 --object=dpcon.39 --plugged=1
++ local obj=dpcon.23
++ [ -z dpcon.23 ]
++ restool dprc assign dprc.1 --object=dpcon.23 --plugged=1
 + [ 0 -ne 0 ]
@@ -280,5 +280,5 @@
 + restool --script dpcon create --num-priorities=2 --container=dprc.1
-+ local obj=dpcon.40
-+ [ -z dpcon.40 ]
-+ restool dprc assign dprc.1 --object=dpcon.40 --plugged=1
++ local obj=dpcon.24
++ [ -z dpcon.24 ]
++ restool dprc assign dprc.1 --object=dpcon.24 --plugged=1
 + [ 0 -ne 0 ]
@@ -287,5 +287,5 @@
 + restool --script dpcon create --num-priorities=2 --container=dprc.1
-+ local obj=dpcon.41
-+ [ -z dpcon.41 ]
-+ restool dprc assign dprc.1 --object=dpcon.41 --plugged=1
++ local obj=dpcon.25
++ [ -z dpcon.25 ]
++ restool dprc assign dprc.1 --object=dpcon.25 --plugged=1
 + [ 0 -ne 0 ]
@@ -294,5 +294,5 @@
 + restool --script dpcon create --num-priorities=2 --container=dprc.1
-+ local obj=dpcon.42
-+ [ -z dpcon.42 ]
-+ restool dprc assign dprc.1 --object=dpcon.42 --plugged=1
++ local obj=dpcon.26
++ [ -z dpcon.26 ]
++ restool dprc assign dprc.1 --object=dpcon.26 --plugged=1
 + [ 0 -ne 0 ]
@@ -301,5 +301,5 @@
 + restool --script dpcon create --num-priorities=2 --container=dprc.1
-+ local obj=dpcon.43
-+ [ -z dpcon.43 ]
-+ restool dprc assign dprc.1 --object=dpcon.43 --plugged=1
++ local obj=dpcon.27
++ [ -z dpcon.27 ]
++ restool dprc assign dprc.1 --object=dpcon.27 --plugged=1
 + [ 0 -ne 0 ]
@@ -308,5 +308,5 @@
 + restool --script dpcon create --num-priorities=2 --container=dprc.1
-+ local obj=dpcon.44
-+ [ -z dpcon.44 ]
-+ restool dprc assign dprc.1 --object=dpcon.44 --plugged=1
++ local obj=dpcon.28
++ [ -z dpcon.28 ]
++ restool dprc assign dprc.1 --object=dpcon.28 --plugged=1
 + [ 0 -ne 0 ]
@@ -315,5 +315,5 @@
 + restool --script dpcon create --num-priorities=2 --container=dprc.1
-+ local obj=dpcon.45
-+ [ -z dpcon.45 ]
-+ restool dprc assign dprc.1 --object=dpcon.45 --plugged=1
++ local obj=dpcon.29
++ [ -z dpcon.29 ]
++ restool dprc assign dprc.1 --object=dpcon.29 --plugged=1
 + [ 0 -ne 0 ]
@@ -322,5 +322,5 @@
 + restool --script dpcon create --num-priorities=2 --container=dprc.1
-+ local obj=dpcon.46
-+ [ -z dpcon.46 ]
-+ restool dprc assign dprc.1 --object=dpcon.46 --plugged=1
++ local obj=dpcon.30
++ [ -z dpcon.30 ]
++ restool dprc assign dprc.1 --object=dpcon.30 --plugged=1
 + [ 0 -ne 0 ]
@@ -329,50 +329,9 @@
 + restool --script dpcon create --num-priorities=2 --container=dprc.1
-+ local obj=dpcon.47
-+ [ -z dpcon.47 ]
-+ restool dprc assign dprc.1 --object=dpcon.47 --plugged=1
++ local obj=dpcon.31
++ [ -z dpcon.31 ]
++ restool dprc assign dprc.1 --object=dpcon.31 --plugged=1
 + [ 0 -ne 0 ]
 + restool --script dpni create --options= --num-queues=16
-+ dpni=dpni.1
-+ [ -n  ]
-+ [ -z dpni.1 ]
-+ restool dprc assign dprc.1 --object=dpni.1 --plugged=1
-+ [ -n  ]
-+ [ ! -z dpmac.9 ]
-+ connect dprc.1 dpni.1 dpmac.9
-+ local container=dprc.1
-+ local ep1=dpni.1
-+ local ep2=dpmac.9
-+ restool dprc connect dprc.1 --endpoint1=dpni.1 --endpoint2=dpmac.9
-+ [ 0 -eq 1 ]
-+ restool dprc sync
-[   56.290355] fsl_dpaa2_eth dpni.1: Probed interface eth1
-+ object_exists dprc.1 dpni.1
-+ local parent_container=dprc.1
-+ local object=dpni.1
-+ restool dprc show dprc.1
-+ grep dpni.1
-+ wc -l
-+ object_exists_status=1
-+ [ 1 = 1 ]
-+ [ dprc.1 = dprc.1 ]
-+ get_interface_name dpni.1
-+ get_root_container
-+ restool dprc list
-+ res=dprc.1
-+ echo dprc.1
-+ cut -f 1 -d  
-+ root_c=dprc.1
-+ [ -z dprc.1 ]
-+ local tries=0
-+ local dir=/sys/bus/fsl-mc/drivers/fsl_mc_dprc/dprc.1/dpni.1/net/
-+ local interface=
-+ true
-+ [ -d /sys/bus/fsl-mc/drivers/fsl_mc_dprc/dprc.1/dpni.1/net/ ]
-+ ls /sys/bus/fsl-mc/drivers/fsl_mc_dprc/dprc.1/dpni.1/net/
-+ interface=eth1
-+ break
-+ echo eth1
-+ ni=eth1
-+ echo Created interface: eth1 (object:dpni.1, endpoint: dpmac.9)
-Created interface: eth1 (object:dpni.1, endpoint: dpmac.9)
+MC error: Unsupported operation (status 0xb)
++ dpni=
 + do_cleanup

fsl-lx2160a-clearfog-itx.dtsi:8.1-9 syntax error

"/home/dingo/lx2160a_uefi/build/toolchain/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc" -MMD -MF /home/dingo/lx2160a_uefi/build/tianocore/Build/LX2160aCex7/RELEASE_GCC5/AARCH64/ArmPkg/Library/ArmLib/ArmBaseLib/OUTPUT/AArch64/AArch64Support.obj.deps -E -x assembler-with-cpp -include AutoGen.h -DOPENSBI_EXTERNAL_SBI_TYPES=OpensbiTypes.h -I/home/dingo/lx2160a_uefi/build/tianocore/edk2/ArmPkg/Library/ArmLib/AArch64 -I/home/dingo/lx2160a_uefi/build/tianocore/edk2/ArmPkg/Library/ArmLib -I/home/dingo/lx2160a_uefi/build/tianocore/Build/LX2160aCex7/RELEASE_GCC5/AARCH64/ArmPkg/Library/ArmLib/ArmBaseLib/DEBUG -I/home/dingo/lx2160a_uefi/build/tianocore/edk2/ArmPkg -I/home/dingo/lx2160a_uefi/build/tianocore/edk2/ArmPkg/Include -I/home/dingo/lx2160a_uefi/build/tianocore/edk2/MdePkg -I/home/dingo/lx2160a_uefi/build/tianocore/edk2/MdePkg/Include -I/home/dingo/lx2160a_uefi/build/tianocore/edk2/MdePkg/Test/UnitTest/Include -I/home/dingo/lx2160a_uefi/build/tianocore/edk2/MdePkg/Include/AArch64 /home/dingo/lx2160a_uefi/build/tianocore/edk2/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S > /home/dingo/lx2160a_uefi/build/tianocore/Build/LX2160aCex7/RELEASE_GCC5/AARCH64/ArmPkg/Library/ArmLib/ArmBaseLib/OUTPUT/AArch64/AArch64Support.ii
Error: /home/dingo/lx2160a_uefi/build/tianocore/edk2-platforms/Platform/SolidRun/LX2160aCex7/DeviceTree/fsl-lx2160a-clearfog-itx.dtsi:8.1-9 syntax error
FATAL ERROR: Unable to parse input tree
GNUmakefile:317: recipe for target '/home/dingo/lx2160a_uefi/build/tianocore/Build/LX2160aCex7/RELEASE_GCC5/AARCH64/Platform/SolidRun/LX2160aCex7/DeviceTree/DeviceTree/OUTPUT/fsl-lx2160a-honeycomb.dtb' failed
make: *** [/home/dingo/lx2160a_uefi/build/tianocore/Build/LX2160aCex7/RELEASE_GCC5/AARCH64/Platform/SolidRun/LX2160aCex7/DeviceTree/DeviceTree/OUTPUT/fsl-lx2160a-honeycomb.dtb] Error 1

build.py...
: error 7000: Failed to execute command
make tbuild [/home/dingo/lx2160a_uefi/build/tianocore/Build/LX2160aCex7/RELEASE_GCC5/AARCH64/Platform/SolidRun/LX2160aCex7/DeviceTree/DeviceTree]

build.py...
: error F002: Failed to build module
/home/dingo/lx2160a_uefi/build/tianocore/edk2-platforms/Platform/SolidRun/LX2160aCex7/DeviceTree/DeviceTree.inf [AARCH64, GCC5, RELEASE]

  • Failed -
    Build end time: 22:59:21, Nov.21 2020
    Build total time: 00:00:33

Moving .d files out of the way

FWIW, I ran into a compile error on RHEL 9 with the docker option.

docker run -e SOC_SPEED=2000 -e BUS_SPEED=700 -e DDR_SPEED=3200 -e XMP_PROFILE=1 -v /mypath/lx2160a_uefi:/work:Z --rm -i -t lx2160a_uefi build
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
Performing SW Build
Checking all required tools are installed
Building boot loader
Checking all required tools are installed
Building boot loader
Building RCW
python3 ../rcw.py -i  rcws/rcw_lx2160acex7.rcw -o  rcws/rcw_lx2160acex7.bin
Build UEFI
make: Entering directory '/work/build/tianocore/edk2/BaseTools'
make -C Source/C
make[1]: Entering directory '/work/build/tianocore/edk2/BaseTools/Source/C'
Attempting to detect HOST_ARCH from 'uname -m': aarch64
Detected HOST_ARCH of AARCH64 using uname.
mkdir -p .
make -C Common
make[2]: Entering directory '/work/build/tianocore/edk2/BaseTools/Source/C/Common'
make[2]: *** No rule to make target '/usr/lib/gcc/aarch64-redhat-linux/11/include/stdint.h', needed by 'BasePeCoff.o'.  Stop.

The answer was here:
https://stackoverflow.com/questions/30751029/why-does-gcc-search-header-files-from-non-exist-folders

Long story short, moving the .d files out of the way fixed this issue (although there are others I'm also running into.)

find . -name "*.d" -exec mv {} {}.old \;

mSATA disk randomly (not) found

On my HoneyComb Lx2k, my mSATA disk (Samsung 860EVO 250GB) is connected using a SATA/mSATA converter and I need a number of reset (between 1 and 3 most of the time) to get the mSATA disk detected and to be able to boot from there.
Maybe some timings are a bit short due to the mSATA/SATA converter?

I am using the latest UEFI firmware from this repo, but this is not a regression as I have this problem for a while.
My LX2160A Com Express Type 7 is rev. 1.3.

Failing to build on Fedora 37

Checking all required tools are installed Building boot loader Building RCW python3 ../rcw.py -i rcws/rcw_lx2160acex7.rcw -o rcws/rcw_lx2160acex7.bin Build UEFI make: Entering directory '/home/titanium/git/lx2160a_uefi/build/tianocore/edk2/BaseTools' make -C Source/C make[1]: Entering directory '/home/titanium/git/lx2160a_uefi/build/tianocore/edk2/BaseTools/Source/C' Attempting to detect HOST_ARCH from 'uname -m': x86_64 Detected HOST_ARCH of X64 using uname. mkdir -p . make -C Common make[2]: Entering directory '/home/titanium/git/lx2160a_uefi/build/tianocore/edk2/BaseTools/Source/C/Common' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/home/titanium/git/lx2160a_uefi/build/tianocore/edk2/BaseTools/Source/C/Common' make -C BrotliCompress make[2]: Entering directory '/home/titanium/git/lx2160a_uefi/build/tianocore/edk2/BaseTools/Source/C/BrotliCompress' gcc -c -I ./brotli/c/include -I .. -I ../Include/Common -I ../Include/ -I ../Include/IndustryStandard -I ../Common/ -I .. -I . -I ../Include/X64/ -MD -fshort-wchar -fno-strict-aliasing -fwrapv -fno-delete-null-pointer-checks -Wall -Werror -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-restrict -Wno-unused-result -nostdlib -g -O2 brotli/c/dec/decode.c -o brotli/c/dec/decode.o brotli/c/dec/decode.c:2033:41: error: argument 2 of type ‘const uint8_t *’ {aka ‘const unsigned char *’} declared as a pointer [-Werror=vla-parameter] 2033 | size_t encoded_size, const uint8_t* encoded_buffer, size_t* decoded_size, | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ In file included from brotli/c/dec/decode.c:7: ./brotli/c/include/brotli/decode.h:204:19: note: previously declared as a variable length array ‘const uint8_t[encoded_size]’ {aka ‘const unsigned char[encoded_size]’} 204 | const uint8_t encoded_buffer[BROTLI_ARRAY_PARAM(encoded_size)], | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ brotli/c/dec/decode.c:2034:14: error: argument 4 of type ‘uint8_t *’ {aka ‘unsigned char *’} declared as a pointer [-Werror=vla-parameter] 2034 | uint8_t* decoded_buffer) { | ~~~~~~~~~^~~~~~~~~~~~~~ ./brotli/c/include/brotli/decode.h:206:13: note: previously declared as a variable length array ‘uint8_t[*decoded_size]’ {aka ‘unsigned char[*decoded_size]’} 206 | uint8_t decoded_buffer[BROTLI_ARRAY_PARAM(*decoded_size)]); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors make[2]: *** [../Makefiles/footer.makefile:21: brotli/c/dec/decode.o] Error 1 make[2]: Leaving directory '/home/titanium/git/lx2160a_uefi/build/tianocore/edk2/BaseTools/Source/C/BrotliCompress' make[1]: *** [GNUmakefile:76: BrotliCompress] Error 2 make[1]: Leaving directory '/home/titanium/git/lx2160a_uefi/build/tianocore/edk2/BaseTools/Source/C' make: *** [GNUmakefile:19: Source/C] Error 2 make: Leaving directory '/home/titanium/git/lx2160a_uefi/build/tianocore/edk2/BaseTools'

Avoid --recursive for edk2 submodule update?

Food for thought. I tried:

# git diff runme.sh
diff --git a/runme.sh b/runme.sh
index aa6dcc2..2c49fd6 100755
--- a/runme.sh
+++ b/runme.sh
@@ -114,7 +114,8 @@ cd $ROOTDIR
 # submodule init
 ###############################################################################
 if [ "x$INITIALIZE" != "x" ]; then
-       git submodule update --init --recursive
+       git submodule update --init
+       cd build/tianocore/edk2/ && git submodule update --init
        exit
 fi

because the bottom of the edk2 ReadMe.rst indicates to avoid the --recursive inside edk2, indicating why as well. (I'll not repeat the material here.) Making the above change after cloning lx21060a_uefi and then doing the initialize allowed me to build images afterwards. (But I've no lx2160a yet.) Thus, it appears that the --recursive is not necessary when edk2 also gets its own "update --init" and, so, that the edk2 ReadMe.rst indication could be followed.

It looks like the above eliminated having 7 .git repositories in my file system, those in each of the following (listed based on context from before this experiment):

edk2/BaseTools/Source/C/BrotliCompress/brotli/research/libdivsufsort/
edk2/BaseTools/Source/C/BrotliCompress/brotli/research/esaxx/
edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/research/libdivsufsort/
edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/research/esaxx/
edk2/CryptoPkg/Library/OpensslLib/openssl/pyca-cryptography/
edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/
edk2/CryptoPkg/Library/OpensslLib/openssl/boringssl/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.