diff options
author | Rob Austein <sra@hactrn.net> | 2015-07-05 19:43:38 -0400 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2015-07-05 19:43:38 -0400 |
commit | e8f1bf514c1819cb9942d77bb624db4f6703fa8b (patch) | |
tree | d6b19edf237f3e85d4063881a83c849bfd4260d8 | |
parent | 3f25e1bf5509f584f455e0e3ce369bc51b763f85 (diff) |
Add Debian packaging and startup scripts to load Novena FPGA automatically.
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | core/Makefile | 2 | ||||
-rw-r--r-- | core/debian/control | 2 | ||||
-rw-r--r-- | core/debian/cryptech-novena-rtl.default | 3 | ||||
-rw-r--r-- | core/debian/cryptech-novena-rtl.init | 36 | ||||
-rw-r--r-- | core/debian/cryptech-novena-rtl.postinst | 47 | ||||
-rw-r--r-- | reprepro-conf/options | 1 |
7 files changed, 90 insertions, 3 deletions
@@ -92,7 +92,7 @@ rtl: cd core; debuild -b -uc -us -aarmhf reprepro: ${REPOSITORY}/conf/distributions ${REPOSITORY}/conf/options - for f in *.changes; do reprepro -b ${REPOSITORY} --ignore=wrongdistribution include ${CODENAME} $$f; done + for f in *.changes; do reprepro -b ${REPOSITORY} include ${CODENAME} $$f; done ${REPOSITORY}/conf/distributions ${REPOSITORY}/conf/options: install -D reprepro-conf/$(notdir $@) ${REPOSITORY}/conf/$(notdir $@) diff --git a/core/Makefile b/core/Makefile index 9dadbcd..f8c8c5b 100644 --- a/core/Makefile +++ b/core/Makefile @@ -46,4 +46,4 @@ clean: cd ${BUILD_DIR}; $(MAKE) clean install: - install -D ${BUILD_DIR}/novena_eim.bit ${DESTDIR}/usr/share/cryptech/novena_eim.bit + install -D -m 644 ${BUILD_DIR}/novena_eim.bit ${DESTDIR}/usr/share/cryptech/novena_eim.bit diff --git a/core/debian/control b/core/debian/control index 84a4e91..3a3de4c 100644 --- a/core/debian/control +++ b/core/debian/control @@ -8,7 +8,7 @@ Homepage: http://trac.cryptech.is/wiki Package: cryptech-novena-rtl Architecture: all -Depends: libc6 (>= 2.13), ${misc:Depends} +Depends: libc6 (>= 2.13), ${misc:Depends} cryptech-novena-sw (= ${binary:Version}) Description: Cryptech open-source crypto hardware "cryptech-novena-rtl" contains FGPA configuration (RTL bitstream) for the Cryptech project on the Novena PVT-1 development board. diff --git a/core/debian/cryptech-novena-rtl.default b/core/debian/cryptech-novena-rtl.default new file mode 100644 index 0000000..1261cef --- /dev/null +++ b/core/debian/cryptech-novena-rtl.default @@ -0,0 +1,3 @@ +# Configuration parameters for cryptech-novena-rtl package. + +fpga_bitstream=/usr/share/cryptech/novena_eim.bit diff --git a/core/debian/cryptech-novena-rtl.init b/core/debian/cryptech-novena-rtl.init new file mode 100644 index 0000000..68f5c8c --- /dev/null +++ b/core/debian/cryptech-novena-rtl.init @@ -0,0 +1,36 @@ +#!/bin/sh - +### BEGIN INIT INFO +# Provides: cryptech-novena-rtl +# Required-Start: $remote_fs +# Required-Stop: +# Should-Start: +# Default-Start: S +# Default-Stop: +# Short-Description: Reload Novena FPGA on boot. +# Description: Reload Novena FPGA on boot. +### END INIT INFO + +PATH=/sbin:/usr/sbin:/bin:/usr/bin + +. /lib/lsb/init-functions +. /etc/default/cryptech-novena-rtl + +do_start () { + log_daemon_msg "Loading Novena FPGA from ${fpga_bitstream}" + load_novena_fpga "${fpga_bitstream}" +} + +case "$1" in + start|restart|reload|force-reload|"") + do_start + ;; + stop) + # No-op + ;; + *) + echo "Usage: bootmisc.sh [start|stop]" >&2 + exit 3 + ;; +esac + +: diff --git a/core/debian/cryptech-novena-rtl.postinst b/core/debian/cryptech-novena-rtl.postinst new file mode 100644 index 0000000..d36653a --- /dev/null +++ b/core/debian/cryptech-novena-rtl.postinst @@ -0,0 +1,47 @@ +#!/bin/sh - +# postinst script for cryptech-novena-rtl +# +# see: dh_installdeb(1) + +set -e + +# Perhaps this should run our /etc/init.d script in order to localize +# the voodoo? + +load_fpga() { + load_novena_fpga /usr/share/cryptech/novena_eim.bit +} + +# summary of how this script can be called: +# * <postinst> `configure' <most-recently-configured-version> +# * <old-postinst> `abort-upgrade' <new version> +# * <conflictor's-postinst> `abort-remove' `in-favour' <package> +# <new-version> +# * <postinst> `abort-remove' +# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' +# <failed-install-package> <version> `removing' +# <conflicting-package> <version> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + configure) + load_fpga + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/reprepro-conf/options b/reprepro-conf/options index 7b49bf9..f5ad660 100644 --- a/reprepro-conf/options +++ b/reprepro-conf/options @@ -1,3 +1,4 @@ verbose ask-passphrase basedir . +ignore wrongdistribution |