uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
148
pkgs/misc/uboot/hardkernel-firmware.nix
Normal file
148
pkgs/misc/uboot/hardkernel-firmware.nix
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchpatch
|
||||
, fetchFromGitHub
|
||||
, buildPackages
|
||||
, pkgsCross
|
||||
}:
|
||||
|
||||
let
|
||||
buildHardkernelFirmware = {
|
||||
version ? null
|
||||
, src ? null
|
||||
, name ? ""
|
||||
, filesToInstall
|
||||
, installDir ? "$out"
|
||||
, defconfig
|
||||
, extraMeta ? {}
|
||||
, ... } @ args: stdenv.mkDerivation ({
|
||||
pname = "uboot-hardkernel-firmware-${name}";
|
||||
|
||||
nativeBuildInputs = [
|
||||
buildPackages.git
|
||||
buildPackages.hostname
|
||||
pkgsCross.arm-embedded.stdenv.cc
|
||||
];
|
||||
|
||||
depsBuildBuild = [
|
||||
buildPackages.gcc49
|
||||
] ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) buildPackages.stdenv.cc
|
||||
++ lib.optional (!stdenv.isAarch64) pkgsCross.aarch64-multiplatform.buildPackages.gcc49;
|
||||
|
||||
makeFlags = [
|
||||
"CROSS_COMPILE=${stdenv.cc.targetPrefix}"
|
||||
"CROSS_COMPILE_32=${pkgsCross.arm-embedded.stdenv.cc.targetPrefix}"
|
||||
"${defconfig}" "bl301.bin"
|
||||
]
|
||||
++ lib.optional (!stdenv.isAarch64) "CROSS_COMPILE=${pkgsCross.aarch64-multiplatform.stdenv.cc.targetPrefix}";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p ${installDir}
|
||||
cp ${lib.concatStringsSep " " filesToInstall} ${installDir}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.hardkernel.com/";
|
||||
description = "Das U-Boot from Hardkernel with Odroid embedded devices firmware and support";
|
||||
license = licenses.unfreeRedistributableFirmware;
|
||||
maintainers = with maintainers; [ aarapov ];
|
||||
} // extraMeta;
|
||||
} // removeAttrs args [ "extraMeta" ]);
|
||||
preBuild = ''
|
||||
substituteInPlace Makefile --replace "/bin/pwd" "pwd"
|
||||
'';
|
||||
in {
|
||||
inherit buildHardkernelFirmware preBuild;
|
||||
|
||||
firmwareOdroidC2 = buildHardkernelFirmware {
|
||||
defconfig = "odroidc2_config";
|
||||
name = "firmware-odroid-c2";
|
||||
version = "2015.01";
|
||||
src = fetchFromGitHub {
|
||||
owner = "hardkernel";
|
||||
repo = "u-boot";
|
||||
rev = "fac4d2da0a1b61dfdeaca0034a45151ff5983fb8";
|
||||
sha256 = "09s0y69ilrwnvqi1g11axsnhylq8kfljwqxdfjifa227mi0kzq37";
|
||||
};
|
||||
|
||||
patches = [ # https://wiki.odroid.com/odroid-c2/software/building_u-boot
|
||||
(fetchpatch {
|
||||
url = "https://github.com/hardkernel/u-boot_firmware/commit/5ce504067bb83de03d17173d5585e849df5d5a33.patch";
|
||||
sha256 = "0m9slsv7lwm2cf2akmx1x6mqzmfckrvw1r0nls91w6g40982qwly";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/hardkernel/u-boot_firmware/commit/0002fa877ca919e808e5fb7675194f17abde5d8d.patch";
|
||||
sha256 = "0hr6037xl69v9clch8i3vr80vgfn453wcvza630mzifkkn2d1fh8";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/hardkernel/u-boot_firmware/commit/b129006d2bdd0aee3bc78593f9401b0873e6baf9.patch";
|
||||
sha256 = "1bj7mb6h8njpvimjbjgv801ay97gwdgg9cd1hlv39fwqvv1nzfir";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/hardkernel/u-boot_firmware/commit/d3642b8329a605f641046cf25aeba935fa2f06dc.patch";
|
||||
sha256 = "0iw06zvw8407s3r3n6v89z6jj8r6lwy0qm1izhf815qi3wxh55pq";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/hardkernel/u-boot_firmware/commit/911ab14f86b7c820aa3fe310b7eb7be0398292b1.patch";
|
||||
sha256 = "1sq4mynw6iivx2xm0hp55x7r58bvfgav62d169q5mwgi9imbv6kg";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/hardkernel/u-boot_firmware/commit/b7b90c1099b057d35ebae886b7846b5d9bfb4143.patch";
|
||||
sha256 = "17x5fc2rphgz6jybya7yk35j4h9iq0b7cnq2qhkq3lpw2060ldlg";
|
||||
})
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
substituteInPlace ./arch/arm/cpu/armv8/gxb/firmware/scp_task/Makefile \
|
||||
--replace "CROSS_COMPILE" "CROSS_COMPILE_32"
|
||||
'' + preBuild;
|
||||
|
||||
filesToInstall = [
|
||||
"build/scp_task/bl301.bin"
|
||||
"fip/gxb/bl2.package"
|
||||
"fip/gxb/bl30.bin"
|
||||
"sd_fuse/bl1.bin.hardkernel"
|
||||
"sd_fuse/sd_fusing.sh"
|
||||
];
|
||||
|
||||
extraMeta.platforms = [ "aarch64-linux" ];
|
||||
};
|
||||
|
||||
# https://wiki.odroid.com/odroid-c4/software/building_u-boot
|
||||
firmwareOdroidC4 = buildHardkernelFirmware {
|
||||
name = "firmware-odroid-c4";
|
||||
defconfig = "odroidc4_defconfig";
|
||||
version = "2015.01";
|
||||
src = fetchFromGitHub {
|
||||
owner = "hardkernel";
|
||||
repo = "u-boot";
|
||||
rev = "90ebb7015c1bfbbf120b2b94273977f558a5da46";
|
||||
sha256 = "0kv9hpsgpbikp370wknbyj6r6cyhp7hng3ng6xzzqaw13yy4qiz9";
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
substituteInPlace ./arch/arm/cpu/armv8/g12a/firmware/scp_task/Makefile \
|
||||
--replace "CROSS_COMPILE" "CROSS_COMPILE_32"
|
||||
'' + preBuild;
|
||||
|
||||
filesToInstall = [
|
||||
"build/board/hardkernel/odroidc4/firmware/acs.bin"
|
||||
"build/scp_task/bl301.bin"
|
||||
"fip/g12a/aml_ddr.fw"
|
||||
"fip/g12a/bl2.bin"
|
||||
"fip/g12a/bl30.bin"
|
||||
"fip/g12a/bl31.img"
|
||||
"fip/g12a/ddr3_1d.fw"
|
||||
"fip/g12a/ddr4_1d.fw"
|
||||
"fip/g12a/ddr4_2d.fw"
|
||||
"fip/g12a/diag_lpddr4.fw"
|
||||
"fip/g12a/lpddr3_1d.fw"
|
||||
"fip/g12a/lpddr4_1d.fw"
|
||||
"fip/g12a/lpddr4_2d.fw"
|
||||
"fip/g12a/piei.fw"
|
||||
"sd_fuse/sd_fusing.sh"
|
||||
];
|
||||
|
||||
extraMeta.platforms = [ "aarch64-linux" ];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue