{ pkgs, board ? "zc706" }: let gnutoolchain = import ./gnutoolchain.nix { inherit pkgs; }; in pkgs.stdenv.mkDerivation { name = "${board}-fsbl"; src = pkgs.fetchFromGitHub { owner = "Xilinx"; repo = "embeddedsw"; rev = "65c849ed46c88c67457e1fc742744f96db968ff1"; sha256 = "1rvl06ha40dzd6s9aa4sylmksh4xb9dqaxq462lffv1fdk342pda"; }; patches = [ ./fsbl.patch ]; nativeBuildInputs = [ pkgs.gnumake gnutoolchain.binutils gnutoolchain.gcc ]; patchPhase = '' patch -p1 -i ${./fsbl.patch} patchShebangs lib/sw_apps/zynq_fsbl/misc/copy_bsp.sh echo 'SEARCH_DIR("${gnutoolchain.newlib}/arm-none-eabi/lib");' >> lib/sw_apps/zynq_fsbl/src/lscript.ld ''; buildPhase = '' cd lib/sw_apps/zynq_fsbl/src make BOARD=${board} "CFLAGS=-DFSBL_DEBUG_INFO -g" ''; installPhase = '' mkdir $out cp fsbl.elf $out ''; doCheck = false; dontFixup = true; }