work around boot.bin/fsbl problems

* Use fsbl.elf sent to me by Xilinx tech support. None of the other FSBL images for ZC706, including the official one from 2019.2-zc706-release.tar.xz, appear to work (no UART output, no FPGA DONE).
* Prevent boot.bin creation tool from crashing due to long paths.
This commit is contained in:
Sebastien Bourdeauducq 2020-05-06 17:35:15 +08:00
parent 7c22b72129
commit 27466036a7
2 changed files with 13 additions and 6 deletions

View File

@ -96,17 +96,24 @@ in
buildInputs = [ mkbootimage ]; buildInputs = [ mkbootimage ];
} }
'' ''
bif=`mktemp` # Do not use "long" paths in boot.bif, because embedded developers
cat > $bif << EOF # can't write software (mkbootimage will segfault).
# TODO: use self-built fsbl
bifdir=`mktemp -d`
cd $bifdir
ln -s ${./fsbl.elf} fsbl.elf
ln -s ${zc706-gateware}/top.bit top.bit
ln -s ${zc706-firmware}/runtime.elf runtime.elf
cat > boot.bif << EOF
the_ROM_image: the_ROM_image:
{ {
[bootloader]${zc706-fsbl}/fsbl.elf [bootloader]fsbl.elf
${zc706-gateware}/top.bit top.bit
${zc706-firmware}/runtime.elf runtime.elf
} }
EOF EOF
mkdir $out $out/nix-support mkdir $out $out/nix-support
mkbootimage $bif $out/boot.bin mkbootimage boot.bif $out/boot.bin
echo file binary-dist $out/boot.bin >> $out/nix-support/hydra-build-products echo file binary-dist $out/boot.bin >> $out/nix-support/hydra-build-products
''; '';
} }

BIN
fsbl.elf Normal file

Binary file not shown.