Add GC2395/CAMSS rear camera driver and fix audio, earpiece, micbias, and modem routing
This commit is contained in:
@@ -43,9 +43,9 @@ echo "[1/4] Installing Bananarchy rootfs overlay (artwork, branding, Sxmo 240x32
|
||||
rm -f "$TARGET_ROOTFS/usr/bin/bantam" "$TARGET_ROOTFS/usr/local/bin/bantam" "$TARGET_ROOTFS/etc/doas.d/wheel.conf"
|
||||
cp -af "$BASE_DIR/overlay/rootfs/." "$TARGET_ROOTFS/"
|
||||
chown 0:0 "$TARGET_ROOTFS/etc/doas.d/50-sxmo.conf" 2>/dev/null || true
|
||||
chmod 600 "$TARGET_ROOTFS/etc/doas.d/50-sxmo.conf" 2>/dev/null || true
|
||||
chmod 640 "$TARGET_ROOTFS/etc/doas.d/50-sxmo.conf" 2>/dev/null || true
|
||||
|
||||
echo "[2/4] Installing prebuilt QDSP6/Q6Voice kernel modules, torch LED module, and DTBs..."
|
||||
echo "[2/4] Installing prebuilt QDSP6/Q6Voice kernel modules, torch LED module, camera module, and DTBs..."
|
||||
if [ -d "$TARGET_ROOTFS/lib/modules/6.12.1-msm8916/kernel/sound/soc/qcom/qdsp6" ]; then
|
||||
cp -af "$BASE_DIR/prebuilt/kernel-6.12.1-msm8916/qdsp6/"*.ko* \
|
||||
"$TARGET_ROOTFS/lib/modules/6.12.1-msm8916/kernel/sound/soc/qcom/qdsp6/"
|
||||
@@ -55,6 +55,12 @@ if [ -d "$BASE_DIR/prebuilt/kernel-6.12.1-msm8916/leds" ] && \
|
||||
cp -af "$BASE_DIR/prebuilt/kernel-6.12.1-msm8916/leds/"*.ko* \
|
||||
"$TARGET_ROOTFS/lib/modules/6.12.1-msm8916/kernel/drivers/leds/"
|
||||
fi
|
||||
if [ -d "$BASE_DIR/prebuilt/kernel-6.12.1-msm8916/camera" ] && \
|
||||
[ -d "$TARGET_ROOTFS/lib/modules/6.12.1-msm8916/kernel/drivers" ]; then
|
||||
mkdir -p "$TARGET_ROOTFS/lib/modules/6.12.1-msm8916/kernel/drivers/media/platform/qcom/camss"
|
||||
cp -af "$BASE_DIR/prebuilt/kernel-6.12.1-msm8916/camera/"*.ko* \
|
||||
"$TARGET_ROOTFS/lib/modules/6.12.1-msm8916/kernel/drivers/media/platform/qcom/camss/"
|
||||
fi
|
||||
mkdir -p "$TARGET_ROOTFS/boot/dtbs"
|
||||
cp -af "$BASE_DIR/prebuilt/kernel-6.12.1-msm8916/dtbs/"*.dtb "$TARGET_ROOTFS/boot/dtbs/"
|
||||
cp -af "$BASE_DIR/prebuilt/kernel-6.12.1-msm8916/dtbs/$DTB_FILE" "$TARGET_ROOTFS/boot/$DTB_FILE"
|
||||
|
||||
@@ -41,14 +41,22 @@ EOF
|
||||
curl \
|
||||
tar \
|
||||
xz \
|
||||
zstd \
|
||||
gcc-armv7 \
|
||||
g++-armv7 \
|
||||
binutils-armv7
|
||||
|
||||
mkdir -p /tmp/kbuild
|
||||
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
|
||||
echo "[1/5] Downloading Linux ${KERNEL_TAG}..."
|
||||
curl -sSL "$KERNEL_URL" -o linux.tar.gz
|
||||
if [ -f "$CACHE_TAR" ]; 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 -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}"
|
||||
|
||||
@@ -60,11 +68,13 @@ EOF
|
||||
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..."
|
||||
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)" \
|
||||
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)" \
|
||||
KBUILD_MODPOST_WARN=1 M=/bananarchy/src/msm8905-cam modules
|
||||
make ARCH=arm CROSS_COMPILE=armv7-alpine-linux-musleabihf- -j"$(nproc)" \
|
||||
qcom/qcom-msm8905-nokia-argon.dtb \
|
||||
qcom/qcom-msm8909-nokia-sparkler.dtb \
|
||||
@@ -73,15 +83,27 @@ EOF
|
||||
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/camera \
|
||||
/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/
|
||||
cp -a /bananarchy/src/msm8905-cam/msm8905-cam.ko \
|
||||
/bananarchy/prebuilt/kernel-6.12.1-msm8916/camera/
|
||||
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
|
||||
/bananarchy/prebuilt/kernel-6.12.1-msm8916/leds/*.ko \
|
||||
/bananarchy/prebuilt/kernel-6.12.1-msm8916/camera/*.ko
|
||||
for ko in \
|
||||
/bananarchy/prebuilt/kernel-6.12.1-msm8916/qdsp6/*.ko \
|
||||
/bananarchy/prebuilt/kernel-6.12.1-msm8916/leds/*.ko \
|
||||
/bananarchy/prebuilt/kernel-6.12.1-msm8916/camera/*.ko; do
|
||||
zstd -f -q -k "$ko" -o "${ko}.zst"
|
||||
done
|
||||
make ARCH=arm CROSS_COMPILE=armv7-alpine-linux-musleabihf- \
|
||||
M=/bananarchy/src/leds-msm8905-torch clean
|
||||
make ARCH=arm CROSS_COMPILE=armv7-alpine-linux-musleabihf- \
|
||||
M=/bananarchy/src/msm8905-cam 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 \
|
||||
@@ -92,6 +114,8 @@ EOF
|
||||
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."
|
||||
chown -R "$HOST_UID:$HOST_GID" /bananarchy/prebuilt/kernel-6.12.1-msm8916 \
|
||||
/bananarchy/src/leds-msm8905-torch \
|
||||
/bananarchy/src/msm8905-cam
|
||||
echo "Kernel audio modules, torch LED module, camera module, and DTBs built successfully."
|
||||
'
|
||||
|
||||
@@ -73,7 +73,14 @@ configure_common_rootfs() {
|
||||
tcl-lib \
|
||||
tcl-tls \
|
||||
sqlite \
|
||||
sqlite-tcl
|
||||
sqlite-tcl \
|
||||
modemmanager \
|
||||
modemmanager-udev \
|
||||
mobile-broadband-provider-info \
|
||||
postmarketos-base-ui-modemmanager \
|
||||
postmarketos-base-ui-modemmanager-openrc \
|
||||
i2c-tools \
|
||||
v4l-utils
|
||||
|
||||
echo " -> Installing busybox and busybox-extras symlinks..."
|
||||
for applet in $(/bin/busybox --list-full); do
|
||||
@@ -218,9 +225,11 @@ EOF
|
||||
sed -i 's|^#ttyS0::respawn:/sbin/getty.*|ttyMSM0::respawn:/sbin/getty -L 115200 ttyMSM0 vt100|' "$ROOTFS/etc/inittab"
|
||||
fi
|
||||
|
||||
if ! grep -qx "panel_mipi_dbi" "$ROOTFS/etc/modules" 2>/dev/null; then
|
||||
echo "panel_mipi_dbi" >> "$ROOTFS/etc/modules"
|
||||
fi
|
||||
for mod in panel_mipi_dbi leds_msm8905_torch msm8905-cam; do
|
||||
if ! grep -qx "$mod" "$ROOTFS/etc/modules" 2>/dev/null; then
|
||||
echo "$mod" >> "$ROOTFS/etc/modules"
|
||||
fi
|
||||
done
|
||||
|
||||
mkdir -p "$ROOTFS/etc/udev/rules.d"
|
||||
cat > "$ROOTFS/etc/udev/rules.d/90-nokia-argon-leds.rules" <<EOF
|
||||
@@ -236,11 +245,16 @@ vm.vfs_cache_pressure = 150
|
||||
vm.min_free_kbytes = 16384
|
||||
EOF
|
||||
|
||||
echo " -> Installing patched audio DTB, 20 QDSP6 kernel modules, UCM, and WirePlumber S16LE rules..."
|
||||
echo " -> Installing patched audio DTB, QDSP6/torch/camera kernel modules, UCM, and WirePlumber S16LE rules..."
|
||||
cp "$BANANARCHY_DIR/prebuilt/kernel-6.12.1-msm8916/dtbs/qcom-msm8905-nokia-argon.dtb" \
|
||||
"$ROOTFS/boot/dtbs/qcom-msm8905-nokia-argon.dtb"
|
||||
cp "$BANANARCHY_DIR/prebuilt/kernel-6.12.1-msm8916/qdsp6/"*.ko* \
|
||||
"$ROOTFS/lib/modules/6.12.1-msm8916/kernel/sound/soc/qcom/qdsp6/"
|
||||
mkdir -p "$ROOTFS/lib/modules/6.12.1-msm8916/extra"
|
||||
cp "$BANANARCHY_DIR/prebuilt/kernel-6.12.1-msm8916/leds/"*.ko* \
|
||||
"$ROOTFS/lib/modules/6.12.1-msm8916/extra/" 2>/dev/null || true
|
||||
cp "$BANANARCHY_DIR/prebuilt/kernel-6.12.1-msm8916/camera/"*.ko* \
|
||||
"$ROOTFS/lib/modules/6.12.1-msm8916/extra/" 2>/dev/null || true
|
||||
depmod -b "$ROOTFS" 6.12.1-msm8916
|
||||
|
||||
sed -i 's/"CS-Voice"/"VoiceMMode1"/g' \
|
||||
@@ -676,6 +690,7 @@ EOF
|
||||
|
||||
if [ -x /bananarchy/scripts/apply-bananarchy-overlay.sh ]; then
|
||||
/bananarchy/scripts/apply-bananarchy-overlay.sh "$ROOTFS" nokia-argon
|
||||
depmod -b "$ROOTFS" 6.12.1-msm8916
|
||||
fi
|
||||
|
||||
chown -R 10000:10000 "$ROOTFS/home/user"
|
||||
|
||||
Reference in New Issue
Block a user