From e8f1bf514c1819cb9942d77bb624db4f6703fa8b Mon Sep 17 00:00:00 2001 From: Rob Austein Date: Sun, 5 Jul 2015 19:43:38 -0400 Subject: Add Debian packaging and startup scripts to load Novena FPGA automatically. --- core/debian/control | 2 +- core/debian/cryptech-novena-rtl.default | 3 ++ core/debian/cryptech-novena-rtl.init | 36 ++++++++++++++++++++++++ core/debian/cryptech-novena-rtl.postinst | 47 ++++++++++++++++++++++++++++++++ 4 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 core/debian/cryptech-novena-rtl.default create mode 100644 core/debian/cryptech-novena-rtl.init create mode 100644 core/debian/cryptech-novena-rtl.postinst (limited to 'core/debian') 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: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# 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 -- cgit v1.2.3