feat(camera): add bananarchy-photo CLI, Sxmo menu integration, and multi-capture ISPIF/VFE0 reset
This commit is contained in:
@@ -10,6 +10,13 @@ fi
|
||||
KERNEL_TAG="v6.12.1-msm8916"
|
||||
KERNEL_URL="https://github.com/msm8916-mainline/linux/archive/refs/tags/${KERNEL_TAG}.tar.gz"
|
||||
|
||||
KERNEL_CACHE_DIR="${KERNEL_CACHE_DIR:-/tmp/linux-msm8916}"
|
||||
DOCKER_CACHE_ARGS=""
|
||||
if [ -d "$KERNEL_CACHE_DIR" ]; then
|
||||
DOCKER_CACHE_ARGS="-v $KERNEL_CACHE_DIR:/kcache"
|
||||
fi
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
exec docker run --rm --network=host \
|
||||
-e HOST_UID="$(id -u)" \
|
||||
-e HOST_GID="$(id -g)" \
|
||||
@@ -17,6 +24,7 @@ exec docker run --rm --network=host \
|
||||
-e KERNEL_URL="$KERNEL_URL" \
|
||||
-v "$BASE_DIR:/bananarchy" \
|
||||
-v "$ROOTFS_DIR:/target-rootfs:ro" \
|
||||
$DOCKER_CACHE_ARGS \
|
||||
alpine:3.24 sh -eu -c '
|
||||
cat > /etc/apk/repositories <<EOF
|
||||
https://mirror.nura.eco/postmarketos/v26.06
|
||||
@@ -46,27 +54,43 @@ EOF
|
||||
g++-armv7 \
|
||||
binutils-armv7
|
||||
|
||||
mkdir -p /tmp/kbuild /bananarchy/prebuilt/kernel-6.12.1-msm8916
|
||||
CACHE_TAR="/bananarchy/prebuilt/kernel-6.12.1-msm8916/linux-${KERNEL_TAG#v}.tar.gz"
|
||||
cd /tmp/kbuild
|
||||
if [ -f "$CACHE_TAR" ]; then
|
||||
echo "[1/5] Using cached Linux ${KERNEL_TAG} tarball..."
|
||||
cp "$CACHE_TAR" linux.tar.gz
|
||||
mkdir -p /bananarchy/prebuilt/kernel-6.12.1-msm8916
|
||||
if [ -d /kcache ] && [ -f /kcache/Makefile ]; then
|
||||
echo "[1/5] Using cached kernel tree in /kcache..."
|
||||
cd /kcache
|
||||
if ! grep -q "Q6VOICE_PATH_VOICE" include/dt-bindings/sound/qcom,q6voice.h 2>/dev/null; then
|
||||
echo "[2/5] Applying Bananarchy QDSP6/Q6Voice and MSM8905/MSM8909 DTS patches..."
|
||||
patch -p1 < /bananarchy/patches/kernel/0001-msm8909-qdsp6-voice-sound-nokia-argon-6.12.patch
|
||||
fi
|
||||
if [ ! -f include/config/auto.conf ]; then
|
||||
echo "[3/5] Preparing kernel configuration..."
|
||||
cp /bananarchy/patches/kernel/config-bananarchy-msm8909.armv7 .config
|
||||
make ARCH=arm CROSS_COMPILE=armv7-alpine-linux-musleabihf- olddefconfig
|
||||
make ARCH=arm CROSS_COMPILE=armv7-alpine-linux-musleabihf- modules_prepare
|
||||
fi
|
||||
else
|
||||
echo "[1/5] Downloading Linux ${KERNEL_TAG}..."
|
||||
curl -sSL "$KERNEL_URL" -o linux.tar.gz
|
||||
cp linux.tar.gz "$CACHE_TAR" || true
|
||||
mkdir -p /tmp/kbuild
|
||||
CACHE_TAR="/bananarchy/prebuilt/kernel-6.12.1-msm8916/linux-${KERNEL_TAG#v}.tar.gz"
|
||||
cd /tmp/kbuild
|
||||
if [ -f "$CACHE_TAR" ] && [ "$(wc -c < "$CACHE_TAR")" -gt 1000000 ]; then
|
||||
echo "[1/5] Using cached Linux ${KERNEL_TAG} tarball..."
|
||||
cp "$CACHE_TAR" linux.tar.gz
|
||||
else
|
||||
echo "[1/5] Downloading Linux ${KERNEL_TAG}..."
|
||||
curl -f -sSL "$KERNEL_URL" -o linux.tar.gz
|
||||
cp linux.tar.gz "$CACHE_TAR" || true
|
||||
fi
|
||||
tar -xzf linux.tar.gz
|
||||
cd "linux-${KERNEL_TAG#v}"
|
||||
|
||||
echo "[2/5] Applying Bananarchy QDSP6/Q6Voice and MSM8905/MSM8909 DTS patches..."
|
||||
patch -p1 < /bananarchy/patches/kernel/0001-msm8909-qdsp6-voice-sound-nokia-argon-6.12.patch
|
||||
|
||||
echo "[3/5] Preparing kernel configuration and Module.symvers..."
|
||||
cp /bananarchy/patches/kernel/config-bananarchy-msm8909.armv7 .config
|
||||
make ARCH=arm CROSS_COMPILE=armv7-alpine-linux-musleabihf- olddefconfig
|
||||
make ARCH=arm CROSS_COMPILE=armv7-alpine-linux-musleabihf- modules_prepare
|
||||
fi
|
||||
tar -xzf linux.tar.gz
|
||||
cd "linux-${KERNEL_TAG#v}"
|
||||
|
||||
echo "[2/5] Applying Bananarchy QDSP6/Q6Voice and MSM8905/MSM8909 DTS patches..."
|
||||
patch -p1 < /bananarchy/patches/kernel/0001-msm8909-qdsp6-voice-sound-nokia-argon-6.12.patch
|
||||
|
||||
echo "[3/5] Preparing kernel configuration and Module.symvers..."
|
||||
cp /bananarchy/patches/kernel/config-bananarchy-msm8909.armv7 .config
|
||||
make ARCH=arm CROSS_COMPILE=armv7-alpine-linux-musleabihf- olddefconfig
|
||||
make ARCH=arm CROSS_COMPILE=armv7-alpine-linux-musleabihf- modules_prepare
|
||||
|
||||
echo "[4/5] Building QDSP6/Q6Voice sound modules, torch LED module, camera module, and Nokia MSM8905/MSM8909 DTBs..."
|
||||
make ARCH=arm CROSS_COMPILE=armv7-alpine-linux-musleabihf- -j"$(nproc)" \
|
||||
|
||||
Reference in New Issue
Block a user