pmaports/main/postmarketos-mkinitfs-hook-debug-shell/20-debug-shell.sh
Daniele Debernardi 88abc21167
debug-shell: Skip fbsplash properly (!124)
The show_splash function called by the 20-debug-shell.sh script already
skips fbsplash when the device is configured to not use the framebuffer.
But the variable was not defined in the script. This is solved by
including the /etc/deviceinfo file.

Follow-up to !108, where this change got lost in the rebase.
2019-01-03 09:03:37 +01:00

57 lines
1.2 KiB
Bash

#!/bin/sh
# shellcheck disable=SC1091
. /etc/deviceinfo
. ./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