3b5e3cb66a
Since the original "Loading..." splash is being shown before the hooks is being run, we should go back to the "Loading..." splash once we're done in the hook.
69 lines
1.6 KiB
Bash
69 lines
1.6 KiB
Bash
#!/bin/sh
|
|
# shellcheck disable=SC1091
|
|
. ./init_functions.sh
|
|
. /usr/share/misc/source_deviceinfo
|
|
TELNET_PORT=23
|
|
|
|
setup_usb_network
|
|
start_unudhcpd
|
|
|
|
show_splash "WARNING: debug-shell is active\\nhttps://postmarketos.org/debug-shell"
|
|
|
|
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
|
|
|
|
# mount pstore, if possible
|
|
if [ -d /sys/fs/pstore ]; then
|
|
mount -t pstore pstore /sys/fs/pstore || true
|
|
fi
|
|
# mount debugfs - very helpful for debugging
|
|
mount -t debugfs none /sys/kernel/debug || true
|
|
# make a symlink like Android recoveries do
|
|
ln -s /sys/kernel/debug /d
|
|
|
|
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
|
|
|
|
# Show "Loading" splash again when continuing
|
|
show_splash "Loading..."
|