57 lines
1.2 KiB
Bash
57 lines
1.2 KiB
Bash
|
#!/bin/sh
|
||
|
# shellcheck disable=SC1091
|
||
|
. ./init_functions.sh
|
||
|
TELNET_PORT=23
|
||
|
|
||
|
setup_usb_network
|
||
|
start_udhcpd
|
||
|
|
||
|
show_splash /splash-debug-shell.ppm.gz
|
||
|
|
||
|
echo "Create 'pmos_continue_boot' script"
|
||
|
{
|
||
|
echo "#!/bin/sh"
|
||
|
echo "pkill -f pmos_shell"
|
||
|
echo "pkill -f pmos_loop_forever"
|
||
|
echo "pkill -f telnetd.*:${TELNET_PORT}"
|
||
|
} >/usr/bin/pmos_continue_boot
|
||
|
chmod +x /usr/bin/pmos_continue_boot
|
||
|
|
||
|
echo "Create 'pmos_shell' script"
|
||
|
{
|
||
|
echo "#!/bin/sh"
|
||
|
echo "sh"
|
||
|
} >/usr/bin/pmos_shell
|
||
|
chmod +x /usr/bin/pmos_shell
|
||
|
|
||
|
echo "Create 'pmos_loop_forever' script"
|
||
|
{
|
||
|
echo "#!/bin/sh"
|
||
|
echo '. /init_functions.sh'
|
||
|
echo "loop_forever"
|
||
|
} >/usr/bin/pmos_loop_forever
|
||
|
chmod +x /usr/bin/pmos_loop_forever
|
||
|
|
||
|
echo "Start the telnet daemon"
|
||
|
{
|
||
|
echo "#!/bin/sh"
|
||
|
echo "echo \"Type 'pmos_continue_boot' to continue booting:\""
|
||
|
echo "sh"
|
||
|
} >/telnet_connect.sh
|
||
|
chmod +x /telnet_connect.sh
|
||
|
telnetd -b "${IP}:${TELNET_PORT}" -l /telnet_connect.sh
|
||
|
|
||
|
echo "---"
|
||
|
echo "WARNING: debug-shell is active on ${IP}:${TELNET_PORT}."
|
||
|
echo "This is a security hole! Only use it for debugging, and"
|
||
|
echo "uninstall the debug-shell hook afterwards!"
|
||
|
echo "---"
|
||
|
|
||
|
if tty -s; then
|
||
|
echo "Exit the shell to continue booting:"
|
||
|
pmos_shell
|
||
|
else
|
||
|
echo "No tty attached, looping forever."
|
||
|
pmos_loop_forever
|
||
|
fi
|