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