parent
dfe321af9d
commit
4dde3d592c
@ -1,78 +1,23 @@ |
||||
{ fetchFromGitHub, python2, stdenv, libuuid, bc, utillinux, nasm, iasl, seabios |
||||
{ fetchFromGitHub |
||||
, fetchpatch |
||||
, edk2 |
||||
, stdenv |
||||
, libuuid |
||||
, bc |
||||
, utillinux |
||||
, nasm |
||||
, iasl |
||||
}: |
||||
|
||||
# we can not override the source in edk2, so we had to copy the entire thing |
||||
|
||||
let |
||||
src = fetchFromGitHub { |
||||
owner = "MrChromebox"; |
||||
repo = "edk2"; |
||||
rev = "860a8d95c2ee89c9916d6e11230f246afa1cd629"; |
||||
sha256 = "1bykw3lzfjl6idca37i736mwpqv60haczp7davhgqlmlb3nw6y3s"; |
||||
fetchSubmodules = true; |
||||
}; |
||||
|
||||
version = "unstable"; |
||||
|
||||
pythonEnv = python2.withPackages (ps: [ ps.tkinter ]); |
||||
|
||||
toolchain = stdenv.mkDerivation { |
||||
pname = "edk2-coreboot"; |
||||
|
||||
inherit version src; |
||||
|
||||
buildInputs = [ libuuid pythonEnv ]; |
||||
|
||||
makeFlags = [ "-C BaseTools" ]; |
||||
|
||||
NIX_CFLAGS_COMPILE = "-Wno-return-type -Wno-error=stringop-truncation"; |
||||
|
||||
hardeningDisable = [ "format" "fortify" ]; |
||||
|
||||
installPhase = '' |
||||
mkdir -vp $out |
||||
mv -v BaseTools $out |
||||
mv -v edksetup.sh $out |
||||
''; |
||||
|
||||
enableParallelBuilding = true; |
||||
}; |
||||
|
||||
in stdenv.mkDerivation { |
||||
edk2.mkDerivation "UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc" { |
||||
pname = "coreboot-payload-tianocore"; |
||||
inherit version src; |
||||
|
||||
buildInputs = [ bc pythonEnv utillinux nasm iasl ]; |
||||
|
||||
prePatch = '' |
||||
rm -rf BaseTools |
||||
ln -sv ${toolchain}/BaseTools BaseTools |
||||
''; |
||||
|
||||
configurePhase = '' |
||||
runHook preConfigure |
||||
export WORKSPACE="$PWD" |
||||
. ${toolchain}/edksetup.sh BaseTools |
||||
runHook postConfigure |
||||
''; |
||||
|
||||
buildPhase = '' |
||||
runHook preBuild |
||||
build -a X64 -a IA32 -b RELEASE -t GCC5 -p CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc -n $NIX_BUILD_CORES -D CSM_ENABLE |
||||
runHook postBuild |
||||
''; |
||||
|
||||
installPhase = '' |
||||
runHook preInstall |
||||
mv -v Build/*/* $out |
||||
runHook postInstall |
||||
''; |
||||
|
||||
hardeningDisable = [ "format" "stackprotector" "pic" "fortify" ]; |
||||
inherit (edk2) version; |
||||
|
||||
postPatch = '' |
||||
cp ${seabios}/Csm16.bin OvmfPkg/Csm/Csm16/Csm16.bin |
||||
''; |
||||
patches = [ |
||||
./pr-1170-fix-build.diff |
||||
]; |
||||
|
||||
buildInputs = [ utillinux bc nasm iasl ]; |
||||
buildFlags = [ "-a IA32" "-D BOOTLOADER=COREBOOT" ]; |
||||
dontPatchELF = true; |
||||
} |
||||
|
@ -0,0 +1,12 @@ |
||||
diff --git a/UefiPayloadPkg/UefiPayloadPkg.dsc b/UefiPayloadPkg/UefiPayloadPkg.dsc
|
||||
index 74ff58bc5af..ae62a9c4d66 100644
|
||||
--- a/UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc
|
||||
+++ b/UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc
|
||||
@@ -142,6 +142,7 @@
|
||||
PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
|
||||
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
|
||||
CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
|
||||
+ SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
|
||||
|
||||
#
|
||||
# UEFI & PI
|
Loading…
Reference in new issue