rebuild efi
#1
I was attempting to rebuild the EFI to support win10 core.
I followed the instructions at:https://github.com/Leeway213/WinIoTBoot

I am running under Ubuntu 16 (64bit) as the Windows build is not supported yet.

After executing the ./build.sh script in the SunxiPlatformPkg directory and answering the target questions it failed because the "C" directory
in the base tools source folder is not present. I copied the "C" folder from the edk2 master repo and it rebuild tools now on launch of same script but now I get the
following error:
Build start time: 09:25:01, Jan.07 2017
WORKSPACE        = /home/david/edk2
ECP_SOURCE       = /home/david/edk2/EdkCompatibilityPkg
EDK_SOURCE       = /home/david/edk2/EdkCompatibilityPkg
EFI_SOURCE       = /home/david/edk2/EdkCompatibilityPkg
EDK_TOOLS_PATH   = /home/david/edk2/BaseTools

Architecture(s)  = ARM
Build target     = RELEASE
Toolchain        = ARMLINUXGCC
Active Platform          = /home/david/edk2/SunxiPlatformPkg/sun50iw1p1Pkg/sun50iw1p1Pkg.dsc
Flash Image Definition   = /home/david/edk2/SunxiPlatformPkg/sun50iw1p1Pkg/sun50iw1p1Pkg.fdf
Processing meta-data ............. done!
Building ... /home/david/edk2/MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf [ARM]
"/home/david/edk2/SunxiPlatformPkg/pctools/toolchain/gcc-linaro/bin/arm-linux-gnueabi-gcc" -march=armv7-a -mfpu=neon -I/home/david/edk2/SunxiPlatformPkg/sun50iw1p1Pkg/Include/Sun50iW1P1 -g -O2 -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-array-bounds -c -include AutoGen.h -mword-relocations -mlittle-endian -mabi=aapcs -mapcs -fno-short-enums -save-temps -fsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address -mfloat-abi=soft -fno-stack-protector -mno-unaligned-access -Wno-unused-but-set-variable -DCONFIG_ARCH_SUN50IW1P1 -o /home/david/edk2/Build/SunxiPlatform/sun50iw1p1Pkg/RELEASE_ARMLINUXGCC/ARM/MdePkg/Library/BasePcdLibNull/BasePcdLibNull/OUTPUT/./PcdLib.obj -I/home/david/edk2/MdePkg/Library/BasePcdLibNull -I/home/david/edk2/Build/SunxiPlatform/sun50iw1p1Pkg/RELEASE_ARMLINUXGCC/ARM/MdePkg/Library/BasePcdLibNull/BasePcdLibNull/DEBUG -I/home/david/edk2/MdePkg -I/home/david/edk2/MdePkg/Include -I/home/david/edk2/MdePkg/Include/Arm /home/david/edk2/MdePkg/Library/BasePcdLibNull/PcdLib.c
/bin/sh: 1: /home/david/edk2/SunxiPlatformPkg/pctools/toolchain/gcc-linaro/bin/arm-linux-gnueabi-gcc: not found
GNUmakefile:316: recipe for target '/home/david/edk2/Build/SunxiPlatform/sun50iw1p1Pkg/RELEASE_ARMLINUXGCC/ARM/MdePkg/Library/BasePcdLibNull/BasePcdLibNull/OUTPUT/PcdLib.obj' failed
make: *** [/home/david/edk2/Build/SunxiPlatform/sun50iw1p1Pkg/RELEASE_ARMLINUXGCC/ARM/MdePkg/Library/BasePcdLibNull/BasePcdLibNull/OUTPUT/PcdLib.obj] Error 127

build.py...
 : error 7000: Failed to execute command
 make --no-print-directory tbuild [/home/david/edk2/Build/SunxiPlatform/sun50iw1p1Pkg/RELEASE_ARMLINUXGCC/ARM/MdePkg/Library/BasePcdLibNull/BasePcdLibNull]

build.py...
 : error 7000: Failed to execute command
 make --no-print-directory tbuild [/home/david/edk2/Build/SunxiPlatform/sun50iw1p1Pkg/RELEASE_ARMLINUXGCC/ARM/MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull]

build.py...
 : error F002: Failed to build module
 /home/david/edk2/MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf [ARM, ARMLINUXGCC, RELEASE]
- Failed -
Build end time: 09:25:15, Jan.07 2017
Build total time: 00:00:14

I can not understand this error. the arm-linux-gnueabi-gcc is clearly in the pctools/toolchain directory and it has the executable attribute.

Any help?
#2
Hi
Maybe your ubuntu is 64-bit?
Try install some 32-bit lib
lib32asan0 lib32bz2-1.0 lib32gcc1-dbg lib32gomp1 lib32ncurses5-dev lib32stdc++6 lib32tinfo-dev
lib32asan0-dbg lib32bz2-dev lib32gcc-4.7-dev lib32itm1 lib32quadmath0 lib32stdc++6-4.7-dev lib32z1
lib32atomic1 lib32gcc1 lib32gcc-4.8-dev lib32ncurses5 lib32stdc++-4.8-dev lib32tinfo5 lib32z1-dev

I'm not sure which lib is necessary.
You can compare 32bits lib in your env with this.
#3
I actually had much better luck building under Windows. I was able to use the PC based GNU tools and I can make it through all the compile for all modules and even the ACPI tables using the Microsoft's ASL compiler.

It stops at the link phase as the sun5oiw1p1Pkg.fdf has a line:

"FILE = SunxiPlatformPkg/PrePi/Arm/SpareHead/uefi_spare_head.bin"


This appears to be a prebuilt binary file but this file does NOT appear in the repo. and as far as I can tell its not buildable (at least with the standard tool set).

Can this file be added to the REPO?
















Hi
Maybe your ubuntu is 64-bit?
Try install some 32-bit lib
lib32asan0            lib32bz2-1.0          lib32gcc1-dbg         lib32gomp1            lib32ncurses5-dev     lib32stdc++6          lib32tinfo-dev        
lib32asan0-dbg        lib32bz2-dev          lib32gcc-4.7-dev      lib32itm1             lib32quadmath0        lib32stdc++6-4.7-dev  lib32z1              
lib32atomic1          lib32gcc1             lib32gcc-4.8-dev      lib32ncurses5         lib32stdc++-4.8-dev   lib32tinfo5           lib32z1-dev

I'm not sure which lib is necessary.
You can compare 32bits lib in your env with this.
#4
(01-19-2017, 05:58 AM)dvescovi Wrote: I actually had much better luck building under Windows. I was able to use the PC based GNU tools and I can make it through all the compile for all modules and even the ACPI tables using the Microsoft's ASL compiler.

It stops at the link phase as the sun5oiw1p1Pkg.fdf has a line:

"FILE = SunxiPlatformPkg/PrePi/Arm/SpareHead/uefi_spare_head.bin"


This appears to be a prebuilt binary file but this file does NOT appear in the repo. and as far as I can tell its not buildable (at least with the standard tool set).

Can this file be added to the REPO?
















Hi
Maybe your ubuntu is 64-bit?
Try install some 32-bit lib
lib32asan0            lib32bz2-1.0          lib32gcc1-dbg         lib32gomp1            lib32ncurses5-dev     lib32stdc++6          lib32tinfo-dev        
lib32asan0-dbg        lib32bz2-dev          lib32gcc-4.7-dev      lib32itm1             lib32quadmath0        lib32stdc++6-4.7-dev  lib32z1              
lib32atomic1          lib32gcc1             lib32gcc-4.8-dev      lib32ncurses5         lib32stdc++-4.8-dev   lib32tinfo5           lib32z1-dev

I'm not sure which lib is necessary.
You can compare 32bits lib in your env with this.

fixed it. please check. Big Grin
#5
got it and it now compiles Thanx!


Forum Jump:


Users browsing this thread: 2 Guest(s)