diff --git a/FunKey/board/funkey/post-build.sh b/FunKey/board/funkey/post-build.sh index 74fe6fa..57f26e1 100755 --- a/FunKey/board/funkey/post-build.sh +++ b/FunKey/board/funkey/post-build.sh @@ -10,3 +10,6 @@ sed -i '3iexport PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/b # Remove log daemon init scripts since they are loaded from inittab rm -f ${TARGET_DIR}/etc/init.d/S01syslogd ${TARGET_DIR}/etc/init.d/S02klogd + +# Change dropbear init sequence +mv ${TARGET_DIR}/etc/init.d/S50dropbear ${TARGET_DIR}/etc/init.d/S42dropbear diff --git a/FunKey/board/funkey/rootfs-overlay/etc/init.d/S02share b/FunKey/board/funkey/rootfs-overlay/etc/init.d/S10share similarity index 100% rename from FunKey/board/funkey/rootfs-overlay/etc/init.d/S02share rename to FunKey/board/funkey/rootfs-overlay/etc/init.d/S10share diff --git a/FunKey/board/funkey/rootfs-overlay/etc/init.d/S07low-bat-check b/FunKey/board/funkey/rootfs-overlay/etc/init.d/S12low-bat-check similarity index 100% rename from FunKey/board/funkey/rootfs-overlay/etc/init.d/S07low-bat-check rename to FunKey/board/funkey/rootfs-overlay/etc/init.d/S12low-bat-check diff --git a/FunKey/board/funkey/rootfs-overlay/etc/init.d/S08system-stats b/FunKey/board/funkey/rootfs-overlay/etc/init.d/S13system-stats similarity index 100% rename from FunKey/board/funkey/rootfs-overlay/etc/init.d/S08system-stats rename to FunKey/board/funkey/rootfs-overlay/etc/init.d/S13system-stats diff --git a/FunKey/board/funkey/rootfs-overlay/etc/init.d/S40network b/FunKey/board/funkey/rootfs-overlay/etc/init.d/S40network new file mode 100755 index 0000000..f7e45a4 --- /dev/null +++ b/FunKey/board/funkey/rootfs-overlay/etc/init.d/S40network @@ -0,0 +1,30 @@ +#!/bin/sh +# +# Start the network.... +# + +# Debian ifupdown needs the /run/network lock directory +mkdir -p /run/network +[ -f /mnt/usbnet ] || exit 0 +case "$1" in + start) + printf "Starting network: " + /sbin/ifup -a + [ $? = 0 ] && echo "OK" || echo "FAIL" + ;; + stop) + printf "Stopping network: " + /sbin/ifdown -a + [ $? = 0 ] && echo "OK" || echo "FAIL" + ;; + restart|reload) + "$0" stop + "$0" start + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac + +exit $? + diff --git a/FunKey/board/funkey/rootfs-overlay/etc/init.d/S41dhcpcd b/FunKey/board/funkey/rootfs-overlay/etc/init.d/S41dhcpcd index 24f985f..05e01b3 100755 --- a/FunKey/board/funkey/rootfs-overlay/etc/init.d/S41dhcpcd +++ b/FunKey/board/funkey/rootfs-overlay/etc/init.d/S41dhcpcd @@ -6,7 +6,7 @@ DAEMON=/sbin/dhcpcd CONFIG=/etc/dhcpcd.conf PIDFILE=/var/run/dhcpcd.pid - +[ -f /mnt/usbnet ] || exit 0 [ -f $CONFIG ] || exit 0 case "$1" in diff --git a/FunKey/board/funkey/rootfs-overlay/etc/init.d/S50dropbear b/FunKey/board/funkey/rootfs-overlay/etc/init.d/S50dropbear new file mode 100755 index 0000000..7314588 --- /dev/null +++ b/FunKey/board/funkey/rootfs-overlay/etc/init.d/S50dropbear @@ -0,0 +1,62 @@ +#!/bin/sh +# +# Starts dropbear sshd. +# + +[ -f /mnt/usbnet ] || exit 0 +# Allow a few customizations from a config file +test -r /etc/default/dropbear && . /etc/default/dropbear + +start() { + DROPBEAR_ARGS="$DROPBEAR_ARGS -R" + + # If /etc/dropbear is a symlink to /var/run/dropbear, and + # - the filesystem is RO (i.e. we can not rm the symlink), + # create the directory pointed to by the symlink. + # - the filesystem is RW (i.e. we can rm the symlink), + # replace the symlink with an actual directory + if [ -L /etc/dropbear \ + -a "$(readlink /etc/dropbear)" = "/var/run/dropbear" ] + then + if rm -f /etc/dropbear >/dev/null 2>&1; then + mkdir -p /etc/dropbear + else + echo "No persistent location to store SSH host keys. New keys will be" + echo "generated at each boot. Are you sure this is what you want to do?" + mkdir -p "$(readlink /etc/dropbear)" + fi + fi + + printf "Starting dropbear sshd: " + umask 077 + + start-stop-daemon -S -q -p /var/run/dropbear.pid \ + --exec /usr/sbin/dropbear -- $DROPBEAR_ARGS + [ $? = 0 ] && echo "OK" || echo "FAIL" +} +stop() { + printf "Stopping dropbear sshd: " + start-stop-daemon -K -q -p /var/run/dropbear.pid + [ $? = 0 ] && echo "OK" || echo "FAIL" +} +restart() { + stop + start +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + restart + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac + +exit $? diff --git a/FunKey/package/FunKey-GPIO-Mapping/FunKey-GPIO-Mapping.mk b/FunKey/package/FunKey-GPIO-Mapping/FunKey-GPIO-Mapping.mk index 0d7e264..3e1b8e8 100644 --- a/FunKey/package/FunKey-GPIO-Mapping/FunKey-GPIO-Mapping.mk +++ b/FunKey/package/FunKey-GPIO-Mapping/FunKey-GPIO-Mapping.mk @@ -25,7 +25,7 @@ define FUNKEY_GPIO_MAPPING_INSTALL_TARGET_CMDS $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc $(INSTALL) -m 0644 $(@D)/funkey_gpio_mapping.conf $(TARGET_DIR)/etc/funkey_gpio_mapping.conf $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/init.d - $(INSTALL) -m 0755 $(FUNKEY_GPIO_MAPPING_PKGDIR)etc/init.d/S06funkey-gpio-management $(TARGET_DIR)/etc/init.d/S06funkey-gpio-management + $(INSTALL) -m 0755 $(FUNKEY_GPIO_MAPPING_PKGDIR)etc/init.d/S11funkey-gpio-management $(TARGET_DIR)/etc/init.d/S11funkey-gpio-management endef $(eval $(generic-package)) diff --git a/FunKey/package/FunKey-GPIO-Mapping/etc/init.d/S06funkey-gpio-management b/FunKey/package/FunKey-GPIO-Mapping/etc/init.d/S11funkey-gpio-management similarity index 100% rename from FunKey/package/FunKey-GPIO-Mapping/etc/init.d/S06funkey-gpio-management rename to FunKey/package/FunKey-GPIO-Mapping/etc/init.d/S11funkey-gpio-management