/usr/share/initramfs-tools/scripts/init-premount/dropbear is in dropbear-initramfs 2017.75-3build1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | #!/bin/sh
PREREQ="udev"
prereqs() {
echo "$PREREQ"
}
case "$1" in
prereqs)
prereqs
exit 0
;;
esac
[ "$IP" != off -a "$IP" != none -a -x /sbin/dropbear ] || exit 0
run_dropbear() {
local flags="Fs"
[ "$debug" != y ] || flags="E$flags" # log to standard error
# always run configure_networking() before dropbear(8); on NFS
# mounts this has been done already
[ "$BOOT" = nfs ] || configure_networking
log_begin_msg "Starting dropbear"
# using exec and keeping dropbear in the foreground enables the
# init-bottom script to kill the remaining ipconfig processes if
# someone unlocks the rootfs from the console while the network is
# being configured
exec /sbin/dropbear -$flags ${DROPBEAR_OPTIONS-}
}
if grep -q ^DROPBEAR_OPTIONS= /conf/initramfs.conf; then
# XXX backward compatibility; remove once Stretch is the current stable
. /conf/initramfs.conf
elif grep -q ^PKGOPTION_dropbear_OPTION= /conf/initramfs.conf; then
# XXX backward compatibility; remove once Stretch is the current stable
. /conf/initramfs.conf
DROPBEAR_OPTIONS="$PKGOPTION_dropbear_OPTION"
fi
if [ -e /etc/dropbear/config ]; then
. /etc/dropbear/config
fi
. /scripts/functions
# On NFS mounts, wait until the network is configured. On local mounts,
# configure the network in the background (in run_dropbear()) so someone
# with console access can enter the passphrase immediately. (With the
# default ip=dhcp, configure_networking hangs for 5mins or so when the
# network is unavailable, for instance.)
[ "$BOOT" != nfs ] || configure_networking
run_dropbear &
echo $! >/run/dropbear.pid
|