PINE64

Full Version: rebuild efi
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
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?
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.
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.
(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
got it and it now compiles Thanx!