Adding the code
This commit is contained in:
33
hooks.zerotier.sh
Normal file
33
hooks.zerotier.sh
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# This hook copies host zerotier into initramfs
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
case "${1:-}" in
|
||||||
|
prereqs) echo ""; exit 0;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
ZT_APP=/usr/sbin/zerotier-one
|
||||||
|
ZT_CLI=/usr/sbin/zerotier-cli
|
||||||
|
ZT_ID=/usr/sbin/zerotier-idtool
|
||||||
|
ZTCFG=/var/lib/zerotier-one/
|
||||||
|
|
||||||
|
# if ZT not on machine, exit
|
||||||
|
if [ ! -f ${ZT_APP} ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -r /usr/share/initramfs-tools/hook-functions ] || exit 0
|
||||||
|
. /usr/share/initramfs-tools/hook-functions
|
||||||
|
|
||||||
|
|
||||||
|
copy_exec ${ZT_APP} ${ZT_APP}
|
||||||
|
copy_exec ${ZT_CLI} ${ZT_CLI}
|
||||||
|
copy_exec ${ZT_ID} ${ZT_ID}
|
||||||
|
copy_exec ${ZT_APP} ${ZT_APP}
|
||||||
|
mkdir -p ${DESTDIR}/var/lib
|
||||||
|
mkdir -p ${DESTDIR}/var/log
|
||||||
|
cp -rfpL ${ZTCFG} ${DESTDIR}/${ZTCFG}
|
||||||
|
|
||||||
|
manual_add_modules tun
|
||||||
11
install.sh
Normal file
11
install.sh
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# copy script into initramfs-tools dirs
|
||||||
|
echo "Copying files"
|
||||||
|
cp hooks.zerotier.sh /usr/share/initramfs-tools/hooks/zerotier
|
||||||
|
cp scripts.init-bottom.zerotier.sh /usr/share/initramfs-tools/scripts/init-bottom/zerotier
|
||||||
|
cp scripts.init-premount.0zerotier.sh /usr/share/initramfs-tools/scripts/init-premount/0zerotier
|
||||||
|
|
||||||
|
# update initramfs to now include our scripts
|
||||||
|
echo "Updating initramfs"
|
||||||
|
update-initramfs -u
|
||||||
39
scripts.init-bottom.zerotier.sh
Normal file
39
scripts.init-bottom.zerotier.sh
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
PREREQ=""
|
||||||
|
|
||||||
|
prereqs() {
|
||||||
|
echo "$PREREQ"
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
prereqs)
|
||||||
|
prereqs
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
. /scripts/functions
|
||||||
|
EXE="$(readlink -f /sbin/dropbear)" && [ -f "$EXE" ] || exit 1
|
||||||
|
|
||||||
|
|
||||||
|
ZT_APP=/usr/sbin/zerotier-one
|
||||||
|
|
||||||
|
# if ZT not on machine, exit
|
||||||
|
if [ ! -f ${ZT_APP} ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
log_msg_begin "Removing loopback device"
|
||||||
|
# shutdown lo
|
||||||
|
ifconfig lo down
|
||||||
|
log_end_msg
|
||||||
|
|
||||||
|
log_msg_begin "Removing tun device"
|
||||||
|
# remove created tun device
|
||||||
|
rm /dev/net/tun
|
||||||
|
log_end_msg
|
||||||
|
|
||||||
|
log_msg_begin "Stopping ZeroTier"
|
||||||
|
kill -TERM $(cat /run/zerotier-one.pid)
|
||||||
|
log_end_msg
|
||||||
38
scripts.init-premount.0zerotier.sh
Normal file
38
scripts.init-premount.0zerotier.sh
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
PREREQ="udev"
|
||||||
|
|
||||||
|
prereqs() {
|
||||||
|
echo "$PREREQ"
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
prereqs)
|
||||||
|
prereqs
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
. /scripts/functions
|
||||||
|
|
||||||
|
ZT_APP=/usr/sbin/zerotier-one
|
||||||
|
|
||||||
|
# if ZT not on machine, exit
|
||||||
|
if [ ! -f ${ZT_APP} ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# start zerotier if it exists
|
||||||
|
[ "$BOOT" != nfs ] || configure_networking
|
||||||
|
|
||||||
|
# create tun device file
|
||||||
|
mkdir /dev/net
|
||||||
|
mknod /dev/net/tun c 10 200
|
||||||
|
|
||||||
|
# set up local loopback
|
||||||
|
/sbin/ifconfig lo 127.0.0.1
|
||||||
|
|
||||||
|
# run zerotier-one
|
||||||
|
${ZT_APP} &> /var/log/zerotier.log &
|
||||||
|
|
||||||
|
echo $! >/run/zerotier-one.pid
|
||||||
Reference in New Issue
Block a user