mirror of
https://github.com/NixOS/nixos-hardware
synced 2024-09-01 16:16:28 +02:00
The buildUBoot function is intended for internal use and is dedicated for Raspberry Pi platforms. With latest nixpkgs it is causing build failure in older uboot(prior to v2023.07) due to a Raspberry Pi patch. Now this function is not used for the U-Boot build. More Information: https://github.com/NixOS/nixpkgs/pull/311614 https://github.com/NixOS/nixpkgs/pull/146634 Signed-off-by: Ganga Ram <Ganga.Ram@tii.ae>
91 lines
1.7 KiB
Nix
91 lines
1.7 KiB
Nix
{ stdenv
|
|
, lib
|
|
, bison
|
|
, dtc
|
|
, fetchgit
|
|
, flex
|
|
, gnutls
|
|
, libuuid
|
|
, ncurses
|
|
, openssl
|
|
, which
|
|
, perl
|
|
, buildPackages
|
|
}:
|
|
let
|
|
ubsrc = fetchgit {
|
|
url = "https://github.com/nxp-imx/uboot-imx.git";
|
|
# tag: "lf-6.1.55-2.2.0"
|
|
rev = "49b102d98881fc28af6e0a8af5ea2186c1d90a5f";
|
|
sha256 = "sha256-1j6X82DqezEizeWoSS600XKPNwrQ4yT0vZuUImKAVVA=";
|
|
};
|
|
in
|
|
(stdenv.mkDerivation {
|
|
pname = "imx8mq-uboot";
|
|
version = "2023.04";
|
|
src = ubsrc;
|
|
|
|
postPatch = ''
|
|
patchShebangs tools
|
|
patchShebangs scripts
|
|
'';
|
|
|
|
nativeBuildInputs = [
|
|
bison
|
|
flex
|
|
openssl
|
|
which
|
|
ncurses
|
|
libuuid
|
|
gnutls
|
|
openssl
|
|
perl
|
|
];
|
|
|
|
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
|
hardeningDisable = [ "all" ];
|
|
enableParallelBuilding = true;
|
|
|
|
makeFlags = [
|
|
"DTC=${lib.getExe buildPackages.dtc}"
|
|
"CROSS_COMPILE=${stdenv.cc.targetPrefix}"
|
|
];
|
|
|
|
extraConfig = ''
|
|
CONFIG_USE_BOOTCOMMAND=y
|
|
CONFIG_BOOTCOMMAND="setenv ramdisk_addr_r 0x45000000; setenv fdt_addr_r 0x44000000; run distro_bootcmd; "
|
|
CONFIG_CMD_BOOTEFI_SELFTEST=y
|
|
CONFIG_CMD_BOOTEFI=y
|
|
CONFIG_EFI_LOADER=y
|
|
CONFIG_BLK=y
|
|
CONFIG_PARTITIONS=y
|
|
CONFIG_DM_DEVICE_REMOVE=n
|
|
CONFIG_CMD_CACHE=y
|
|
'';
|
|
|
|
passAsFile = [ "extraConfig" ];
|
|
|
|
configurePhase = ''
|
|
runHook preConfigure
|
|
|
|
make imx8mq_evk_defconfig
|
|
cat $extraConfigPath >> .config
|
|
|
|
runHook postConfigure
|
|
'';
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p $out
|
|
cp ./u-boot-nodtb.bin $out
|
|
cp ./spl/u-boot-spl.bin $out
|
|
cp ./arch/arm/dts/imx8mq-evk.dtb $out
|
|
cp .config $out
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
dontStrip = true;
|
|
})
|