mirror of
				https://github.com/NixOS/nixos-hardware.git
				synced 2025-11-04 09:17:14 +08: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;
 | 
						|
  })
 |