Files

71 lines
2.1 KiB
Bash
Raw Permalink Normal View History

2026-10-19 09:23:54 +03:00
#!/bin/sh
# Bananarchy Linux Interactive Rootfs Customization Shell
set -eu
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
if [ -n "${ROOTFS_DIR:-}" ]; then
ROOTFS_HOST="$(realpath "$ROOTFS_DIR")"
elif [ -d "$SCRIPT_DIR/rootfs-sxmo" ]; then
ROOTFS_HOST="$(realpath "$SCRIPT_DIR/rootfs-sxmo")"
else
ROOTFS_HOST="$(realpath "$SCRIPT_DIR/rootfs")"
fi
BANANARCHY_DIR="$SCRIPT_DIR"
if [ "${1:-}" = "sxmo" ]; then
shift
fi
if [ "$#" -eq 0 ]; then
set -- /bin/sh
fi
exec docker run --rm -it --network=host \
-e HOST_UID="$(id -u)" \
-e HOST_GID="$(id -g)" \
-v "$ROOTFS_HOST:/rootfs" \
-v "$BANANARCHY_DIR:/bananarchy:ro" \
alpine:3.24 sh -eu -c '
ROOTFS="/rootfs"
cat > /etc/apk/repositories <<EOF
https://mirror.nura.eco/postmarketos/v26.06
https://dl-cdn.alpinelinux.org/alpine/edge/main
https://dl-cdn.alpinelinux.org/alpine/edge/community
https://dl-cdn.alpinelinux.org/alpine/edge/testing
EOF
cp /etc/apk/repositories "$ROOTFS/etc/apk/repositories" 2>/dev/null || true
cp /bananarchy/keys/* /etc/apk/keys/
echo "============================================================"
echo "Bananarchy Linux (MSM8909 / Sxmo) Customization Environment"
echo "Target rootfs: $ROOTFS"
echo ""
echo "Helpful commands inside this shell:"
echo " pkg-add <pkg...> : Install armv7 package(s) into $ROOTFS"
echo " pkg-del <pkg...> : Remove package(s) from $ROOTFS"
echo " pkg-search <query> : Search armv7 packages"
echo " cd /rootfs : Inspect or edit files directly"
echo ""
echo "After exiting, run ./rebuild-image.sh to repack images."
echo "============================================================"
cat > /usr/local/bin/pkg-add <<EOF
#!/bin/sh
exec apk --root "$ROOTFS" --arch armv7 add --no-scripts "\$@"
EOF
cat > /usr/local/bin/pkg-del <<EOF
#!/bin/sh
exec apk --root "$ROOTFS" --arch armv7 del --no-scripts "\$@"
EOF
cat > /usr/local/bin/pkg-search <<EOF
#!/bin/sh
exec apk --root "$ROOTFS" --arch armv7 search "\$@"
EOF
chmod +x /usr/local/bin/pkg-add /usr/local/bin/pkg-del /usr/local/bin/pkg-search
cd "$ROOTFS"
"$@" || true
chown -R "$HOST_UID:$HOST_GID" "$ROOTFS"
chmod -R u+rwX "$ROOTFS"
' -- "$@"