init commit

This commit is contained in:
Luxferre
2026-10-19 09:23:54 +03:00
commit 6942acf5cf
307 changed files with 35003 additions and 0 deletions
+97
View File
@@ -0,0 +1,97 @@
#!/bin/sh
# Cross-compile Linux 6.12.1-msm8916 QDSP6/Q6Voice audio modules and MSM8905/MSM8909 DTBs
set -eu
BASE_DIR="$(cd "$(dirname "$0")/.." && pwd)"
ROOTFS_DIR="${ROOTFS_DIR:-$BASE_DIR/rootfs}"
if [ -e "$ROOTFS_DIR" ]; then
ROOTFS_DIR="$(realpath "$ROOTFS_DIR")"
fi
KERNEL_TAG="v6.12.1-msm8916"
KERNEL_URL="https://github.com/msm8916-mainline/linux/archive/refs/tags/${KERNEL_TAG}.tar.gz"
exec docker run --rm --network=host \
-e HOST_UID="$(id -u)" \
-e HOST_GID="$(id -g)" \
-e KERNEL_TAG="$KERNEL_TAG" \
-e KERNEL_URL="$KERNEL_URL" \
-v "$BASE_DIR:/bananarchy" \
-v "$ROOTFS_DIR:/target-rootfs:ro" \
alpine:3.24 sh -eu -c '
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 /bananarchy/keys/* /etc/apk/keys/
apk add --no-cache \
build-base \
bc \
bison \
flex \
openssl-dev \
elfutils-dev \
perl \
python3 \
dtc \
findutils \
patch \
curl \
tar \
xz \
gcc-armv7 \
g++-armv7 \
binutils-armv7
mkdir -p /tmp/kbuild
cd /tmp/kbuild
echo "[1/5] Downloading Linux ${KERNEL_TAG}..."
curl -sSL "$KERNEL_URL" -o linux.tar.gz
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, and Nokia MSM8905/MSM8909 DTBs..."
make ARCH=arm CROSS_COMPILE=armv7-alpine-linux-musleabihf- -j"$(nproc)" \
KBUILD_MODPOST_WARN=1 M=sound/soc/qcom/qdsp6 modules
make ARCH=arm CROSS_COMPILE=armv7-alpine-linux-musleabihf- -j"$(nproc)" \
KBUILD_MODPOST_WARN=1 M=/bananarchy/src/leds-msm8905-torch modules
make ARCH=arm CROSS_COMPILE=armv7-alpine-linux-musleabihf- -j"$(nproc)" \
qcom/qcom-msm8905-nokia-argon.dtb \
qcom/qcom-msm8909-nokia-sparkler.dtb \
qcom/qcom-msm8909-nokia-leo.dtb
echo "[5/5] Exporting built modules and DTBs to prebuilt/kernel-6.12.1-msm8916..."
mkdir -p /bananarchy/prebuilt/kernel-6.12.1-msm8916/qdsp6 \
/bananarchy/prebuilt/kernel-6.12.1-msm8916/leds \
/bananarchy/prebuilt/kernel-6.12.1-msm8916/dtbs
cp -a sound/soc/qcom/qdsp6/*.ko /bananarchy/prebuilt/kernel-6.12.1-msm8916/qdsp6/
cp -a /bananarchy/src/leds-msm8905-torch/leds-msm8905-torch.ko \
/bananarchy/prebuilt/kernel-6.12.1-msm8916/leds/
armv7-alpine-linux-musleabihf-strip --strip-unneeded \
/bananarchy/prebuilt/kernel-6.12.1-msm8916/qdsp6/*.ko \
/bananarchy/prebuilt/kernel-6.12.1-msm8916/leds/*.ko
make ARCH=arm CROSS_COMPILE=armv7-alpine-linux-musleabihf- \
M=/bananarchy/src/leds-msm8905-torch clean
cp -a arch/arm/boot/dts/qcom/qcom-msm8905-nokia-argon.dtb \
arch/arm/boot/dts/qcom/qcom-msm8909-nokia-sparkler.dtb \
arch/arm/boot/dts/qcom/qcom-msm8909-nokia-leo.dtb \
/bananarchy/prebuilt/kernel-6.12.1-msm8916/dtbs/
dtc -I dts -O dtb -o /bananarchy/prebuilt/kernel-6.12.1-msm8916/dtbs/qcom-msm8905-nokia-beatles.dtb \
/bananarchy/devices/nokia-beatles/qcom-msm8905-nokia-beatles.dts 2>/dev/null
dtc -I dts -O dtb -o /bananarchy/prebuilt/kernel-6.12.1-msm8916/dtbs/qcom-msm8905-nokia-coconut.dtb \
/bananarchy/devices/nokia-tough/qcom-msm8905-nokia-coconut.dts 2>/dev/null
chown -R "$HOST_UID:$HOST_GID" /bananarchy/prebuilt/kernel-6.12.1-msm8916 /bananarchy/src/leds-msm8905-torch
echo "Kernel audio modules, torch LED module, and DTBs built successfully."
'