diff options
-rw-r--r-- | README.md | 37 |
1 files changed, 34 insertions, 3 deletions
@@ -5,6 +5,37 @@ Release engineering tree for the Cryptech code for the Novena PVT-1, initially targetted at what we need to package for IETF 93 in Praha. General idea is to build two binary packages, one with the bitstream -for the FPGA, one for software cross-compiled for the Novena. Might -want a third package just as a meta package to pull the first two in -via dependencies. +for the FPGA, one for software cross-compiled for the Novena. As a +convenience, there's also a meta-package which just pulls in the first +two as dependencies. + +The current build setup is somewhat specific to the Novena (in +particular, the use of the Debian package system), but the general +outline will likely be reusable for other platforms in the future. + +Overall structure of the current setup: + +* The top-level Makefile controls the overall build process. It does + _not_ run make directly on any of its subdirectories, instead it + invokes the Debian package building tools with the right settings. + +* Each of the three packages generated has its own Makefile and + debian/ directory. These Makefiles are intended to work with the + Debian package building tools, and do not necessarily do anything + useful if used in any other context. + +* Building the software package requires a cross-compiler, see + [the Debian cross compilation tools page][CrossToolchains]. + +* Building the firmware package requires + [the XiLinx tools][XiLinxTools]. + +* You'll also need the usual Debian package building tools, as well as + Python and the python-yaml library. + +* The software and Verilog repositories are spliced into this one + using git's submodule mechanism. The top-level Makefile attempts to + automate all of the submodule voodoo needed for normal builds. + +[CrossToolchains]: https://wiki.debian.org/CrossToolchains +[XiLinxTools]: http://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/design-tools.html |