docker: add alternate entrypoint script

This one spawns a root shell.
This commit is contained in:
Leonid Pliushch
2023-02-23 12:15:03 +02:00
parent 66799e6bc0
commit 4fab030986
2 changed files with 21 additions and 0 deletions

View File

@@ -15,6 +15,7 @@ COPY /system/$SYSTEM_TYPE /system
# Copy entrypoint script.
COPY /entrypoint.sh /entrypoint.sh
COPY /entrypoint_root.sh /entrypoint_root.sh
# Extract bootstrap archive and create symlinks.
ADD https://github.com/termux/termux-packages/releases/download/bootstrap-$BOOTSTRAP_VERSION/bootstrap-$BOOTSTRAP_ARCH.zip /bootstrap.zip

20
entrypoint_root.sh Executable file
View File

@@ -0,0 +1,20 @@
#!/system/bin/sh
if [ "$(id -u)" != "0" ]; then
echo "Failure: /entrypoint_root.sh must be started as root." >&2
exit 1
fi
if [ -z "$(/system/bin/busybox pidof dnsmasq)" ]; then
/system/bin/mksh -T /dev/ptmx -c "/system/bin/dnsmasq -u root -g root --pid-file /dnsmasq.pid" >/dev/null 2>&1
sleep 1
if [ -z "$(/system/bin/busybox pidof dnsmasq)" ]; then
echo "[!] Failed to start dnsmasq, host name resolution may fail." >&2
fi
fi
if [ $# -ge 1 ]; then
exec "$@"
else
exec /data/data/com.termux/files/usr/bin/login
fi