From ac475d7ab11143936f1a0f8752daa2971f9ece9c Mon Sep 17 00:00:00 2001 From: Miguel Fuertes Date: Tue, 31 Mar 2026 11:54:13 +0200 Subject: [PATCH 1/9] fix luci --- devenv/Dockerfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/devenv/Dockerfile b/devenv/Dockerfile index fe26bcc..0c7313b 100644 --- a/devenv/Dockerfile +++ b/devenv/Dockerfile @@ -33,6 +33,10 @@ RUN cd openwrt && \ ./scripts/feeds install -a && \ rm -rf tmp +# Fix LuCI getFeatures crash when odhcpd is present (upstream bug: ??= doesn't override false) +RUN sed -i 's/result\.odhcpd = false;/result.odhcpd = {};/' \ + openwrt/feeds/luci/modules/luci-base/root/usr/share/rpcd/ucode/luci + WORKDIR /home/builder/openwrt CMD ["/bin/bash"] From e89f2c8bfb8a405228fa8d8b38132858e6008bd1 Mon Sep 17 00:00:00 2001 From: Miguel Fuertes Date: Tue, 31 Mar 2026 16:52:14 +0200 Subject: [PATCH 2/9] Replace git patch with portable shell script and parameterize OpenWrt version - Convert enable_wcn36xx_mac80211.patch to apply_patches.sh (sed + heredoc) for cross-version compatibility (old patch moved to TBR/) - GHA workflows auto-resolve latest OpenWrt 25.12.x tag via git ls-remote - Unify build.yml and build-all.yml into single workflow with dynamic matrix - Local dev (Dockerfile/docker-compose) defaults to main (snapshot) - Remove target-specific APK feed on first boot (msm89xx not on downloads.openwrt.org) - Make LuCI odhcpd fix conditional - Update README with new build instructions Co-Authored-By: Claude Opus 4.6 --- .github/workflows/build-all.yml | 101 ------------------ .github/workflows/build-package.yml | 13 ++- .github/workflows/build.yml | 35 ++++-- .../enable_wcn36xx_mac80211.patch | 0 apply_patches.sh | 86 +++++++++++++++ devenv/Dockerfile | 18 ++-- devenv/docker-compose.yml | 2 + .../etc/uci-defaults/99-default-config | 3 + readme.md | 26 +++-- 9 files changed, 159 insertions(+), 125 deletions(-) delete mode 100644 .github/workflows/build-all.yml rename enable_wcn36xx_mac80211.patch => TBR/enable_wcn36xx_mac80211.patch (100%) create mode 100755 apply_patches.sh diff --git a/.github/workflows/build-all.yml b/.github/workflows/build-all.yml deleted file mode 100644 index 8f9b51e..0000000 --- a/.github/workflows/build-all.yml +++ /dev/null @@ -1,101 +0,0 @@ -name: OpenWrt Builder (All Devices) - -on: - repository_dispatch: - workflow_dispatch: - -env: - UPLOAD_FIRMWARE: true - TZ: Europe/Madrid - -jobs: - build: - runs-on: ubuntu-22.04 - - strategy: - fail-fast: false - matrix: - device: [uz801, uf02] - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Initialization environment - env: - DEBIAN_FRONTEND: noninteractive - run: | - sudo rm -rf /etc/apt/sources.list.d/* /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL - sudo docker image prune --all --force - sudo -E apt-get -qq update - sudo -E ./devenv/dependencies.sh - sudo -E apt-get -qq autoremove --purge - sudo -E apt-get -qq clean - sudo timedatectl set-timezone "$TZ" - - - name: Clone OpenWrt source code - run: | - df -hT $PWD - git clone https://git.openwrt.org/openwrt/openwrt.git openwrt - git -C openwrt checkout 00ceb1ed1763f7479df6edf92ffada948f0e7d45 - - - name: Load msm89xx target and packages - run: | - git apply --unsafe-paths enable_wcn36xx_mac80211.patch - mv msm89xx openwrt/target/linux/msm89xx - mv packages openwrt/package/uz801 - - - name: Update and install feeds - run: | - cd openwrt - rm -rf tmp - ./scripts/feeds update -a - ./scripts/feeds install -a - - - name: Load diffconfig - run: | - DEVICE="${{ matrix.device }}" - DIFFCONFIG="diffconfig_${DEVICE}" - [ -f "$DIFFCONFIG" ] && mv "$DIFFCONFIG" openwrt/.config - - - name: Download package - id: package - run: | - cd openwrt - make defconfig - make download -j8 - find dl -size -1024c -exec ls -l {} \; || true - find dl -size -1024c -exec rm -f {} \; || true - - - name: Compile the firmware - id: compile - run: | - cd openwrt - echo -e "$(nproc) thread compile" - make -j$(nproc) || make -j1 || make -j1 V=s - echo "status=success" >> $GITHUB_OUTPUT - grep '^CONFIG_TARGET.*DEVICE.*=y' .config | sed -r 's/.*DEVICE_(.*)=y/\1/' > DEVICE_NAME - [ -s DEVICE_NAME ] && echo "DEVICE_NAME=$(cat DEVICE_NAME)" >> $GITHUB_ENV - echo "FILE_DATE=$(date +"%Y%m%d%H%M")" >> $GITHUB_ENV - - - name: Organize files - id: organize - if: env.UPLOAD_FIRMWARE == 'true' && !cancelled() - run: | - cd openwrt/bin/targets/*/* - rm -rf packages - echo "FIRMWARE=$PWD" >> $GITHUB_ENV - echo "status=success" >> $GITHUB_OUTPUT - - - name: Upload firmware - uses: actions/upload-artifact@v4 - if: steps.organize.outputs.status == 'success' && !cancelled() - with: - name: openwrt_firmware_${{ env.DEVICE_NAME }}_${{ env.FILE_DATE }} - path: | - ${{ env.FIRMWARE }}/openwrt-msm89xx-msm8916-${{ env.DEVICE_NAME }}-squashfs-gpt_both0.bin - ${{ env.FIRMWARE }}/openwrt-msm89xx-msm8916-${{ env.DEVICE_NAME }}-squashfs-boot.img - ${{ env.FIRMWARE }}/openwrt-msm89xx-msm8916-${{ env.DEVICE_NAME }}-squashfs-system.img - ${{ env.FIRMWARE }}/openwrt-msm89xx-msm8916-${{ env.DEVICE_NAME }}.manifest - ${{ env.FIRMWARE }}/openwrt-msm89xx-msm8916-${{ env.DEVICE_NAME }}-flash.sh - ${{ env.FIRMWARE }}/openwrt-msm89xx-msm8916-${{ env.DEVICE_NAME }}-firmware.zip diff --git a/.github/workflows/build-package.yml b/.github/workflows/build-package.yml index b1c95e1..2e0eb42 100644 --- a/.github/workflows/build-package.yml +++ b/.github/workflows/build-package.yml @@ -18,6 +18,14 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - name: Resolve latest OpenWrt 25.12.x tag + id: resolve + run: | + VERSION=$(git ls-remote --tags https://git.openwrt.org/openwrt/openwrt.git 'v25.12.*' \ + | grep -oP 'v25\.12\.\d+$' | sort -V | tail -1) + echo "Resolved OpenWrt version: $VERSION" + echo "OPENWRT_VERSION=$VERSION" >> $GITHUB_ENV + - name: Initialization environment env: DEBIAN_FRONTEND: noninteractive @@ -32,12 +40,13 @@ jobs: - name: Clone OpenWrt source code run: | + echo "Using OpenWrt ${{ env.OPENWRT_VERSION }}" git clone https://git.openwrt.org/openwrt/openwrt.git openwrt - git -C openwrt checkout 00ceb1ed1763f7479df6edf92ffada948f0e7d45 + git -C openwrt checkout ${{ env.OPENWRT_VERSION }} - name: Load msm89xx target and packages run: | - git apply --unsafe-paths enable_wcn36xx_mac80211.patch + chmod +x apply_patches.sh && ./apply_patches.sh openwrt mv msm89xx openwrt/target/linux/msm89xx mv packages openwrt/package/uz801 diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 83e9058..ff47341 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -5,11 +5,12 @@ on: workflow_dispatch: inputs: device: - description: 'Target device' - required: true + description: 'Target device (all = build all devices)' + required: false type: choice - default: uz801 + default: all options: + - all - uz801 - uf02 @@ -18,8 +19,27 @@ env: TZ: Europe/Madrid jobs: - build: + resolve-version: runs-on: ubuntu-22.04 + outputs: + openwrt_version: ${{ steps.resolve.outputs.version }} + steps: + - name: Resolve latest OpenWrt 25.12.x tag + id: resolve + run: | + VERSION=$(git ls-remote --tags https://git.openwrt.org/openwrt/openwrt.git 'v25.12.*' \ + | grep -oP 'v25\.12\.\d+$' | sort -V | tail -1) + echo "Resolved OpenWrt version: $VERSION" + echo "version=$VERSION" >> $GITHUB_OUTPUT + + build: + needs: resolve-version + runs-on: ubuntu-22.04 + + strategy: + fail-fast: false + matrix: + device: ${{ fromJSON(inputs.device == 'all' || inputs.device == '' && '["uz801","uf02"]' || format('["{0}"]', inputs.device)) }} steps: - name: Checkout @@ -40,12 +60,13 @@ jobs: - name: Clone OpenWrt source code run: | df -hT $PWD + echo "Using OpenWrt ${{ needs.resolve-version.outputs.openwrt_version }}" git clone https://git.openwrt.org/openwrt/openwrt.git openwrt - git -C openwrt checkout 00ceb1ed1763f7479df6edf92ffada948f0e7d45 + git -C openwrt checkout ${{ needs.resolve-version.outputs.openwrt_version }} - name: Load msm89xx target and packages run: | - git apply --unsafe-paths enable_wcn36xx_mac80211.patch + chmod +x apply_patches.sh && ./apply_patches.sh openwrt mv msm89xx openwrt/target/linux/msm89xx mv packages openwrt/package/uz801 @@ -58,7 +79,7 @@ jobs: - name: Load diffconfig run: | - DEVICE="${{ inputs.device || 'uz801' }}" + DEVICE="${{ matrix.device }}" DIFFCONFIG="diffconfig_${DEVICE}" [ -f "$DIFFCONFIG" ] && mv "$DIFFCONFIG" openwrt/.config diff --git a/enable_wcn36xx_mac80211.patch b/TBR/enable_wcn36xx_mac80211.patch similarity index 100% rename from enable_wcn36xx_mac80211.patch rename to TBR/enable_wcn36xx_mac80211.patch diff --git a/apply_patches.sh b/apply_patches.sh new file mode 100755 index 0000000..0d03b1e --- /dev/null +++ b/apply_patches.sh @@ -0,0 +1,86 @@ +#!/bin/bash +# apply_patches.sh +# Applies wcn36xx and ath10k-sdio support patches to OpenWrt's mac80211 package. +# Replaces the git patch approach to work across different OpenWrt versions. +# NOTE: Requires GNU sed (Linux only - runs in Docker or GHA). +set -e + +OPENWRT_DIR="${1:-openwrt}" +ATH_MK="$OPENWRT_DIR/package/kernel/mac80211/ath.mk" + +if [ ! -f "$ATH_MK" ]; then + echo "Error: $ATH_MK not found" + exit 1 +fi + +if grep -q 'wcn36xx' "$ATH_MK"; then + echo "mac80211 patches already applied, skipping" + exit 0 +fi + +echo "Applying mac80211 wcn36xx/ath10k-sdio patches to $ATH_MK..." + +# 1. Add ath10k-sdio and wcn36xx to PKG_DRIVERS +sed -i 's/ath10k ath10k-smallbuffers/ath10k ath10k-sdio ath10k-smallbuffers/' "$ATH_MK" +sed -i 's/wil6210 qcom-qmi-helpers/wil6210 wcn36xx qcom-qmi-helpers/' "$ATH_MK" + +# 2. Add WCN36XX_DEBUGFS after WIL6210_DEBUGFS +sed -i '/^[[:space:]]*WIL6210_DEBUGFS$/s/WIL6210_DEBUGFS/WIL6210_DEBUGFS \\\n\tWCN36XX_DEBUGFS/' "$ATH_MK" + +# 3. Add sdio variant to ath config_package +sed -i 's/config_package,ath,regular smallbuffers/config_package,ath,regular sdio smallbuffers/' "$ATH_MK" + +# 4. Add WCN36XX config for msm89xx target (after ipq40xx line) +sed -i '/config-.*CONFIG_TARGET_ipq40xx/a config-$(CONFIG_TARGET_msm89xx) += WCN36XX' "$ATH_MK" + +# 5. Add ath10k-sdio config line (after ath10k regular line) +sed -i '/config-.*config_package,ath10k,regular)/a config-$(call config_package,ath10k-sdio,sdio) += ATH10K ATH10K_SDIO' "$ATH_MK" + +# 6. Extend kmod-ath DEPENDS for msm89xx +sed -i 's/@PCI_SUPPORT||USB_SUPPORT||TARGET_ath79 +kmod-mac80211/@PCI_SUPPORT||USB_SUPPORT||TARGET_ath79||TARGET_ath25||TARGET_msm89xx +kmod-mac80211/' "$ATH_MK" + +# 7. Add ath10k-sdio to LEDS and THERMAL depends +sed -i 's/PACKAGE_kmod-ath10k || PACKAGE_kmod-ath10k-smallbuffers/PACKAGE_kmod-ath10k || PACKAGE_kmod-ath10k-sdio || PACKAGE_kmod-ath10k-smallbuffers/g' "$ATH_MK" + +# 8. Add default y to ATH10K_THERMAL (insert before its depends line) +sed -i '/config ATH10K_THERMAL/{n;n;/depends/i\ default y +}' "$ATH_MK" + +# 9. Append KernelPackage/ath10k-sdio and KernelPackage/wcn36xx definitions +cat >> "$ATH_MK" << 'EOF' + +define KernelPackage/ath10k-sdio + $(call KernelPackage/mac80211/Default) + TITLE:=Atheros 802.11ac SDIO wireless cards support + URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath10k + DEPENDS+= +kmod-ath +kmod-mmc +@DRIVER_11AC_SUPPORT \ + +ATH10K_THERMAL:kmod-hwmon-core +ATH10K_THERMAL:kmod-thermal + FILES:= \ + $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_core.ko \ + $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_sdio.ko + AUTOLOAD:=$(call AutoProbe,ath10k_core) + MODPARAMS.ath10k_core:=frame_mode=2 + VARIANT:=sdio +endef + +define KernelPackage/ath10k-sdio/description +This module adds support for wireless adapters based on +Atheros IEEE 802.11ac family of chipsets with SDIO bus. +endef + +define KernelPackage/wcn36xx + $(call KernelPackage/mac80211/Default) + TITLE:=Qualcomm Atheros WCN3660/3680 support + URL:=https://wireless.wiki.kernel.org/en/users/drivers/wcn36xx + DEPENDS+= @TARGET_msm89xx +kmod-ath +kmod-qcom-rproc-wcnss + FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/wcn36xx/wcn36xx.ko + AUTOLOAD:=$(call AutoProbe,wcn36xx) +endef + +define KernelPackage/wcn36xx/description +This module adds support for Qualcomm Atheros WCN3660/3680 Wireless +blocks in some Qualcomm SoCs +endef +EOF + +echo "mac80211 patches applied successfully" diff --git a/devenv/Dockerfile b/devenv/Dockerfile index 0c7313b..ae946e4 100644 --- a/devenv/Dockerfile +++ b/devenv/Dockerfile @@ -17,15 +17,15 @@ WORKDIR /home/builder FROM base AS openwrt -ENV BRANCH=main +ARG OPENWRT_VERSION=main # Clone OpenWrt repository RUN git clone https://git.openwrt.org/openwrt/openwrt.git openwrt && \ - git -C openwrt checkout 00ceb1ed1763f7479df6edf92ffada948f0e7d45 + git -C openwrt checkout ${OPENWRT_VERSION} -# Apply patch inside openwrt directory -COPY enable_wcn36xx_mac80211.patch . -RUN git apply enable_wcn36xx_mac80211.patch +# Apply mac80211 patches (wcn36xx/ath10k-sdio support) +COPY --chmod=755 apply_patches.sh . +RUN ./apply_patches.sh openwrt # Update and install feeds RUN cd openwrt && \ @@ -33,9 +33,11 @@ RUN cd openwrt && \ ./scripts/feeds install -a && \ rm -rf tmp -# Fix LuCI getFeatures crash when odhcpd is present (upstream bug: ??= doesn't override false) -RUN sed -i 's/result\.odhcpd = false;/result.odhcpd = {};/' \ - openwrt/feeds/luci/modules/luci-base/root/usr/share/rpcd/ucode/luci +# Fix LuCI getFeatures crash when odhcpd is present (conditional - may be fixed in release) +RUN LUCI_FILE="openwrt/feeds/luci/modules/luci-base/root/usr/share/rpcd/ucode/luci" && \ + if [ -f "$LUCI_FILE" ] && grep -q 'result\.odhcpd = false;' "$LUCI_FILE"; then \ + sed -i 's/result\.odhcpd = false;/result.odhcpd = {};/' "$LUCI_FILE"; \ + fi WORKDIR /home/builder/openwrt diff --git a/devenv/docker-compose.yml b/devenv/docker-compose.yml index b9bb4ed..a9b7d2c 100644 --- a/devenv/docker-compose.yml +++ b/devenv/docker-compose.yml @@ -13,6 +13,8 @@ services: build: context: .. dockerfile: devenv/Dockerfile + args: + OPENWRT_VERSION: ${OPENWRT_VERSION:-main} container_name: openwrt-builder working_dir: /home/builder/openwrt stdin_open: true diff --git a/msm89xx/base-files/etc/uci-defaults/99-default-config b/msm89xx/base-files/etc/uci-defaults/99-default-config index ee86f1f..b135077 100755 --- a/msm89xx/base-files/etc/uci-defaults/99-default-config +++ b/msm89xx/base-files/etc/uci-defaults/99-default-config @@ -16,4 +16,7 @@ uci add_list firewall.@zone[1].network='modem' uci -q del_list "network.@device[0].ports=eth0" 2>/dev/null || true sed -i 's/"device": "eth0"/"device": "br-lan"/g' /etc/board.json +# Remove target-specific APK feed (msm89xx is not on downloads.openwrt.org) +sed -i '\|/targets/msm89xx/msm8916/packages|d' /etc/apk/repositories.d/distfeeds.list 2>/dev/null || true + uci commit diff --git a/readme.md b/readme.md index e258201..bb24e41 100644 --- a/readme.md +++ b/readme.md @@ -59,23 +59,35 @@ MF68E and M9S device support has been moved to the [TBR](TBR/readme.md) director ## Building -1. Enter the build environment: +### GitHub Actions (release builds) + +GHA workflows automatically resolve the **latest OpenWrt 25.12.x** tag. Trigger manually from the Actions tab: + +- **Build firmware**: `build.yml` — select a device (`uz801`, `uf02`, or `all`) +- **Build packages**: `build-package.yml` — builds `luci-app-tailscale`, `uci-usb-gadget`, and `luci-app-usb-gadget` in APK and IPK formats + +### Local (snapshot builds) + +1. Build the environment (defaults to OpenWrt `main`/snapshot): ``` cd devenv -docker compose run --rm builder +docker compose build builder ``` -2. Configure and build: +2. Enter and build: ``` +docker compose run --rm builder cp /repo/diffconfig_uz801 .config -echo "# CONFIG_SIGNED_PACKAGES is not set" >> .config # Optional: disable signature verification make defconfig make -j$(nproc) ``` -### Building standalone packages +To build a specific version locally: +``` +OPENWRT_VERSION=v25.12.1 docker compose build builder --no-cache +``` -A GitHub Actions workflow (`build-package.yml`) builds `luci-app-tailscale`, `uci-usb-gadget`, and `luci-app-usb-gadget` in both APK and IPK formats. Trigger it manually from the Actions tab. +> **Note:** The msm89xx target requires kernel 6.12. Only OpenWrt versions that include this kernel (25.12.x, current snapshots) are supported. ## Installation @@ -153,7 +165,7 @@ The modem requires region-specific MCFG configuration files. - [ ] Custom package server for msm89xx/msm8916 - Note: Target-specific modules may require building from source via `make menuconfig` - - Removed feed: `https://downloads.openwrt.org/snapshots/targets/msm89xx/msm8916/packages/packages.adb` + - The target-specific APK feed is automatically removed on first boot (msm89xx is not on downloads.openwrt.org) - [ ] Investigate `lpac` for eSIM support - [x] Memory expansion: `kmod-zram` + `zram-swap` enabled on all devices From 650151aac3006db97e07e9ff6877e57eb1fc38dd Mon Sep 17 00:00:00 2001 From: Miguel Fuertes Date: Tue, 31 Mar 2026 19:13:48 +0200 Subject: [PATCH 3/9] Multi-kernel support and cross-version compatibility - Auto-detect kernel version in msm89xx Makefile (prefers 6.12, falls back to latest available) - Add config-6.6 for OpenWrt 24.10.x support - Rename patches-6.12/ to patches/ (version-agnostic) - Move unused qcom-memshare patch to TBR/ - Restrict GHA workflows to OpenWrt 25.12.x releases - Update README with kernel compatibility table Co-Authored-By: Claude Opus 4.6 --- .github/workflows/build-package.yml | 11 +- .github/workflows/build.yml | 11 +- .../add-qcom-memshare.patch | 0 devenv/Dockerfile | 2 +- msm89xx/Makefile | 6 +- msm89xx/config-6.6 | 937 ++++++++++++++++++ ...-arm64-dts-qcom-add-devices-makefile.patch | 0 .../803-arm64-dts-qcom-swap-leds-uz801.patch | 0 ...m64-dts-qcom-add-msm8916-generic-uf2.patch | 0 readme.md | 15 +- 10 files changed, 971 insertions(+), 11 deletions(-) rename {msm89xx/patches-6.12 => TBR}/add-qcom-memshare.patch (100%) create mode 100644 msm89xx/config-6.6 rename msm89xx/{patches-6.12 => patches}/801-arm64-dts-qcom-add-devices-makefile.patch (100%) rename msm89xx/{patches-6.12 => patches}/803-arm64-dts-qcom-swap-leds-uz801.patch (100%) rename msm89xx/{patches-6.12 => patches}/804-arm64-dts-qcom-add-msm8916-generic-uf2.patch (100%) diff --git a/.github/workflows/build-package.yml b/.github/workflows/build-package.yml index 2e0eb42..53fb282 100644 --- a/.github/workflows/build-package.yml +++ b/.github/workflows/build-package.yml @@ -18,11 +18,15 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Resolve latest OpenWrt 25.12.x tag + - name: Resolve latest stable OpenWrt tag (>= 24.10) id: resolve run: | VERSION=$(git ls-remote --tags https://git.openwrt.org/openwrt/openwrt.git 'v25.12.*' \ | grep -oP 'v25\.12\.\d+$' | sort -V | tail -1) + if [ -z "$VERSION" ]; then + echo "ERROR: Could not resolve a stable OpenWrt 25.12.x version" + exit 1 + fi echo "Resolved OpenWrt version: $VERSION" echo "OPENWRT_VERSION=$VERSION" >> $GITHUB_ENV @@ -46,9 +50,10 @@ jobs: - name: Load msm89xx target and packages run: | - chmod +x apply_patches.sh && ./apply_patches.sh openwrt + chmod +x apply_patches.sh + ./apply_patches.sh openwrt mv msm89xx openwrt/target/linux/msm89xx - mv packages openwrt/package/uz801 + mv packages openwrt/package/msm8916 - name: Update and install feeds run: | diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ff47341..29f9ee3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,11 +24,15 @@ jobs: outputs: openwrt_version: ${{ steps.resolve.outputs.version }} steps: - - name: Resolve latest OpenWrt 25.12.x tag + - name: Resolve latest stable OpenWrt 25.12.x tag id: resolve run: | VERSION=$(git ls-remote --tags https://git.openwrt.org/openwrt/openwrt.git 'v25.12.*' \ | grep -oP 'v25\.12\.\d+$' | sort -V | tail -1) + if [ -z "$VERSION" ]; then + echo "ERROR: Could not resolve a stable OpenWrt 25.12.x version" + exit 1 + fi echo "Resolved OpenWrt version: $VERSION" echo "version=$VERSION" >> $GITHUB_OUTPUT @@ -66,9 +70,10 @@ jobs: - name: Load msm89xx target and packages run: | - chmod +x apply_patches.sh && ./apply_patches.sh openwrt + chmod +x apply_patches.sh + ./apply_patches.sh openwrt mv msm89xx openwrt/target/linux/msm89xx - mv packages openwrt/package/uz801 + mv packages openwrt/package/msm8916 - name: Update and install feeds run: | diff --git a/msm89xx/patches-6.12/add-qcom-memshare.patch b/TBR/add-qcom-memshare.patch similarity index 100% rename from msm89xx/patches-6.12/add-qcom-memshare.patch rename to TBR/add-qcom-memshare.patch diff --git a/devenv/Dockerfile b/devenv/Dockerfile index ae946e4..d1c5b02 100644 --- a/devenv/Dockerfile +++ b/devenv/Dockerfile @@ -24,7 +24,7 @@ RUN git clone https://git.openwrt.org/openwrt/openwrt.git openwrt && \ git -C openwrt checkout ${OPENWRT_VERSION} # Apply mac80211 patches (wcn36xx/ath10k-sdio support) -COPY --chmod=755 apply_patches.sh . +COPY --chmod=755 apply_patches.sh ./ RUN ./apply_patches.sh openwrt # Update and install feeds diff --git a/msm89xx/Makefile b/msm89xx/Makefile index 280eb85..50f4de6 100644 --- a/msm89xx/Makefile +++ b/msm89xx/Makefile @@ -7,7 +7,11 @@ BOARDNAME:=Boards based on Snapdragon 210/410/615 chipsets FEATURES:=ext4 usb usbgadget gpio fpu rootfs-part boot-part squashfs SUBTARGETS:=msm8916 -KERNEL_PATCHVER:=6.12 +# Resolve kernel: prefer $1, fall back to latest available +kernel-detect = $(if $(wildcard $(TOPDIR)/include/kernel-$(1)),$(1),$(lastword $(sort $(patsubst $(TOPDIR)/include/kernel-%,%,$(wildcard $(TOPDIR)/include/kernel-[0-9]*))))) + +KERNEL_PATCHVER:=$(call kernel-detect,6.12) + define Target/Description Build firmware images for various Snapdragon 210/410/615 based devices diff --git a/msm89xx/config-6.6 b/msm89xx/config-6.6 new file mode 100644 index 0000000..c0b89f0 --- /dev/null +++ b/msm89xx/config-6.6 @@ -0,0 +1,937 @@ +CONFIG_64BIT=y +CONFIG_ARCH_BINFMT_ELF_EXTRA_PHDRS=y +CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y +CONFIG_ARCH_DEFAULT_KEXEC_IMAGE_VERIFY_SIG=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_FORCE_MAX_ORDER=10 +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_KEEP_MEMBLOCK=y +CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y +CONFIG_ARCH_MMAP_RND_BITS=18 +CONFIG_ARCH_MMAP_RND_BITS_MAX=33 +CONFIG_ARCH_MMAP_RND_BITS_MIN=18 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11 +CONFIG_ARCH_PROC_KCORE_TEXT=y +CONFIG_ARCH_QCOM=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_STACKWALK=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARCH_WANTS_NO_INSTR=y +CONFIG_ARCH_WANTS_THP_SWAP=y +CONFIG_ARM64=y +CONFIG_ARM64_4K_PAGES=y +# CONFIG_ARM64_CNP is not set +CONFIG_ARM64_ERRATUM_819472=y +CONFIG_ARM64_ERRATUM_824069=y +CONFIG_ARM64_ERRATUM_826319=y +CONFIG_ARM64_ERRATUM_827319=y +CONFIG_ARM64_ERRATUM_843419=y +CONFIG_ARM64_ERRATUM_845719=y +CONFIG_ARM64_ERRATUM_858921=y +CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y +CONFIG_ARM64_PAGE_SHIFT=12 +CONFIG_ARM64_PA_BITS=48 +CONFIG_ARM64_PA_BITS_48=y +# CONFIG_ARM64_SW_TTBR0_PAN is not set +CONFIG_ARM64_TAGGED_ADDR_ABI=y +CONFIG_ARM64_VA_BITS=48 +# CONFIG_ARM64_VA_BITS_39 is not set +CONFIG_ARM64_VA_BITS_48=y +CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y +# CONFIG_ARMV8_DEPRECATED is not set +CONFIG_ARM_AMBA=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y +CONFIG_ARM_GIC=y +CONFIG_ARM_GIC_V3=y +CONFIG_ARM_GIC_V3_ITS=y +# CONFIG_ARM_MHU_V2 is not set +CONFIG_ARM_PSCI_CPUIDLE=y +CONFIG_ARM_PSCI_CPUIDLE_DOMAIN=y +CONFIG_ARM_PSCI_FW=y +# CONFIG_ARM_QCOM_CPUFREQ_HW is not set +CONFIG_ARM_QCOM_CPUFREQ_NVMEM=y +CONFIG_ARM_SMCCC_SOC_ID=y +CONFIG_ARM_SMMU=y +CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y +# CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set +CONFIG_ARM_SMMU_QCOM=y +# CONFIG_ARM_SMMU_QCOM_DEBUG is not set +# CONFIG_ARM_SMMU_V3 is not set +CONFIG_ASN1=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_ASYMMETRIC_KEY_TYPE=y +CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y +CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y +CONFIG_AUTOFS_FS=y +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_PWM=y +CONFIG_BLK_DEBUG_FS=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_SD=y +CONFIG_BLK_MQ_VIRTIO=y +CONFIG_BLK_PM=y +CONFIG_BLOCK_LEGACY_AUTOLOAD=y +CONFIG_BPF_JIT_ALWAYS_ON=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +CONFIG_BUFFER_HEAD=y +CONFIG_BUILTIN_RETURN_ADDRESS_STRIPS_PAC=y +CONFIG_CACHESTAT_SYSCALL=y +CONFIG_CC_HAVE_SHADOW_CALL_STACK=y +CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y +CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5" +CONFIG_CC_NO_ARRAY_BOUNDS=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_CLZ_TAB=y +CONFIG_CMA=y +CONFIG_CMA_ALIGNMENT=8 +CONFIG_CMA_AREAS=7 +# CONFIG_CMA_DEBUG is not set +# CONFIG_CMA_DEBUGFS is not set +CONFIG_CMA_SIZE_MBYTES=16 +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SYSFS is not set +CONFIG_COMMON_CLK=y +CONFIG_COMMON_CLK_QCOM=y +CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1 +CONFIG_COMPAT=y +CONFIG_COMPAT_32BIT_TIME=y +# CONFIG_COMPAT_ALIGNMENT_FIXUPS is not set +CONFIG_COMPAT_BINFMT_ELF=y +CONFIG_COMPAT_OLD_SIGACTION=y +CONFIG_CONFIGFS_FS=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_CONTEXT_TRACKING=y +CONFIG_CONTEXT_TRACKING_IDLE=y +CONFIG_CONTIG_ALLOC=y +CONFIG_COREDUMP=y +CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y +CONFIG_CPUFREQ_DT=y +CONFIG_CPUFREQ_DT_PLATDEV=y +CONFIG_CPU_FREQ=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y +CONFIG_CPU_FREQ_GOV_ATTR_SET=y +# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y +# CONFIG_CPU_FREQ_GOV_USERSPACE is not set +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_THERMAL=y +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y +CONFIG_CPU_ISOLATION=y +CONFIG_CPU_LITTLE_ENDIAN=y +CONFIG_CPU_MITIGATIONS=y +CONFIG_CPU_PM=y +CONFIG_CPU_RMAP=y +CONFIG_CPU_THERMAL=y +CONFIG_CRC16=y +CONFIG_CROSS_MEMORY_ATTACH=y +CONFIG_CRYPTO_AES_ARM64=y +CONFIG_CRYPTO_AES_ARM64_BS=y +CONFIG_CRYPTO_AES_ARM64_CE=y +CONFIG_CRYPTO_AES_ARM64_CE_BLK=y +CONFIG_CRYPTO_AES_ARM64_CE_CCM=y +CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y +CONFIG_CRYPTO_ANSI_CPRNG=y +CONFIG_CRYPTO_AUTHENC=y +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_DEV_QCE=y +CONFIG_CRYPTO_DEV_QCE_AEAD=y +# CONFIG_CRYPTO_DEV_QCE_ENABLE_AEAD is not set +CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y +# CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set +# CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set +CONFIG_CRYPTO_DEV_QCE_SHA=y +CONFIG_CRYPTO_DEV_QCE_SKCIPHER=y +CONFIG_CRYPTO_DEV_QCE_SW_MAX_LEN=512 +CONFIG_CRYPTO_DEV_QCOM_RNG=y +CONFIG_CRYPTO_DRBG=y +CONFIG_CRYPTO_DRBG_HMAC=y +CONFIG_CRYPTO_DRBG_MENU=y +CONFIG_CRYPTO_ECB=y +CONFIG_CRYPTO_ECC=y +CONFIG_CRYPTO_ECDH=y +CONFIG_CRYPTO_GHASH_ARM64_CE=y +CONFIG_CRYPTO_HASH_INFO=y +CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_HW=y +CONFIG_CRYPTO_JITTERENTROPY=y +CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y +CONFIG_CRYPTO_LIB_DES=y +CONFIG_CRYPTO_LIB_GF128MUL=y +CONFIG_CRYPTO_LIB_SHA1=y +CONFIG_CRYPTO_LIB_SHA256=y +CONFIG_CRYPTO_LIB_UTILS=y +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_RNG=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=y +CONFIG_CRYPTO_RSA=y +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA1_ARM64_CE=y +CONFIG_CRYPTO_SHA256=y +CONFIG_CRYPTO_SHA256_ARM64=y +CONFIG_CRYPTO_SHA2_ARM64_CE=y +CONFIG_CRYPTO_SHA3=y +CONFIG_CRYPTO_SHA512=y +CONFIG_CRYPTO_SHA512_ARM64=y +CONFIG_CRYPTO_SHA512_ARM64_CE=y +CONFIG_CRYPTO_SIG=y +CONFIG_CRYPTO_SIG2=y +CONFIG_CRYPTO_XTS=y +CONFIG_CRYPTO_ZSTD=y +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_REDUCED=y +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_LZ4=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_ZSTD=y +# CONFIG_DEVFREQ_GOV_PASSIVE is not set +# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set +# CONFIG_DEVFREQ_GOV_POWERSAVE is not set +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y +# CONFIG_DEVFREQ_GOV_USERSPACE is not set +# CONFIG_DEVFREQ_THERMAL is not set +CONFIG_DEV_COREDUMP=y +CONFIG_DMADEVICES=y +CONFIG_DMA_BOUNCE_UNALIGNED_KMALLOC=y +CONFIG_DMA_CMA=y +CONFIG_DMA_DIRECT_REMAP=y +CONFIG_DMA_ENGINE=y +CONFIG_DMA_OF=y +CONFIG_DMA_OPS=y +CONFIG_DMA_SHARED_BUFFER=y +CONFIG_DMA_VIRTUAL_CHANNELS=y +CONFIG_DNOTIFY=y +CONFIG_DST_CACHE=y +CONFIG_DTC=y +CONFIG_DT_IDLE_GENPD=y +CONFIG_DT_IDLE_STATES=y +CONFIG_DUMMY_CONSOLE=y +CONFIG_EDAC_SUPPORT=y +CONFIG_ELF_CORE=y +CONFIG_EXCLUSIVE_SYSTEM_RAM=y +# CONFIG_EXPERT is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_EXTCON=y +CONFIG_EXTCON_QCOM_SPMI_MISC=y +CONFIG_EXTCON_SM5502=y +CONFIG_EXTCON_USB_GPIO=y +CONFIG_FANOTIFY=y +CONFIG_FAT_FS=y +CONFIG_FB=y +CONFIG_FB_CORE=y +CONFIG_FB_IOMEM_FOPS=y +CONFIG_FHANDLE=y +# CONFIG_FIPS_SIGNATURE_SELFTEST is not set +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_FONT_8x16=y +CONFIG_FONT_8x8=y +CONFIG_FONT_SUPPORT=y +# CONFIG_FORTIFY_SOURCE is not set +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +CONFIG_FRAME_POINTER=y +CONFIG_FSL_ERRATUM_A008585=y +CONFIG_FS_IOMAP=y +CONFIG_FS_MBCACHE=y +CONFIG_FS_POSIX_ACL=y +CONFIG_FUNCTION_ALIGNMENT=4 +CONFIG_FUNCTION_ALIGNMENT_4B=y +# CONFIG_FW_LOADER_USER_HELPER is not set +CONFIG_GARP=y +CONFIG_GCC10_NO_ARRAY_BOUNDS=y +CONFIG_GCC_PLUGINS=y +# CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set +# CONFIG_GCC_PLUGIN_STACKLEAK is not set +CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_GENERIC_ARCH_TOPOLOGY=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_GENERIC_CPU_VULNERABILITIES=y +CONFIG_GENERIC_CSUM=y +CONFIG_GENERIC_EARLY_IOREMAP=y +CONFIG_GENERIC_GETTIMEOFDAY=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_GENERIC_IOREMAP=y +CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y +CONFIG_GENERIC_IRQ_MIGRATION=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y +CONFIG_GENERIC_MSI_IRQ=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_PHY=y +CONFIG_GENERIC_PINCONF=y +CONFIG_GENERIC_PINCTRL_GROUPS=y +CONFIG_GENERIC_PINMUX_FUNCTIONS=y +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GLOB=y +CONFIG_GPIOLIB_IRQCHIP=y +CONFIG_GPIO_CDEV=y +CONFIG_GPIO_CDEV_V1=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +CONFIG_HISILICON_ERRATUM_161010101=y +CONFIG_HOTPLUG_CORE_SYNC=y +CONFIG_HOTPLUG_CORE_SYNC_DEAD=y +CONFIG_HOTPLUG_CPU=y +CONFIG_HUGETLBFS=y +CONFIG_HUGETLB_PAGE=y +CONFIG_HWMON=y +# CONFIG_HWPOISON_INJECT is not set +CONFIG_HWSPINLOCK=y +CONFIG_HWSPINLOCK_QCOM=y +CONFIG_HW_CONSOLE=y +CONFIG_HZ=300 +# CONFIG_HZ_100 is not set +CONFIG_HZ_300=y +CONFIG_I2C=y +CONFIG_I2C_ALGOBIT=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_GPIO=y +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_MUX=y +# CONFIG_I2C_QCOM_CCI is not set +CONFIG_I2C_QUP=y +CONFIG_IIO=y +CONFIG_IIO_BUFFER=y +CONFIG_IIO_KFIFO_BUF=y +CONFIG_IIO_TRIGGER=y +CONFIG_IIO_TRIGGERED_BUFFER=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 +CONFIG_INET_DIAG=y +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_INET_RAW_DIAG is not set +CONFIG_INET_TCP_DIAG=y +CONFIG_INITRAMFS_PRESERVE_MTIME=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_INPUT=y +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_FF_MEMLESS=y +CONFIG_INPUT_KEYBOARD=y +CONFIG_INPUT_LEDS=y +CONFIG_INPUT_MOUSE=y +CONFIG_INPUT_PM8941_PWRKEY=y +CONFIG_INPUT_TOUCHSCREEN=y +# CONFIG_IOMMUFD is not set +CONFIG_IOMMU_API=y +# CONFIG_IOMMU_DEBUGFS is not set +# CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set +CONFIG_IOMMU_DEFAULT_DMA_STRICT=y +# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set +CONFIG_IOMMU_DMA=y +CONFIG_IOMMU_IOVA=y +CONFIG_IOMMU_IO_PGTABLE=y +# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set +# CONFIG_IOMMU_IO_PGTABLE_DART is not set +CONFIG_IOMMU_IO_PGTABLE_LPAE=y +# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set +CONFIG_IOMMU_SUPPORT=y +CONFIG_IO_URING=y +CONFIG_IPC_NS=y +# CONFIG_IPQ_APSS_6018 is not set +# CONFIG_IPQ_APSS_PLL is not set +# CONFIG_IPQ_GCC_4019 is not set +# CONFIG_IPQ_GCC_5018 is not set +# CONFIG_IPQ_GCC_5332 is not set +# CONFIG_IPQ_GCC_6018 is not set +# CONFIG_IPQ_GCC_8074 is not set +# CONFIG_IPQ_GCC_9574 is not set +CONFIG_IPV6=y +CONFIG_IPV6_MROUTE=y +CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_PIMSM_V2=y +CONFIG_IPV6_SEG6_BPF=y +CONFIG_IPV6_SEG6_LWTUNNEL=y +CONFIG_IPV6_SUBTREES=y +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_MROUTE=y +CONFIG_IP_MROUTE_COMMON=y +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +CONFIG_IRQCHIP=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_IRQ_FASTEOI_HIERARCHY_HANDLERS=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_IRQ_MSI_IOMMU=y +CONFIG_IRQ_TIME_ACCOUNTING=y +CONFIG_IRQ_WORK=y +# CONFIG_ISDN is not set +CONFIG_JBD2=y +CONFIG_JUMP_LABEL=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_UNCOMPRESSED=y +CONFIG_KEYBOARD_GPIO=y +CONFIG_KEYS=y +# CONFIG_KPSS_XCC is not set +CONFIG_KSM=y +# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_QCOM_LPG=y +CONFIG_LEDS_TRIGGER_CPU=y +# CONFIG_LEDS_TRIGGER_NETDEV is not set +CONFIG_LEDS_TRIGGER_PANIC=y +CONFIG_LEGACY_DIRECT_IO=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=16 +CONFIG_LIBCRC32C=y +CONFIG_LIBFDT=y +CONFIG_LOCALVERSION="-msm8916" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_LOCK_DEBUGGING_SUPPORT=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_LOGO=y +CONFIG_LOGO_LINUX_CLUT224=y +CONFIG_LOGO_LINUX_MONO=y +CONFIG_LOGO_LINUX_VGA16=y +CONFIG_LSM="landlock,lockdown,yama,loadpin,safesetid,integrity,bpf" +CONFIG_LWTUNNEL=y +# CONFIG_LWTUNNEL_BPF is not set +CONFIG_LZ4_DECOMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_SERIAL=y +CONFIG_MAILBOX=y +# CONFIG_MAILBOX_TEST is not set +CONFIG_MD=y +CONFIG_MEMORY_FAILURE=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_MFD_HI6421_SPMI is not set +# CONFIG_MFD_QCOM_RPM is not set +CONFIG_MFD_SPMI_PMIC=y +CONFIG_MFD_SYSCON=y +CONFIG_MIGRATION=y +CONFIG_MMC=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=32 +CONFIG_MMC_CQHCI=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_IO_ACCESSORS=y +CONFIG_MMC_SDHCI_MSM=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMU_LAZY_TLB_REFCOUNT=y +CONFIG_MODULES_USE_ELF_RELA=y +CONFIG_MODULE_SRCVERSION_ALL=y +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_CYAPA is not set +# CONFIG_MOUSE_PS2 is not set +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_VSXXXAA is not set +CONFIG_MPILIB=y +CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=y +CONFIG_MRP=y +CONFIG_MSM_GCC_8916=y +# CONFIG_MSM_GCC_8917 is not set +CONFIG_MSM_GCC_8939=y +# CONFIG_MSM_GCC_8976 is not set +# CONFIG_MSM_GCC_8994 is not set +# CONFIG_MSM_GCC_8996 is not set +# CONFIG_MSM_GCC_8998 is not set +# CONFIG_MSM_GPUCC_8998 is not set +# CONFIG_MSM_MMCC_8996 is not set +# CONFIG_MSM_MMCC_8998 is not set +# CONFIG_MTD is not set +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_NAMESPACES=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_SG_DMA_FLAGS=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_NETFILTER=y +CONFIG_NETFILTER_ADVANCED=y +CONFIG_NETFILTER_BPF_LINK=y +CONFIG_NETFILTER_EGRESS=y +CONFIG_NETFILTER_INGRESS=y +CONFIG_NET_EGRESS=y +CONFIG_NET_FLOW_LIMIT=y +CONFIG_NET_INGRESS=y +CONFIG_NET_NS=y +CONFIG_NET_PTP_CLASSIFY=y +# CONFIG_NET_SCHED is not set +CONFIG_NET_VENDOR_ASIX=y +CONFIG_NET_VENDOR_ENGLEDER=y +CONFIG_NET_VENDOR_FUNGIBLE=y +CONFIG_NET_VENDOR_LITEX=y +CONFIG_NET_VENDOR_MICROSOFT=y +CONFIG_NET_VENDOR_VERTEXCOM=y +CONFIG_NET_VENDOR_WANGXUN=y +CONFIG_NET_XGRESS=y +# CONFIG_NF_LOG_IPV6 is not set +CONFIG_NLS=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NO_HZ_COMMON=y +CONFIG_NO_HZ_IDLE=y +CONFIG_NO_IOPORT_MAP=y +CONFIG_NR_CPUS=8 +CONFIG_NVMEM=y +CONFIG_NVMEM_LAYOUTS=y +CONFIG_NVMEM_QCOM_QFPROM=y +# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set +# CONFIG_NVMEM_SPMI_SDAM is not set +CONFIG_OF=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_DYNAMIC=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_FLATTREE=y +CONFIG_OF_GPIO=y +CONFIG_OF_IOMMU=y +CONFIG_OF_IRQ=y +CONFIG_OF_KOBJ=y +CONFIG_OF_OVERLAY=y +CONFIG_OF_RESOLVE=y +CONFIG_OID_REGISTRY=y +CONFIG_OLD_SIGSUSPEND3=y +# CONFIG_OVERLAY_FS_XINO_AUTO is not set +CONFIG_PAGE_POOL=y +CONFIG_PAGE_SIZE_LESS_THAN_256KB=y +CONFIG_PAGE_SIZE_LESS_THAN_64KB=y +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_PARTITION_PERCPU=y +CONFIG_PCPU_DEV_REFCNT=y +CONFIG_PER_VMA_LOCK=y +CONFIG_PGTABLE_LEVELS=4 +CONFIG_PHYS_ADDR_T_64BIT=y +# CONFIG_PHY_QCOM_APQ8064_SATA is not set +# CONFIG_PHY_QCOM_EDP is not set +# CONFIG_PHY_QCOM_EUSB2_REPEATER is not set +# CONFIG_PHY_QCOM_IPQ4019_USB is not set +# CONFIG_PHY_QCOM_IPQ806X_SATA is not set +# CONFIG_PHY_QCOM_IPQ806X_USB is not set +# CONFIG_PHY_QCOM_M31_USB is not set +# CONFIG_PHY_QCOM_PCIE2 is not set +# CONFIG_PHY_QCOM_QMP is not set +# CONFIG_PHY_QCOM_QUSB2 is not set +# CONFIG_PHY_QCOM_SGMII_ETH is not set +# CONFIG_PHY_QCOM_SNPS_EUSB2 is not set +CONFIG_PHY_QCOM_USB_HS=y +# CONFIG_PHY_QCOM_USB_HS_28NM is not set +# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set +# CONFIG_PHY_QCOM_USB_SS is not set +CONFIG_PID_NS=y +CONFIG_PINCTRL=y +# CONFIG_PINCTRL_IPQ5018 is not set +# CONFIG_PINCTRL_IPQ5332 is not set +# CONFIG_PINCTRL_IPQ6018 is not set +# CONFIG_PINCTRL_IPQ8074 is not set +# CONFIG_PINCTRL_IPQ9574 is not set +CONFIG_PINCTRL_MSM=y +CONFIG_PINCTRL_MSM8916=y +# CONFIG_PINCTRL_MSM8976 is not set +# CONFIG_PINCTRL_MSM8994 is not set +# CONFIG_PINCTRL_MSM8996 is not set +# CONFIG_PINCTRL_MSM8998 is not set +# CONFIG_PINCTRL_QCM2290 is not set +CONFIG_PINCTRL_QCOM_SPMI_PMIC=y +# CONFIG_PINCTRL_QCOM_SSBI_PMIC is not set +# CONFIG_PINCTRL_QCS404 is not set +# CONFIG_PINCTRL_QDU1000 is not set +# CONFIG_PINCTRL_SA8775P is not set +# CONFIG_PINCTRL_SC7180 is not set +# CONFIG_PINCTRL_SC8280XP is not set +# CONFIG_PINCTRL_SDM660 is not set +# CONFIG_PINCTRL_SDM670 is not set +# CONFIG_PINCTRL_SDM845 is not set +# CONFIG_PINCTRL_SDX75 is not set +# CONFIG_PINCTRL_SM6350 is not set +# CONFIG_PINCTRL_SM6375 is not set +# CONFIG_PINCTRL_SM7150 is not set +# CONFIG_PINCTRL_SM8150 is not set +# CONFIG_PINCTRL_SM8250 is not set +# CONFIG_PINCTRL_SM8450 is not set +# CONFIG_PINCTRL_SM8550 is not set +CONFIG_PKCS7_MESSAGE_PARSER=y +# CONFIG_PKCS8_PRIVATE_KEY_PARSER is not set +CONFIG_PM=y +CONFIG_PM8916_WATCHDOG=y +CONFIG_PM_CLK=y +CONFIG_PM_DEVFREQ=y +# CONFIG_PM_DEVFREQ_EVENT is not set +CONFIG_PM_GENERIC_DOMAINS=y +CONFIG_PM_GENERIC_DOMAINS_OF=y +CONFIG_PM_OPP=y +CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_MSM=y +CONFIG_POWER_RESET_QCOM_PON=y +CONFIG_POWER_SUPPLY=y +CONFIG_POWER_SUPPLY_HWMON=y +CONFIG_PPS=y +CONFIG_PREEMPT=y +CONFIG_PREEMPTION=y +CONFIG_PREEMPT_BUILD=y +CONFIG_PREEMPT_COUNT=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_RCU=y +CONFIG_PRINTK_TIME=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_PSTORE=y +CONFIG_PSTORE_COMPRESS=y +CONFIG_PSTORE_CONSOLE=y +CONFIG_PSTORE_PMSG=y +CONFIG_PSTORE_RAM=y +CONFIG_PTP_1588_CLOCK=y +CONFIG_PTP_1588_CLOCK_KVM=y +CONFIG_PTP_1588_CLOCK_OPTIONAL=y +CONFIG_PWM=y +CONFIG_PWM_CLK=y +CONFIG_PWM_SYSFS=y +# CONFIG_QCM_DISPCC_2290 is not set +# CONFIG_QCM_GCC_2290 is not set +CONFIG_QCOM_A53PLL=y +# CONFIG_QCOM_AOSS_QMP is not set +CONFIG_QCOM_APCS_IPC=y +# CONFIG_QCOM_APR is not set +CONFIG_QCOM_BAM_DMA=y +# CONFIG_QCOM_CLK_APCC_MSM8996 is not set +CONFIG_QCOM_CLK_APCS_MSM8916=y +CONFIG_QCOM_CLK_SMD_RPM=y +# CONFIG_QCOM_COINCELL is not set +# CONFIG_QCOM_COMMAND_DB is not set +CONFIG_QCOM_CPR=y +# CONFIG_QCOM_EBI2 is not set +# CONFIG_QCOM_FASTRPC is not set +CONFIG_QCOM_GDSC=y +# CONFIG_QCOM_GENI_SE is not set +# CONFIG_QCOM_GSBI is not set +# CONFIG_QCOM_HFPLL is not set +# CONFIG_QCOM_ICC_BWMON is not set +CONFIG_QCOM_IOMMU=y +# CONFIG_QCOM_IPCC is not set +# CONFIG_QCOM_LLCC is not set +CONFIG_QCOM_MPM=y +# CONFIG_QCOM_OCMEM is not set +# CONFIG_QCOM_PDC is not set +# CONFIG_QCOM_Q6V5_ADSP is not set +# CONFIG_QCOM_Q6V5_MSS is not set +# CONFIG_QCOM_Q6V5_PAS is not set +# CONFIG_QCOM_Q6V5_WCSS is not set +CONFIG_QCOM_QMI_HELPERS=y +# CONFIG_QCOM_RAMP_CTRL is not set +CONFIG_QCOM_RMTFS_MEM=y +CONFIG_QCOM_RPMCC=y +# CONFIG_QCOM_RPMH is not set +CONFIG_QCOM_RPMPD=y +# CONFIG_QCOM_RPM_MASTER_STATS is not set +CONFIG_QCOM_SCM=y +# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set +CONFIG_QCOM_SMD_RPM=y +CONFIG_QCOM_SMEM=y +CONFIG_QCOM_SMEM_STATE=y +CONFIG_QCOM_SMP2P=y +CONFIG_QCOM_SMSM=y +CONFIG_QCOM_SOCINFO=y +CONFIG_QCOM_SPM=y +# CONFIG_QCOM_SPMI_RRADC is not set +CONFIG_QCOM_SPMI_TEMP_ALARM=y +CONFIG_QCOM_SPMI_VADC=y +CONFIG_QCOM_STATS=y +CONFIG_QCOM_SYSMON=y +CONFIG_QCOM_TSENS=y +CONFIG_QCOM_VADC_COMMON=y +CONFIG_QCOM_WCNSS_CTRL=y +# CONFIG_QCOM_WCNSS_PIL is not set +CONFIG_QCOM_WDT=y +# CONFIG_QCS_GCC_404 is not set +# CONFIG_QCS_Q6SSTOP_404 is not set +# CONFIG_QCS_TURING_404 is not set +# CONFIG_QDU_GCC_1000 is not set +# CONFIG_QFMT_V2 is not set +CONFIG_QRTR=y +CONFIG_QRTR_SMD=y +CONFIG_QUEUED_RWLOCKS=y +CONFIG_QUEUED_SPINLOCKS=y +CONFIG_QUOTA=y +CONFIG_QUOTACTL=y +CONFIG_RANDOMIZE_BASE=y +CONFIG_RANDOMIZE_MODULE_REGION_FULL=y +# CONFIG_RANDSTRUCT_FULL is not set +CONFIG_RANDSTRUCT_NONE=y +# CONFIG_RANDSTRUCT_PERFORMANCE is not set +CONFIG_RAS=y +CONFIG_RATIONAL=y +# CONFIG_RAVE_SP_CORE is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +CONFIG_RD_BZIP2=y +CONFIG_RD_GZIP=y +CONFIG_RD_LZ4=y +CONFIG_RD_LZMA=y +CONFIG_RD_LZO=y +CONFIG_RD_XZ=y +CONFIG_RD_ZSTD=y +CONFIG_REBOOT_MODE=y +CONFIG_REED_SOLOMON=y +CONFIG_REED_SOLOMON_DEC8=y +CONFIG_REED_SOLOMON_ENC8=y +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_IRQ=y +CONFIG_REGMAP_MMIO=y +CONFIG_REGMAP_SPMI=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +# CONFIG_REGULATOR_QCOM_LABIBB is not set +CONFIG_REGULATOR_QCOM_SMD_RPM=y +CONFIG_REGULATOR_QCOM_SPMI=y +# CONFIG_REGULATOR_QCOM_USB_VBUS is not set +CONFIG_REGULATOR_TPS65132=y +# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set +CONFIG_RELOCATABLE=y +CONFIG_REMOTEPROC=y +CONFIG_REMOTEPROC_CDEV=y +CONFIG_RESET_CONTROLLER=y +# CONFIG_RESET_QCOM_AOSS is not set +# CONFIG_RESET_QCOM_PDC is not set +CONFIG_RFS_ACCEL=y +CONFIG_RODATA_FULL_DEFAULT_ENABLED=y +CONFIG_RPMSG=y +CONFIG_RPMSG_CHAR=y +CONFIG_RPMSG_CTRL=y +# CONFIG_RPMSG_NS is not set +# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set +CONFIG_RPMSG_QCOM_SMD=y +# CONFIG_RPMSG_TTY is not set +CONFIG_RPS=y +CONFIG_RSEQ=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_PM8XXX=y +CONFIG_RTC_I2C_AND_SPI=y +CONFIG_RTC_NVMEM=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +# CONFIG_SA_GCC_8775P is not set +# CONFIG_SA_GPUCC_8775P is not set +CONFIG_SCHED_CLUSTER=y +# CONFIG_SCHED_CORE is not set +CONFIG_SCHED_MC=y +CONFIG_SCHED_SMT=y +CONFIG_SCHED_THERMAL_PRESSURE=y +CONFIG_SCSI=y +CONFIG_SCSI_COMMON=y +# CONFIG_SCSI_PROC_FS is not set +CONFIG_SCSI_SCAN_ASYNC=y +# CONFIG_SC_CAMCC_7280 is not set +# CONFIG_SC_DISPCC_7180 is not set +# CONFIG_SC_DISPCC_8280XP is not set +# CONFIG_SC_GCC_7180 is not set +# CONFIG_SC_GCC_8280XP is not set +# CONFIG_SC_GPUCC_7180 is not set +# CONFIG_SC_LPASSCC_7280 is not set +# CONFIG_SC_LPASSCC_8280XP is not set +# CONFIG_SC_LPASS_CORECC_7180 is not set +# CONFIG_SC_LPASS_CORECC_7280 is not set +# CONFIG_SC_MSS_7180 is not set +# CONFIG_SC_VIDEOCC_7180 is not set +# CONFIG_SDM_CAMCC_845 is not set +# CONFIG_SDM_DISPCC_845 is not set +# CONFIG_SDM_GCC_660 is not set +# CONFIG_SDM_GCC_845 is not set +# CONFIG_SDM_GPUCC_845 is not set +# CONFIG_SDM_LPASSCC_845 is not set +# CONFIG_SDM_VIDEOCC_845 is not set +# CONFIG_SDX_GCC_75 is not set +CONFIG_SECCOMP=y +CONFIG_SECCOMP_FILTER=y +# CONFIG_SECONDARY_TRUSTED_KEYRING is not set +CONFIG_SECRETMEM=y +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SERIAL_8250 is not set +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y +CONFIG_SERIAL_MSM=y +CONFIG_SERIAL_MSM_CONSOLE=y +CONFIG_SGL_ALLOC=y +CONFIG_SG_POOL=y +CONFIG_SLUB_DEBUG=y +CONFIG_SMP=y +# CONFIG_SM_CAMCC_6350 is not set +# CONFIG_SM_CAMCC_8450 is not set +# CONFIG_SM_GCC_7150 is not set +# CONFIG_SM_GCC_8150 is not set +# CONFIG_SM_GCC_8250 is not set +# CONFIG_SM_GCC_8450 is not set +# CONFIG_SM_GCC_8550 is not set +# CONFIG_SM_GPUCC_6115 is not set +# CONFIG_SM_GPUCC_6125 is not set +# CONFIG_SM_GPUCC_6350 is not set +# CONFIG_SM_GPUCC_6375 is not set +# CONFIG_SM_GPUCC_8150 is not set +# CONFIG_SM_GPUCC_8250 is not set +# CONFIG_SM_GPUCC_8350 is not set +# CONFIG_SM_GPUCC_8450 is not set +# CONFIG_SM_GPUCC_8550 is not set +# CONFIG_SM_TCSRCC_8550 is not set +# CONFIG_SM_VIDEOCC_8150 is not set +# CONFIG_SM_VIDEOCC_8250 is not set +# CONFIG_SM_VIDEOCC_8350 is not set +# CONFIG_SM_VIDEOCC_8450 is not set +# CONFIG_SM_VIDEOCC_8550 is not set +CONFIG_SOCK_DIAG=y +CONFIG_SOCK_RX_QUEUE_MAPPING=y +CONFIG_SOC_BUS=y +CONFIG_SOFTIRQ_ON_OWN_STACK=y +CONFIG_SPARSEMEM=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_SPARSEMEM_VMEMMAP=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPARSE_IRQ=y +CONFIG_SPI=y +CONFIG_SPI_BITBANG=y +CONFIG_SPI_DYNAMIC=y +CONFIG_SPI_GPIO=y +CONFIG_SPI_MASTER=y +CONFIG_SPI_QUP=y +CONFIG_SPMI=y +# CONFIG_SPMI_HISI3670 is not set +CONFIG_SPMI_MSM_PMIC_ARB=y +# CONFIG_SPMI_PMIC_CLKDIV is not set +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y +CONFIG_SQUASHFS_FILE_CACHE=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_ZSTD=y +CONFIG_STACKDEPOT=y +CONFIG_STACKPROTECTOR=y +CONFIG_STACKPROTECTOR_PER_TASK=y +CONFIG_STACKTRACE=y +# CONFIG_STAGING is not set +# CONFIG_STRIP_ASM_SYMS is not set +CONFIG_SURFACE_PLATFORMS=y +CONFIG_SWIOTLB=y +CONFIG_SYNC_FILE=y +# CONFIG_SYN_COOKIES is not set +CONFIG_SYSCTL_EXCEPTION_TRACE=y +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set +CONFIG_SYSTEM_TRUSTED_KEYRING=y +CONFIG_SYSVIPC_COMPAT=y +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_THERMAL=y +CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 +CONFIG_THERMAL_EMULATION=y +CONFIG_THERMAL_GOV_STEP_WISE=y +CONFIG_THERMAL_HWMON=y +CONFIG_THERMAL_OF=y +CONFIG_THP_SWAP=y +CONFIG_THREAD_INFO_IN_TASK=y +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_TIMER_OF=y +CONFIG_TIMER_PROBE=y +CONFIG_TIME_NS=y +CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y +CONFIG_TRANSPARENT_HUGEPAGE=y +CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y +# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set +CONFIG_TREE_RCU=y +CONFIG_TREE_SRCU=y +# CONFIG_UCLAMP_TASK is not set +# CONFIG_UEVENT_HELPER is not set +CONFIG_UNICODE=y +# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set +CONFIG_UNINLINE_SPIN_UNLOCK=y +CONFIG_UNMAP_KERNEL_AT_EL0=y +CONFIG_USB=y +CONFIG_USB_CHIPIDEA=y +CONFIG_USB_CHIPIDEA_GENERIC=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_CHIPIDEA_IMX=y +CONFIG_USB_CHIPIDEA_MSM=y +CONFIG_USB_CHIPIDEA_TEGRA=y +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_COMMON=y +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +CONFIG_USB_GADGET=y +CONFIG_USB_HSIC_USB3503=y +CONFIG_USB_LED_TRIG=y +CONFIG_USB_NET_DRIVERS=y +CONFIG_USB_OTG=y +CONFIG_USB_ROLE_SWITCH=y +CONFIG_USB_RTL8150=y +CONFIG_USB_RTL8152=y +CONFIG_USB_STORAGE=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_ULPI_BUS=y +CONFIG_USER_NS=y +CONFIG_UTS_NS=y +CONFIG_VFAT_FS=y +CONFIG_VIDEO_CMDLINE=y +CONFIG_VIRTIO=y +CONFIG_VIRTIO_ANCHOR=y +# CONFIG_VIRTIO_BLK is not set +# CONFIG_VIRTIO_IOMMU is not set +# CONFIG_VIRTIO_MENU is not set +# CONFIG_VIRTIO_NET is not set +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VLAN_8021Q_MVRP=y +CONFIG_VMAP_STACK=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_VT=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_WANT_DEV_COREDUMP=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_SYSFS=y +CONFIG_X509_CERTIFICATE_PARSER=y +CONFIG_XARRAY_MULTI=y +CONFIG_XPS=y +CONFIG_XXHASH=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_BCJ=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_X86=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=y +CONFIG_ZONE_DMA32=y +CONFIG_ZSTD_COMMON=y +CONFIG_ZSTD_COMPRESS=y +CONFIG_ZSTD_DECOMPRESS=y \ No newline at end of file diff --git a/msm89xx/patches-6.12/801-arm64-dts-qcom-add-devices-makefile.patch b/msm89xx/patches/801-arm64-dts-qcom-add-devices-makefile.patch similarity index 100% rename from msm89xx/patches-6.12/801-arm64-dts-qcom-add-devices-makefile.patch rename to msm89xx/patches/801-arm64-dts-qcom-add-devices-makefile.patch diff --git a/msm89xx/patches-6.12/803-arm64-dts-qcom-swap-leds-uz801.patch b/msm89xx/patches/803-arm64-dts-qcom-swap-leds-uz801.patch similarity index 100% rename from msm89xx/patches-6.12/803-arm64-dts-qcom-swap-leds-uz801.patch rename to msm89xx/patches/803-arm64-dts-qcom-swap-leds-uz801.patch diff --git a/msm89xx/patches-6.12/804-arm64-dts-qcom-add-msm8916-generic-uf2.patch b/msm89xx/patches/804-arm64-dts-qcom-add-msm8916-generic-uf2.patch similarity index 100% rename from msm89xx/patches-6.12/804-arm64-dts-qcom-add-msm8916-generic-uf2.patch rename to msm89xx/patches/804-arm64-dts-qcom-add-msm8916-generic-uf2.patch diff --git a/readme.md b/readme.md index bb24e41..aec44d5 100644 --- a/readme.md +++ b/readme.md @@ -82,12 +82,21 @@ make defconfig make -j$(nproc) ``` -To build a specific version locally: +To build a specific release locally: ``` -OPENWRT_VERSION=v25.12.1 docker compose build builder --no-cache +OPENWRT_VERSION=v24.10.2 docker compose build builder --no-cache ``` -> **Note:** The msm89xx target requires kernel 6.12. Only OpenWrt versions that include this kernel (25.12.x, current snapshots) are supported. +### Kernel version compatibility + +The msm89xx Makefile auto-detects the available kernel version at build time. It prefers kernel 6.12 and falls back to the latest available (e.g. 6.6 for OpenWrt 24.10.x). Each kernel version requires a matching `config-X.Y` file in `msm89xx/`: + +| OpenWrt | Kernel | Config file | +|---------|--------|-------------| +| 25.12.x / snapshot | 6.12 | `config-6.12` | +| 24.10.x | 6.6 | `config-6.6` | + +When a new OpenWrt major version ships a new kernel, you will need to add a corresponding `config-X.Y` file. ## Installation From e15a8ac6d6c7cfffe0529287717a1c6901dba4f9 Mon Sep 17 00:00:00 2001 From: Miguel Fuertes Date: Tue, 31 Mar 2026 19:16:22 +0200 Subject: [PATCH 4/9] fix: correct matrix expression precedence in build workflow Co-Authored-By: Claude Opus 4.6 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 29f9ee3..7969286 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -43,7 +43,7 @@ jobs: strategy: fail-fast: false matrix: - device: ${{ fromJSON(inputs.device == 'all' || inputs.device == '' && '["uz801","uf02"]' || format('["{0}"]', inputs.device)) }} + device: ${{ fromJSON((inputs.device == 'all' || inputs.device == '') && '["uz801","uf02"]' || format('["{0}"]', inputs.device)) }} steps: - name: Checkout From d52f840df198596c7ba7d77d2ab8c4e28a22756a Mon Sep 17 00:00:00 2001 From: Miguel Fuertes Date: Tue, 31 Mar 2026 19:29:14 +0200 Subject: [PATCH 5/9] docs: add minimum OpenWrt version requirement to README Co-Authored-By: Claude Opus 4.6 --- readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/readme.md b/readme.md index aec44d5..4b4166b 100644 --- a/readme.md +++ b/readme.md @@ -98,6 +98,8 @@ The msm89xx Makefile auto-detects the available kernel version at build time. It When a new OpenWrt major version ships a new kernel, you will need to add a corresponding `config-X.Y` file. +> **Minimum version: OpenWrt 24.10.x (kernel 6.6).** The UZ801 device tree entered upstream Linux in v6.4, so older OpenWrt releases (23.05 and below, kernel 5.15) are not supported. + ## Installation ### Flashing from OEM Firmware From eebb6abee8fd557f55208f94d7c705fffffede2c Mon Sep 17 00:00:00 2001 From: Miguel Fuertes Date: Tue, 31 Mar 2026 22:07:53 +0200 Subject: [PATCH 6/9] gha --- .github/workflows/build.yml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7969286..e71532e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -104,8 +104,6 @@ jobs: echo -e "$(nproc) thread compile" make -j$(nproc) || make -j1 || make -j1 V=s echo "status=success" >> $GITHUB_OUTPUT - grep '^CONFIG_TARGET.*DEVICE.*=y' .config | sed -r 's/.*DEVICE_(.*)=y/\1/' > DEVICE_NAME - [ -s DEVICE_NAME ] && echo "DEVICE_NAME=$(cat DEVICE_NAME)" >> $GITHUB_ENV echo "FILE_DATE=$(date +"%Y%m%d%H%M")" >> $GITHUB_ENV - name: Organize files @@ -121,11 +119,11 @@ jobs: uses: actions/upload-artifact@v4 if: steps.organize.outputs.status == 'success' && !cancelled() with: - name: openwrt_firmware_${{ env.DEVICE_NAME }}_${{ env.FILE_DATE }} + name: openwrt_firmware_${{ matrix.device }}_${{needs.resolve-version.outputs.openwrt_version}}_${{ env.FILE_DATE }} path: | - ${{ env.FIRMWARE }}/openwrt-msm89xx-msm8916-${{ env.DEVICE_NAME }}-squashfs-gpt_both0.bin - ${{ env.FIRMWARE }}/openwrt-msm89xx-msm8916-${{ env.DEVICE_NAME }}-squashfs-boot.img - ${{ env.FIRMWARE }}/openwrt-msm89xx-msm8916-${{ env.DEVICE_NAME }}-squashfs-system.img - ${{ env.FIRMWARE }}/openwrt-msm89xx-msm8916-${{ env.DEVICE_NAME }}.manifest - ${{ env.FIRMWARE }}/openwrt-msm89xx-msm8916-${{ env.DEVICE_NAME }}-flash.sh - ${{ env.FIRMWARE }}/openwrt-msm89xx-msm8916-${{ env.DEVICE_NAME }}-firmware.zip + ${{ env.FIRMWARE }}/openwrt-msm89xx-*-squashfs-gpt_both0.bin + ${{ env.FIRMWARE }}/openwrt-msm89xx-*-squashfs-boot.img + ${{ env.FIRMWARE }}/openwrt-msm89xx-*-squashfs-system.img + ${{ env.FIRMWARE }}/openwrt-msm89xx-*.manifest + ${{ env.FIRMWARE }}/openwrt-msm89xx-*-flash.sh + ${{ env.FIRMWARE }}/openwrt-msm89xx-*-firmware.zip From 367bb550eda1a5be3b6af3a7204fce15c3c89cf8 Mon Sep 17 00:00:00 2001 From: Miguel Fuertes Date: Tue, 31 Mar 2026 23:20:13 +0200 Subject: [PATCH 7/9] fix: force kernel 6.12 in GHA, use lkiuyu config-6.6, simplify build-package - Add sed to force KERNEL_PATCHVER:=6.12 in both GHA workflows - Replace broken config-6.6 with lkiuyu/immortalwrt base + squashfs - Makefile kernel-detect with TOPDIR fallback for robustness - Remove IPK build from build-package (APK only) - Clean up build.yml: remove repository_dispatch, debug output Co-Authored-By: Claude Opus 4.6 --- .github/workflows/build-package.yml | 44 +++++++---------------------- .github/workflows/build.yml | 4 +-- msm89xx/Makefile | 4 +-- msm89xx/config-6.12 | 3 -- msm89xx/config-6.6 | 4 +-- 5 files changed, 15 insertions(+), 44 deletions(-) diff --git a/.github/workflows/build-package.yml b/.github/workflows/build-package.yml index 53fb282..1e86804 100644 --- a/.github/workflows/build-package.yml +++ b/.github/workflows/build-package.yml @@ -18,7 +18,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Resolve latest stable OpenWrt tag (>= 24.10) + - name: Resolve latest stable OpenWrt 25.12.x tag id: resolve run: | VERSION=$(git ls-remote --tags https://git.openwrt.org/openwrt/openwrt.git 'v25.12.*' \ @@ -54,6 +54,7 @@ jobs: ./apply_patches.sh openwrt mv msm89xx openwrt/target/linux/msm89xx mv packages openwrt/package/msm8916 + sed -i 's/KERNEL_PATCHVER:=.*/KERNEL_PATCHVER:=6.12/' openwrt/target/linux/msm89xx/Makefile - name: Update and install feeds run: | @@ -62,7 +63,7 @@ jobs: ./scripts/feeds update -a ./scripts/feeds install -a - - name: Configure for package build (APK) + - name: Configure and download run: | cd openwrt cp ../diffconfig_uz801 .config @@ -79,7 +80,7 @@ jobs: make toolchain/install -j$(nproc) make target/linux/compile -j$(nproc) V=s - - name: Build APK packages + - name: Build packages run: | cd openwrt for pkg in $PACKAGES; do @@ -87,40 +88,15 @@ jobs: done echo "FILE_DATE=$(date +"%Y%m%d%H%M")" >> $GITHUB_ENV - - name: Collect APK artifacts + - name: Collect artifacts run: | - mkdir -p artifacts/apk + mkdir -p artifacts for pkg in $PACKAGES; do - find openwrt/bin/packages -name "${pkg}*.apk" -exec cp {} artifacts/apk/ \; + find openwrt/bin/packages -name "${pkg}*.apk" -exec cp {} artifacts/ \; done - - name: Reconfigure for IPK - run: | - cd openwrt - cp ../diffconfig_uz801 .config - echo "CONFIG_PACKAGE_tailscale=y" >> .config - echo "CONFIG_PACKAGE_luci-app-tailscale=y" >> .config - echo "# CONFIG_USE_APK is not set" >> .config - make defconfig - for pkg in $PACKAGES; do - make package/${pkg}/{clean,compile} -j$(nproc) V=s - done - - - name: Collect IPK artifacts - run: | - mkdir -p artifacts/ipk - for pkg in $PACKAGES; do - find openwrt/bin/packages -name "${pkg}*.ipk" -exec cp {} artifacts/ipk/ \; - done - - - name: Upload APK packages + - name: Upload packages uses: actions/upload-artifact@v4 with: - name: packages_apk_${{ env.FILE_DATE }} - path: artifacts/apk/ - - - name: Upload IPK packages - uses: actions/upload-artifact@v4 - with: - name: packages_ipk_${{ env.FILE_DATE }} - path: artifacts/ipk/ + name: packages_${{ env.OPENWRT_VERSION }}_${{ env.FILE_DATE }} + path: artifacts/ diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e71532e..54499ac 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,7 +1,6 @@ name: OpenWrt Builder on: - repository_dispatch: workflow_dispatch: inputs: device: @@ -63,7 +62,6 @@ jobs: - name: Clone OpenWrt source code run: | - df -hT $PWD echo "Using OpenWrt ${{ needs.resolve-version.outputs.openwrt_version }}" git clone https://git.openwrt.org/openwrt/openwrt.git openwrt git -C openwrt checkout ${{ needs.resolve-version.outputs.openwrt_version }} @@ -74,6 +72,7 @@ jobs: ./apply_patches.sh openwrt mv msm89xx openwrt/target/linux/msm89xx mv packages openwrt/package/msm8916 + sed -i 's/KERNEL_PATCHVER:=.*/KERNEL_PATCHVER:=6.12/' openwrt/target/linux/msm89xx/Makefile - name: Update and install feeds run: | @@ -94,7 +93,6 @@ jobs: cd openwrt make defconfig make download -j8 - find dl -size -1024c -exec ls -l {} \; || true find dl -size -1024c -exec rm -f {} \; || true - name: Compile the firmware diff --git a/msm89xx/Makefile b/msm89xx/Makefile index 50f4de6..6457943 100644 --- a/msm89xx/Makefile +++ b/msm89xx/Makefile @@ -7,8 +7,8 @@ BOARDNAME:=Boards based on Snapdragon 210/410/615 chipsets FEATURES:=ext4 usb usbgadget gpio fpu rootfs-part boot-part squashfs SUBTARGETS:=msm8916 -# Resolve kernel: prefer $1, fall back to latest available -kernel-detect = $(if $(wildcard $(TOPDIR)/include/kernel-$(1)),$(1),$(lastword $(sort $(patsubst $(TOPDIR)/include/kernel-%,%,$(wildcard $(TOPDIR)/include/kernel-[0-9]*))))) +# Resolve kernel: prefer 6.12, fall back to latest available +kernel-detect = $(if $(TOPDIR),$(if $(wildcard $(TOPDIR)/include/kernel-$(1)),$(1),$(lastword $(sort $(patsubst $(TOPDIR)/include/kernel-%,%,$(wildcard $(TOPDIR)/include/kernel-[0-9]*))))),$(1)) KERNEL_PATCHVER:=$(call kernel-detect,6.12) diff --git a/msm89xx/config-6.12 b/msm89xx/config-6.12 index 2ab7f45..a9cfa55 100644 --- a/msm89xx/config-6.12 +++ b/msm89xx/config-6.12 @@ -1,6 +1,3 @@ - - - # CONFIG_ARM_MHU_V2 is not set # CONFIG_ARM_MHU_V3 is not set # CONFIG_ARM_QCOM_CPUFREQ_HW is not set diff --git a/msm89xx/config-6.6 b/msm89xx/config-6.6 index c0b89f0..8ce99e0 100644 --- a/msm89xx/config-6.6 +++ b/msm89xx/config-6.6 @@ -674,7 +674,7 @@ CONFIG_QCOM_STATS=y CONFIG_QCOM_SYSMON=y CONFIG_QCOM_TSENS=y CONFIG_QCOM_VADC_COMMON=y -CONFIG_QCOM_WCNSS_CTRL=y +# CONFIG_QCOM_WCNSS_CTRL is not set # CONFIG_QCOM_WCNSS_PIL is not set CONFIG_QCOM_WDT=y # CONFIG_QCS_GCC_404 is not set @@ -934,4 +934,4 @@ CONFIG_ZLIB_INFLATE=y CONFIG_ZONE_DMA32=y CONFIG_ZSTD_COMMON=y CONFIG_ZSTD_COMPRESS=y -CONFIG_ZSTD_DECOMPRESS=y \ No newline at end of file +CONFIG_ZSTD_DECOMPRESS=y From e2ba0979ad44cdce9482b275bed3319f7e8607f4 Mon Sep 17 00:00:00 2001 From: Miguel Fuertes Date: Tue, 31 Mar 2026 23:43:24 +0200 Subject: [PATCH 8/9] Simplified Makefile for kernel selection. --- .github/workflows/build-package.yml | 1 - .github/workflows/build.yml | 1 - msm89xx/Makefile | 9 ++++++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-package.yml b/.github/workflows/build-package.yml index 1e86804..80aede6 100644 --- a/.github/workflows/build-package.yml +++ b/.github/workflows/build-package.yml @@ -54,7 +54,6 @@ jobs: ./apply_patches.sh openwrt mv msm89xx openwrt/target/linux/msm89xx mv packages openwrt/package/msm8916 - sed -i 's/KERNEL_PATCHVER:=.*/KERNEL_PATCHVER:=6.12/' openwrt/target/linux/msm89xx/Makefile - name: Update and install feeds run: | diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 54499ac..0fdbb58 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -72,7 +72,6 @@ jobs: ./apply_patches.sh openwrt mv msm89xx openwrt/target/linux/msm89xx mv packages openwrt/package/msm8916 - sed -i 's/KERNEL_PATCHVER:=.*/KERNEL_PATCHVER:=6.12/' openwrt/target/linux/msm89xx/Makefile - name: Update and install feeds run: | diff --git a/msm89xx/Makefile b/msm89xx/Makefile index 6457943..6ebd902 100644 --- a/msm89xx/Makefile +++ b/msm89xx/Makefile @@ -7,10 +7,13 @@ BOARDNAME:=Boards based on Snapdragon 210/410/615 chipsets FEATURES:=ext4 usb usbgadget gpio fpu rootfs-part boot-part squashfs SUBTARGETS:=msm8916 -# Resolve kernel: prefer 6.12, fall back to latest available -kernel-detect = $(if $(TOPDIR),$(if $(wildcard $(TOPDIR)/include/kernel-$(1)),$(1),$(lastword $(sort $(patsubst $(TOPDIR)/include/kernel-%,%,$(wildcard $(TOPDIR)/include/kernel-[0-9]*))))),$(1)) +# Kernel version map: OpenWrt major -> kernel patchver +KERNEL_FOR_24 := 6.6 +KERNEL_FOR_25 := 6.12 +KERNEL_DEFAULT := 6.12 -KERNEL_PATCHVER:=$(call kernel-detect,6.12) +OPENWRT_MAJOR := $(shell git -C $(TOPDIR) describe --tags --abbrev=0 2>/dev/null | cut -d. -f1 | tr -d v) +KERNEL_PATCHVER := $(or $(KERNEL_FOR_$(OPENWRT_MAJOR)),$(KERNEL_DEFAULT)) define Target/Description From de4bd27093681c4248bb505ea77a9a9ad4c0b296 Mon Sep 17 00:00:00 2001 From: Miguel Fuertes Date: Wed, 1 Apr 2026 08:58:28 +0200 Subject: [PATCH 9/9] Drop 24.10.x support, keep kernel version map for future use - Remove config-6.6 (24.10.x compiles but does not boot) - Comment out KERNEL_FOR_24 in Makefile, keep detection logic - Auto-detect OpenWrt major version via git describe - Update README with supported versions note Co-Authored-By: Claude Opus 4.6 --- msm89xx/Makefile | 2 +- msm89xx/config-6.6 | 937 --------------------------------------------- readme.md | 13 +- 3 files changed, 2 insertions(+), 950 deletions(-) delete mode 100644 msm89xx/config-6.6 diff --git a/msm89xx/Makefile b/msm89xx/Makefile index 6ebd902..3dac667 100644 --- a/msm89xx/Makefile +++ b/msm89xx/Makefile @@ -8,7 +8,7 @@ FEATURES:=ext4 usb usbgadget gpio fpu rootfs-part boot-part squashfs SUBTARGETS:=msm8916 # Kernel version map: OpenWrt major -> kernel patchver -KERNEL_FOR_24 := 6.6 +#KERNEL_FOR_24 := 6.6 KERNEL_FOR_25 := 6.12 KERNEL_DEFAULT := 6.12 diff --git a/msm89xx/config-6.6 b/msm89xx/config-6.6 deleted file mode 100644 index 8ce99e0..0000000 --- a/msm89xx/config-6.6 +++ /dev/null @@ -1,937 +0,0 @@ -CONFIG_64BIT=y -CONFIG_ARCH_BINFMT_ELF_EXTRA_PHDRS=y -CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y -CONFIG_ARCH_DEFAULT_KEXEC_IMAGE_VERIFY_SIG=y -CONFIG_ARCH_DMA_ADDR_T_64BIT=y -CONFIG_ARCH_FORCE_MAX_ORDER=10 -CONFIG_ARCH_HIBERNATION_POSSIBLE=y -CONFIG_ARCH_KEEP_MEMBLOCK=y -CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y -CONFIG_ARCH_MMAP_RND_BITS=18 -CONFIG_ARCH_MMAP_RND_BITS_MAX=33 -CONFIG_ARCH_MMAP_RND_BITS_MIN=18 -CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11 -CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11 -CONFIG_ARCH_PROC_KCORE_TEXT=y -CONFIG_ARCH_QCOM=y -CONFIG_ARCH_SPARSEMEM_ENABLE=y -CONFIG_ARCH_STACKWALK=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -CONFIG_ARCH_WANTS_NO_INSTR=y -CONFIG_ARCH_WANTS_THP_SWAP=y -CONFIG_ARM64=y -CONFIG_ARM64_4K_PAGES=y -# CONFIG_ARM64_CNP is not set -CONFIG_ARM64_ERRATUM_819472=y -CONFIG_ARM64_ERRATUM_824069=y -CONFIG_ARM64_ERRATUM_826319=y -CONFIG_ARM64_ERRATUM_827319=y -CONFIG_ARM64_ERRATUM_843419=y -CONFIG_ARM64_ERRATUM_845719=y -CONFIG_ARM64_ERRATUM_858921=y -CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y -CONFIG_ARM64_PAGE_SHIFT=12 -CONFIG_ARM64_PA_BITS=48 -CONFIG_ARM64_PA_BITS_48=y -# CONFIG_ARM64_SW_TTBR0_PAN is not set -CONFIG_ARM64_TAGGED_ADDR_ABI=y -CONFIG_ARM64_VA_BITS=48 -# CONFIG_ARM64_VA_BITS_39 is not set -CONFIG_ARM64_VA_BITS_48=y -CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y -# CONFIG_ARMV8_DEPRECATED is not set -CONFIG_ARM_AMBA=y -CONFIG_ARM_ARCH_TIMER=y -CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y -CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y -CONFIG_ARM_GIC=y -CONFIG_ARM_GIC_V3=y -CONFIG_ARM_GIC_V3_ITS=y -# CONFIG_ARM_MHU_V2 is not set -CONFIG_ARM_PSCI_CPUIDLE=y -CONFIG_ARM_PSCI_CPUIDLE_DOMAIN=y -CONFIG_ARM_PSCI_FW=y -# CONFIG_ARM_QCOM_CPUFREQ_HW is not set -CONFIG_ARM_QCOM_CPUFREQ_NVMEM=y -CONFIG_ARM_SMCCC_SOC_ID=y -CONFIG_ARM_SMMU=y -CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y -# CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set -CONFIG_ARM_SMMU_QCOM=y -# CONFIG_ARM_SMMU_QCOM_DEBUG is not set -# CONFIG_ARM_SMMU_V3 is not set -CONFIG_ASN1=y -CONFIG_ASSOCIATIVE_ARRAY=y -CONFIG_ASYMMETRIC_KEY_TYPE=y -CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y -CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y -CONFIG_AUTOFS_FS=y -CONFIG_BACKLIGHT_CLASS_DEVICE=y -CONFIG_BACKLIGHT_PWM=y -CONFIG_BLK_DEBUG_FS=y -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_SD=y -CONFIG_BLK_MQ_VIRTIO=y -CONFIG_BLK_PM=y -CONFIG_BLOCK_LEGACY_AUTOLOAD=y -CONFIG_BPF_JIT_ALWAYS_ON=y -CONFIG_BSD_PROCESS_ACCT=y -CONFIG_BSD_PROCESS_ACCT_V3=y -CONFIG_BUFFER_HEAD=y -CONFIG_BUILTIN_RETURN_ADDRESS_STRIPS_PAC=y -CONFIG_CACHESTAT_SYSCALL=y -CONFIG_CC_HAVE_SHADOW_CALL_STACK=y -CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y -CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5" -CONFIG_CC_NO_ARRAY_BOUNDS=y -CONFIG_CLONE_BACKWARDS=y -CONFIG_CLZ_TAB=y -CONFIG_CMA=y -CONFIG_CMA_ALIGNMENT=8 -CONFIG_CMA_AREAS=7 -# CONFIG_CMA_DEBUG is not set -# CONFIG_CMA_DEBUGFS is not set -CONFIG_CMA_SIZE_MBYTES=16 -# CONFIG_CMA_SIZE_SEL_MAX is not set -CONFIG_CMA_SIZE_SEL_MBYTES=y -# CONFIG_CMA_SIZE_SEL_MIN is not set -# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set -# CONFIG_CMA_SYSFS is not set -CONFIG_COMMON_CLK=y -CONFIG_COMMON_CLK_QCOM=y -CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1 -CONFIG_COMPAT=y -CONFIG_COMPAT_32BIT_TIME=y -# CONFIG_COMPAT_ALIGNMENT_FIXUPS is not set -CONFIG_COMPAT_BINFMT_ELF=y -CONFIG_COMPAT_OLD_SIGACTION=y -CONFIG_CONFIGFS_FS=y -CONFIG_CONSOLE_TRANSLATIONS=y -CONFIG_CONTEXT_TRACKING=y -CONFIG_CONTEXT_TRACKING_IDLE=y -CONFIG_CONTIG_ALLOC=y -CONFIG_COREDUMP=y -CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y -CONFIG_CPUFREQ_DT=y -CONFIG_CPUFREQ_DT_PLATDEV=y -CONFIG_CPU_FREQ=y -# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set -CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y -CONFIG_CPU_FREQ_GOV_ATTR_SET=y -# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set -# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set -CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -CONFIG_CPU_FREQ_GOV_POWERSAVE=y -CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y -# CONFIG_CPU_FREQ_GOV_USERSPACE is not set -CONFIG_CPU_FREQ_STAT=y -CONFIG_CPU_FREQ_THERMAL=y -CONFIG_CPU_IDLE=y -CONFIG_CPU_IDLE_GOV_MENU=y -CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y -CONFIG_CPU_ISOLATION=y -CONFIG_CPU_LITTLE_ENDIAN=y -CONFIG_CPU_MITIGATIONS=y -CONFIG_CPU_PM=y -CONFIG_CPU_RMAP=y -CONFIG_CPU_THERMAL=y -CONFIG_CRC16=y -CONFIG_CROSS_MEMORY_ATTACH=y -CONFIG_CRYPTO_AES_ARM64=y -CONFIG_CRYPTO_AES_ARM64_BS=y -CONFIG_CRYPTO_AES_ARM64_CE=y -CONFIG_CRYPTO_AES_ARM64_CE_BLK=y -CONFIG_CRYPTO_AES_ARM64_CE_CCM=y -CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y -CONFIG_CRYPTO_ANSI_CPRNG=y -CONFIG_CRYPTO_AUTHENC=y -CONFIG_CRYPTO_CBC=y -CONFIG_CRYPTO_CMAC=y -CONFIG_CRYPTO_CRC32C=y -CONFIG_CRYPTO_DEFLATE=y -CONFIG_CRYPTO_DEV_QCE=y -CONFIG_CRYPTO_DEV_QCE_AEAD=y -# CONFIG_CRYPTO_DEV_QCE_ENABLE_AEAD is not set -CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y -# CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set -# CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set -CONFIG_CRYPTO_DEV_QCE_SHA=y -CONFIG_CRYPTO_DEV_QCE_SKCIPHER=y -CONFIG_CRYPTO_DEV_QCE_SW_MAX_LEN=512 -CONFIG_CRYPTO_DEV_QCOM_RNG=y -CONFIG_CRYPTO_DRBG=y -CONFIG_CRYPTO_DRBG_HMAC=y -CONFIG_CRYPTO_DRBG_MENU=y -CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_ECC=y -CONFIG_CRYPTO_ECDH=y -CONFIG_CRYPTO_GHASH_ARM64_CE=y -CONFIG_CRYPTO_HASH_INFO=y -CONFIG_CRYPTO_HMAC=y -CONFIG_CRYPTO_HW=y -CONFIG_CRYPTO_JITTERENTROPY=y -CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y -CONFIG_CRYPTO_LIB_DES=y -CONFIG_CRYPTO_LIB_GF128MUL=y -CONFIG_CRYPTO_LIB_SHA1=y -CONFIG_CRYPTO_LIB_SHA256=y -CONFIG_CRYPTO_LIB_UTILS=y -# CONFIG_CRYPTO_PCRYPT is not set -CONFIG_CRYPTO_RNG=y -CONFIG_CRYPTO_RNG2=y -CONFIG_CRYPTO_RNG_DEFAULT=y -CONFIG_CRYPTO_RSA=y -CONFIG_CRYPTO_SHA1=y -CONFIG_CRYPTO_SHA1_ARM64_CE=y -CONFIG_CRYPTO_SHA256=y -CONFIG_CRYPTO_SHA256_ARM64=y -CONFIG_CRYPTO_SHA2_ARM64_CE=y -CONFIG_CRYPTO_SHA3=y -CONFIG_CRYPTO_SHA512=y -CONFIG_CRYPTO_SHA512_ARM64=y -CONFIG_CRYPTO_SHA512_ARM64_CE=y -CONFIG_CRYPTO_SIG=y -CONFIG_CRYPTO_SIG2=y -CONFIG_CRYPTO_XTS=y -CONFIG_CRYPTO_ZSTD=y -CONFIG_DCACHE_WORD_ACCESS=y -CONFIG_DEBUG_BUGVERBOSE=y -CONFIG_DEBUG_INFO=y -CONFIG_DEBUG_INFO_REDUCED=y -CONFIG_DEBUG_MEMORY_INIT=y -CONFIG_DECOMPRESS_BZIP2=y -CONFIG_DECOMPRESS_GZIP=y -CONFIG_DECOMPRESS_LZ4=y -CONFIG_DECOMPRESS_LZMA=y -CONFIG_DECOMPRESS_LZO=y -CONFIG_DECOMPRESS_XZ=y -CONFIG_DECOMPRESS_ZSTD=y -# CONFIG_DEVFREQ_GOV_PASSIVE is not set -# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set -# CONFIG_DEVFREQ_GOV_POWERSAVE is not set -CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y -# CONFIG_DEVFREQ_GOV_USERSPACE is not set -# CONFIG_DEVFREQ_THERMAL is not set -CONFIG_DEV_COREDUMP=y -CONFIG_DMADEVICES=y -CONFIG_DMA_BOUNCE_UNALIGNED_KMALLOC=y -CONFIG_DMA_CMA=y -CONFIG_DMA_DIRECT_REMAP=y -CONFIG_DMA_ENGINE=y -CONFIG_DMA_OF=y -CONFIG_DMA_OPS=y -CONFIG_DMA_SHARED_BUFFER=y -CONFIG_DMA_VIRTUAL_CHANNELS=y -CONFIG_DNOTIFY=y -CONFIG_DST_CACHE=y -CONFIG_DTC=y -CONFIG_DT_IDLE_GENPD=y -CONFIG_DT_IDLE_STATES=y -CONFIG_DUMMY_CONSOLE=y -CONFIG_EDAC_SUPPORT=y -CONFIG_ELF_CORE=y -CONFIG_EXCLUSIVE_SYSTEM_RAM=y -# CONFIG_EXPERT is not set -CONFIG_EXT4_FS=y -CONFIG_EXT4_FS_POSIX_ACL=y -CONFIG_EXT4_FS_SECURITY=y -CONFIG_EXTCON=y -CONFIG_EXTCON_QCOM_SPMI_MISC=y -CONFIG_EXTCON_SM5502=y -CONFIG_EXTCON_USB_GPIO=y -CONFIG_FANOTIFY=y -CONFIG_FAT_FS=y -CONFIG_FB=y -CONFIG_FB_CORE=y -CONFIG_FB_IOMEM_FOPS=y -CONFIG_FHANDLE=y -# CONFIG_FIPS_SIGNATURE_SELFTEST is not set -CONFIG_FIX_EARLYCON_MEM=y -CONFIG_FONT_8x16=y -CONFIG_FONT_8x8=y -CONFIG_FONT_SUPPORT=y -# CONFIG_FORTIFY_SOURCE is not set -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y -CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y -CONFIG_FRAME_POINTER=y -CONFIG_FSL_ERRATUM_A008585=y -CONFIG_FS_IOMAP=y -CONFIG_FS_MBCACHE=y -CONFIG_FS_POSIX_ACL=y -CONFIG_FUNCTION_ALIGNMENT=4 -CONFIG_FUNCTION_ALIGNMENT_4B=y -# CONFIG_FW_LOADER_USER_HELPER is not set -CONFIG_GARP=y -CONFIG_GCC10_NO_ARRAY_BOUNDS=y -CONFIG_GCC_PLUGINS=y -# CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set -# CONFIG_GCC_PLUGIN_STACKLEAK is not set -CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y -CONFIG_GENERIC_ALLOCATOR=y -CONFIG_GENERIC_ARCH_TOPOLOGY=y -CONFIG_GENERIC_BUG=y -CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y -CONFIG_GENERIC_CPU_AUTOPROBE=y -CONFIG_GENERIC_CPU_VULNERABILITIES=y -CONFIG_GENERIC_CSUM=y -CONFIG_GENERIC_EARLY_IOREMAP=y -CONFIG_GENERIC_GETTIMEOFDAY=y -CONFIG_GENERIC_IDLE_POLL_SETUP=y -CONFIG_GENERIC_IOREMAP=y -CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y -CONFIG_GENERIC_IRQ_MIGRATION=y -CONFIG_GENERIC_IRQ_SHOW=y -CONFIG_GENERIC_IRQ_SHOW_LEVEL=y -CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y -CONFIG_GENERIC_MSI_IRQ=y -CONFIG_GENERIC_PCI_IOMAP=y -CONFIG_GENERIC_PHY=y -CONFIG_GENERIC_PINCONF=y -CONFIG_GENERIC_PINCTRL_GROUPS=y -CONFIG_GENERIC_PINMUX_FUNCTIONS=y -CONFIG_GENERIC_SCHED_CLOCK=y -CONFIG_GENERIC_SMP_IDLE_THREAD=y -CONFIG_GENERIC_STRNCPY_FROM_USER=y -CONFIG_GENERIC_STRNLEN_USER=y -CONFIG_GENERIC_TIME_VSYSCALL=y -CONFIG_GLOB=y -CONFIG_GPIOLIB_IRQCHIP=y -CONFIG_GPIO_CDEV=y -CONFIG_GPIO_CDEV_V1=y -# CONFIG_HARDENED_USERCOPY is not set -CONFIG_HARDIRQS_SW_RESEND=y -CONFIG_HAS_DMA=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y -CONFIG_HISILICON_ERRATUM_161010101=y -CONFIG_HOTPLUG_CORE_SYNC=y -CONFIG_HOTPLUG_CORE_SYNC_DEAD=y -CONFIG_HOTPLUG_CPU=y -CONFIG_HUGETLBFS=y -CONFIG_HUGETLB_PAGE=y -CONFIG_HWMON=y -# CONFIG_HWPOISON_INJECT is not set -CONFIG_HWSPINLOCK=y -CONFIG_HWSPINLOCK_QCOM=y -CONFIG_HW_CONSOLE=y -CONFIG_HZ=300 -# CONFIG_HZ_100 is not set -CONFIG_HZ_300=y -CONFIG_I2C=y -CONFIG_I2C_ALGOBIT=y -CONFIG_I2C_BOARDINFO=y -CONFIG_I2C_COMPAT=y -CONFIG_I2C_GPIO=y -CONFIG_I2C_HELPER_AUTO=y -CONFIG_I2C_MUX=y -# CONFIG_I2C_QCOM_CCI is not set -CONFIG_I2C_QUP=y -CONFIG_IIO=y -CONFIG_IIO_BUFFER=y -CONFIG_IIO_KFIFO_BUF=y -CONFIG_IIO_TRIGGER=y -CONFIG_IIO_TRIGGERED_BUFFER=y -CONFIG_IKCONFIG=y -CONFIG_IKCONFIG_PROC=y -CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 -CONFIG_INET_DIAG=y -# CONFIG_INET_DIAG_DESTROY is not set -# CONFIG_INET_RAW_DIAG is not set -CONFIG_INET_TCP_DIAG=y -CONFIG_INITRAMFS_PRESERVE_MTIME=y -CONFIG_INITRAMFS_SOURCE="" -CONFIG_INPUT=y -CONFIG_INPUT_EVDEV=y -CONFIG_INPUT_FF_MEMLESS=y -CONFIG_INPUT_KEYBOARD=y -CONFIG_INPUT_LEDS=y -CONFIG_INPUT_MOUSE=y -CONFIG_INPUT_PM8941_PWRKEY=y -CONFIG_INPUT_TOUCHSCREEN=y -# CONFIG_IOMMUFD is not set -CONFIG_IOMMU_API=y -# CONFIG_IOMMU_DEBUGFS is not set -# CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set -CONFIG_IOMMU_DEFAULT_DMA_STRICT=y -# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set -CONFIG_IOMMU_DMA=y -CONFIG_IOMMU_IOVA=y -CONFIG_IOMMU_IO_PGTABLE=y -# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set -# CONFIG_IOMMU_IO_PGTABLE_DART is not set -CONFIG_IOMMU_IO_PGTABLE_LPAE=y -# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set -CONFIG_IOMMU_SUPPORT=y -CONFIG_IO_URING=y -CONFIG_IPC_NS=y -# CONFIG_IPQ_APSS_6018 is not set -# CONFIG_IPQ_APSS_PLL is not set -# CONFIG_IPQ_GCC_4019 is not set -# CONFIG_IPQ_GCC_5018 is not set -# CONFIG_IPQ_GCC_5332 is not set -# CONFIG_IPQ_GCC_6018 is not set -# CONFIG_IPQ_GCC_8074 is not set -# CONFIG_IPQ_GCC_9574 is not set -CONFIG_IPV6=y -CONFIG_IPV6_MROUTE=y -CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y -CONFIG_IPV6_MULTIPLE_TABLES=y -CONFIG_IPV6_PIMSM_V2=y -CONFIG_IPV6_SEG6_BPF=y -CONFIG_IPV6_SEG6_LWTUNNEL=y -CONFIG_IPV6_SUBTREES=y -# CONFIG_IP_ADVANCED_ROUTER is not set -CONFIG_IP_MROUTE=y -CONFIG_IP_MROUTE_COMMON=y -CONFIG_IP_PIMSM_V1=y -CONFIG_IP_PIMSM_V2=y -CONFIG_IRQCHIP=y -CONFIG_IRQ_DOMAIN=y -CONFIG_IRQ_DOMAIN_HIERARCHY=y -CONFIG_IRQ_FASTEOI_HIERARCHY_HANDLERS=y -CONFIG_IRQ_FORCED_THREADING=y -CONFIG_IRQ_MSI_IOMMU=y -CONFIG_IRQ_TIME_ACCOUNTING=y -CONFIG_IRQ_WORK=y -# CONFIG_ISDN is not set -CONFIG_JBD2=y -CONFIG_JUMP_LABEL=y -CONFIG_KALLSYMS=y -CONFIG_KALLSYMS_UNCOMPRESSED=y -CONFIG_KEYBOARD_GPIO=y -CONFIG_KEYS=y -# CONFIG_KPSS_XCC is not set -CONFIG_KSM=y -# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set -CONFIG_LEDS_GPIO=y -CONFIG_LEDS_QCOM_LPG=y -CONFIG_LEDS_TRIGGER_CPU=y -# CONFIG_LEDS_TRIGGER_NETDEV is not set -CONFIG_LEDS_TRIGGER_PANIC=y -CONFIG_LEGACY_DIRECT_IO=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=16 -CONFIG_LIBCRC32C=y -CONFIG_LIBFDT=y -CONFIG_LOCALVERSION="-msm8916" -CONFIG_LOCALVERSION_AUTO=y -CONFIG_LOCK_DEBUGGING_SUPPORT=y -CONFIG_LOCK_SPIN_ON_OWNER=y -CONFIG_LOGO=y -CONFIG_LOGO_LINUX_CLUT224=y -CONFIG_LOGO_LINUX_MONO=y -CONFIG_LOGO_LINUX_VGA16=y -CONFIG_LSM="landlock,lockdown,yama,loadpin,safesetid,integrity,bpf" -CONFIG_LWTUNNEL=y -# CONFIG_LWTUNNEL_BPF is not set -CONFIG_LZ4_DECOMPRESS=y -CONFIG_LZO_DECOMPRESS=y -CONFIG_MAGIC_SYSRQ=y -CONFIG_MAGIC_SYSRQ_SERIAL=y -CONFIG_MAILBOX=y -# CONFIG_MAILBOX_TEST is not set -CONFIG_MD=y -CONFIG_MEMORY_FAILURE=y -CONFIG_MEMORY_ISOLATION=y -# CONFIG_MFD_HI6421_SPMI is not set -# CONFIG_MFD_QCOM_RPM is not set -CONFIG_MFD_SPMI_PMIC=y -CONFIG_MFD_SYSCON=y -CONFIG_MIGRATION=y -CONFIG_MMC=y -CONFIG_MMC_BLOCK=y -CONFIG_MMC_BLOCK_MINORS=32 -CONFIG_MMC_CQHCI=y -CONFIG_MMC_SDHCI=y -CONFIG_MMC_SDHCI_IO_ACCESSORS=y -CONFIG_MMC_SDHCI_MSM=y -CONFIG_MMC_SDHCI_PLTFM=y -CONFIG_MMU_LAZY_TLB_REFCOUNT=y -CONFIG_MODULES_USE_ELF_RELA=y -CONFIG_MODULE_SRCVERSION_ALL=y -# CONFIG_MOUSE_BCM5974 is not set -# CONFIG_MOUSE_CYAPA is not set -# CONFIG_MOUSE_PS2 is not set -# CONFIG_MOUSE_SERIAL is not set -# CONFIG_MOUSE_VSXXXAA is not set -CONFIG_MPILIB=y -CONFIG_MQ_IOSCHED_DEADLINE=y -CONFIG_MQ_IOSCHED_KYBER=y -CONFIG_MRP=y -CONFIG_MSM_GCC_8916=y -# CONFIG_MSM_GCC_8917 is not set -CONFIG_MSM_GCC_8939=y -# CONFIG_MSM_GCC_8976 is not set -# CONFIG_MSM_GCC_8994 is not set -# CONFIG_MSM_GCC_8996 is not set -# CONFIG_MSM_GCC_8998 is not set -# CONFIG_MSM_GPUCC_8998 is not set -# CONFIG_MSM_MMCC_8996 is not set -# CONFIG_MSM_MMCC_8998 is not set -# CONFIG_MTD is not set -CONFIG_MUTEX_SPIN_ON_OWNER=y -CONFIG_NAMESPACES=y -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_NEED_SG_DMA_FLAGS=y -CONFIG_NEED_SG_DMA_LENGTH=y -CONFIG_NETFILTER=y -CONFIG_NETFILTER_ADVANCED=y -CONFIG_NETFILTER_BPF_LINK=y -CONFIG_NETFILTER_EGRESS=y -CONFIG_NETFILTER_INGRESS=y -CONFIG_NET_EGRESS=y -CONFIG_NET_FLOW_LIMIT=y -CONFIG_NET_INGRESS=y -CONFIG_NET_NS=y -CONFIG_NET_PTP_CLASSIFY=y -# CONFIG_NET_SCHED is not set -CONFIG_NET_VENDOR_ASIX=y -CONFIG_NET_VENDOR_ENGLEDER=y -CONFIG_NET_VENDOR_FUNGIBLE=y -CONFIG_NET_VENDOR_LITEX=y -CONFIG_NET_VENDOR_MICROSOFT=y -CONFIG_NET_VENDOR_VERTEXCOM=y -CONFIG_NET_VENDOR_WANGXUN=y -CONFIG_NET_XGRESS=y -# CONFIG_NF_LOG_IPV6 is not set -CONFIG_NLS=y -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_ISO8859_1=y -CONFIG_NO_HZ_COMMON=y -CONFIG_NO_HZ_IDLE=y -CONFIG_NO_IOPORT_MAP=y -CONFIG_NR_CPUS=8 -CONFIG_NVMEM=y -CONFIG_NVMEM_LAYOUTS=y -CONFIG_NVMEM_QCOM_QFPROM=y -# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set -# CONFIG_NVMEM_SPMI_SDAM is not set -CONFIG_OF=y -CONFIG_OF_ADDRESS=y -CONFIG_OF_DYNAMIC=y -CONFIG_OF_EARLY_FLATTREE=y -CONFIG_OF_FLATTREE=y -CONFIG_OF_GPIO=y -CONFIG_OF_IOMMU=y -CONFIG_OF_IRQ=y -CONFIG_OF_KOBJ=y -CONFIG_OF_OVERLAY=y -CONFIG_OF_RESOLVE=y -CONFIG_OID_REGISTRY=y -CONFIG_OLD_SIGSUSPEND3=y -# CONFIG_OVERLAY_FS_XINO_AUTO is not set -CONFIG_PAGE_POOL=y -CONFIG_PAGE_SIZE_LESS_THAN_256KB=y -CONFIG_PAGE_SIZE_LESS_THAN_64KB=y -# CONFIG_PANIC_ON_OOPS is not set -CONFIG_PANIC_ON_OOPS_VALUE=0 -CONFIG_PANIC_TIMEOUT=0 -# CONFIG_PARTITION_ADVANCED is not set -CONFIG_PARTITION_PERCPU=y -CONFIG_PCPU_DEV_REFCNT=y -CONFIG_PER_VMA_LOCK=y -CONFIG_PGTABLE_LEVELS=4 -CONFIG_PHYS_ADDR_T_64BIT=y -# CONFIG_PHY_QCOM_APQ8064_SATA is not set -# CONFIG_PHY_QCOM_EDP is not set -# CONFIG_PHY_QCOM_EUSB2_REPEATER is not set -# CONFIG_PHY_QCOM_IPQ4019_USB is not set -# CONFIG_PHY_QCOM_IPQ806X_SATA is not set -# CONFIG_PHY_QCOM_IPQ806X_USB is not set -# CONFIG_PHY_QCOM_M31_USB is not set -# CONFIG_PHY_QCOM_PCIE2 is not set -# CONFIG_PHY_QCOM_QMP is not set -# CONFIG_PHY_QCOM_QUSB2 is not set -# CONFIG_PHY_QCOM_SGMII_ETH is not set -# CONFIG_PHY_QCOM_SNPS_EUSB2 is not set -CONFIG_PHY_QCOM_USB_HS=y -# CONFIG_PHY_QCOM_USB_HS_28NM is not set -# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set -# CONFIG_PHY_QCOM_USB_SS is not set -CONFIG_PID_NS=y -CONFIG_PINCTRL=y -# CONFIG_PINCTRL_IPQ5018 is not set -# CONFIG_PINCTRL_IPQ5332 is not set -# CONFIG_PINCTRL_IPQ6018 is not set -# CONFIG_PINCTRL_IPQ8074 is not set -# CONFIG_PINCTRL_IPQ9574 is not set -CONFIG_PINCTRL_MSM=y -CONFIG_PINCTRL_MSM8916=y -# CONFIG_PINCTRL_MSM8976 is not set -# CONFIG_PINCTRL_MSM8994 is not set -# CONFIG_PINCTRL_MSM8996 is not set -# CONFIG_PINCTRL_MSM8998 is not set -# CONFIG_PINCTRL_QCM2290 is not set -CONFIG_PINCTRL_QCOM_SPMI_PMIC=y -# CONFIG_PINCTRL_QCOM_SSBI_PMIC is not set -# CONFIG_PINCTRL_QCS404 is not set -# CONFIG_PINCTRL_QDU1000 is not set -# CONFIG_PINCTRL_SA8775P is not set -# CONFIG_PINCTRL_SC7180 is not set -# CONFIG_PINCTRL_SC8280XP is not set -# CONFIG_PINCTRL_SDM660 is not set -# CONFIG_PINCTRL_SDM670 is not set -# CONFIG_PINCTRL_SDM845 is not set -# CONFIG_PINCTRL_SDX75 is not set -# CONFIG_PINCTRL_SM6350 is not set -# CONFIG_PINCTRL_SM6375 is not set -# CONFIG_PINCTRL_SM7150 is not set -# CONFIG_PINCTRL_SM8150 is not set -# CONFIG_PINCTRL_SM8250 is not set -# CONFIG_PINCTRL_SM8450 is not set -# CONFIG_PINCTRL_SM8550 is not set -CONFIG_PKCS7_MESSAGE_PARSER=y -# CONFIG_PKCS8_PRIVATE_KEY_PARSER is not set -CONFIG_PM=y -CONFIG_PM8916_WATCHDOG=y -CONFIG_PM_CLK=y -CONFIG_PM_DEVFREQ=y -# CONFIG_PM_DEVFREQ_EVENT is not set -CONFIG_PM_GENERIC_DOMAINS=y -CONFIG_PM_GENERIC_DOMAINS_OF=y -CONFIG_PM_OPP=y -CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y -CONFIG_POSIX_MQUEUE=y -CONFIG_POSIX_MQUEUE_SYSCTL=y -CONFIG_POWER_RESET=y -CONFIG_POWER_RESET_MSM=y -CONFIG_POWER_RESET_QCOM_PON=y -CONFIG_POWER_SUPPLY=y -CONFIG_POWER_SUPPLY_HWMON=y -CONFIG_PPS=y -CONFIG_PREEMPT=y -CONFIG_PREEMPTION=y -CONFIG_PREEMPT_BUILD=y -CONFIG_PREEMPT_COUNT=y -# CONFIG_PREEMPT_NONE is not set -CONFIG_PREEMPT_RCU=y -CONFIG_PRINTK_TIME=y -CONFIG_PROC_PAGE_MONITOR=y -CONFIG_PSTORE=y -CONFIG_PSTORE_COMPRESS=y -CONFIG_PSTORE_CONSOLE=y -CONFIG_PSTORE_PMSG=y -CONFIG_PSTORE_RAM=y -CONFIG_PTP_1588_CLOCK=y -CONFIG_PTP_1588_CLOCK_KVM=y -CONFIG_PTP_1588_CLOCK_OPTIONAL=y -CONFIG_PWM=y -CONFIG_PWM_CLK=y -CONFIG_PWM_SYSFS=y -# CONFIG_QCM_DISPCC_2290 is not set -# CONFIG_QCM_GCC_2290 is not set -CONFIG_QCOM_A53PLL=y -# CONFIG_QCOM_AOSS_QMP is not set -CONFIG_QCOM_APCS_IPC=y -# CONFIG_QCOM_APR is not set -CONFIG_QCOM_BAM_DMA=y -# CONFIG_QCOM_CLK_APCC_MSM8996 is not set -CONFIG_QCOM_CLK_APCS_MSM8916=y -CONFIG_QCOM_CLK_SMD_RPM=y -# CONFIG_QCOM_COINCELL is not set -# CONFIG_QCOM_COMMAND_DB is not set -CONFIG_QCOM_CPR=y -# CONFIG_QCOM_EBI2 is not set -# CONFIG_QCOM_FASTRPC is not set -CONFIG_QCOM_GDSC=y -# CONFIG_QCOM_GENI_SE is not set -# CONFIG_QCOM_GSBI is not set -# CONFIG_QCOM_HFPLL is not set -# CONFIG_QCOM_ICC_BWMON is not set -CONFIG_QCOM_IOMMU=y -# CONFIG_QCOM_IPCC is not set -# CONFIG_QCOM_LLCC is not set -CONFIG_QCOM_MPM=y -# CONFIG_QCOM_OCMEM is not set -# CONFIG_QCOM_PDC is not set -# CONFIG_QCOM_Q6V5_ADSP is not set -# CONFIG_QCOM_Q6V5_MSS is not set -# CONFIG_QCOM_Q6V5_PAS is not set -# CONFIG_QCOM_Q6V5_WCSS is not set -CONFIG_QCOM_QMI_HELPERS=y -# CONFIG_QCOM_RAMP_CTRL is not set -CONFIG_QCOM_RMTFS_MEM=y -CONFIG_QCOM_RPMCC=y -# CONFIG_QCOM_RPMH is not set -CONFIG_QCOM_RPMPD=y -# CONFIG_QCOM_RPM_MASTER_STATS is not set -CONFIG_QCOM_SCM=y -# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set -CONFIG_QCOM_SMD_RPM=y -CONFIG_QCOM_SMEM=y -CONFIG_QCOM_SMEM_STATE=y -CONFIG_QCOM_SMP2P=y -CONFIG_QCOM_SMSM=y -CONFIG_QCOM_SOCINFO=y -CONFIG_QCOM_SPM=y -# CONFIG_QCOM_SPMI_RRADC is not set -CONFIG_QCOM_SPMI_TEMP_ALARM=y -CONFIG_QCOM_SPMI_VADC=y -CONFIG_QCOM_STATS=y -CONFIG_QCOM_SYSMON=y -CONFIG_QCOM_TSENS=y -CONFIG_QCOM_VADC_COMMON=y -# CONFIG_QCOM_WCNSS_CTRL is not set -# CONFIG_QCOM_WCNSS_PIL is not set -CONFIG_QCOM_WDT=y -# CONFIG_QCS_GCC_404 is not set -# CONFIG_QCS_Q6SSTOP_404 is not set -# CONFIG_QCS_TURING_404 is not set -# CONFIG_QDU_GCC_1000 is not set -# CONFIG_QFMT_V2 is not set -CONFIG_QRTR=y -CONFIG_QRTR_SMD=y -CONFIG_QUEUED_RWLOCKS=y -CONFIG_QUEUED_SPINLOCKS=y -CONFIG_QUOTA=y -CONFIG_QUOTACTL=y -CONFIG_RANDOMIZE_BASE=y -CONFIG_RANDOMIZE_MODULE_REGION_FULL=y -# CONFIG_RANDSTRUCT_FULL is not set -CONFIG_RANDSTRUCT_NONE=y -# CONFIG_RANDSTRUCT_PERFORMANCE is not set -CONFIG_RAS=y -CONFIG_RATIONAL=y -# CONFIG_RAVE_SP_CORE is not set -CONFIG_RCU_CPU_STALL_TIMEOUT=21 -CONFIG_RD_BZIP2=y -CONFIG_RD_GZIP=y -CONFIG_RD_LZ4=y -CONFIG_RD_LZMA=y -CONFIG_RD_LZO=y -CONFIG_RD_XZ=y -CONFIG_RD_ZSTD=y -CONFIG_REBOOT_MODE=y -CONFIG_REED_SOLOMON=y -CONFIG_REED_SOLOMON_DEC8=y -CONFIG_REED_SOLOMON_ENC8=y -CONFIG_REGMAP=y -CONFIG_REGMAP_I2C=y -CONFIG_REGMAP_IRQ=y -CONFIG_REGMAP_MMIO=y -CONFIG_REGMAP_SPMI=y -CONFIG_REGULATOR=y -CONFIG_REGULATOR_FIXED_VOLTAGE=y -# CONFIG_REGULATOR_QCOM_LABIBB is not set -CONFIG_REGULATOR_QCOM_SMD_RPM=y -CONFIG_REGULATOR_QCOM_SPMI=y -# CONFIG_REGULATOR_QCOM_USB_VBUS is not set -CONFIG_REGULATOR_TPS65132=y -# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set -CONFIG_RELOCATABLE=y -CONFIG_REMOTEPROC=y -CONFIG_REMOTEPROC_CDEV=y -CONFIG_RESET_CONTROLLER=y -# CONFIG_RESET_QCOM_AOSS is not set -# CONFIG_RESET_QCOM_PDC is not set -CONFIG_RFS_ACCEL=y -CONFIG_RODATA_FULL_DEFAULT_ENABLED=y -CONFIG_RPMSG=y -CONFIG_RPMSG_CHAR=y -CONFIG_RPMSG_CTRL=y -# CONFIG_RPMSG_NS is not set -# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set -CONFIG_RPMSG_QCOM_SMD=y -# CONFIG_RPMSG_TTY is not set -CONFIG_RPS=y -CONFIG_RSEQ=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_PM8XXX=y -CONFIG_RTC_I2C_AND_SPI=y -CONFIG_RTC_NVMEM=y -CONFIG_RWSEM_SPIN_ON_OWNER=y -# CONFIG_SA_GCC_8775P is not set -# CONFIG_SA_GPUCC_8775P is not set -CONFIG_SCHED_CLUSTER=y -# CONFIG_SCHED_CORE is not set -CONFIG_SCHED_MC=y -CONFIG_SCHED_SMT=y -CONFIG_SCHED_THERMAL_PRESSURE=y -CONFIG_SCSI=y -CONFIG_SCSI_COMMON=y -# CONFIG_SCSI_PROC_FS is not set -CONFIG_SCSI_SCAN_ASYNC=y -# CONFIG_SC_CAMCC_7280 is not set -# CONFIG_SC_DISPCC_7180 is not set -# CONFIG_SC_DISPCC_8280XP is not set -# CONFIG_SC_GCC_7180 is not set -# CONFIG_SC_GCC_8280XP is not set -# CONFIG_SC_GPUCC_7180 is not set -# CONFIG_SC_LPASSCC_7280 is not set -# CONFIG_SC_LPASSCC_8280XP is not set -# CONFIG_SC_LPASS_CORECC_7180 is not set -# CONFIG_SC_LPASS_CORECC_7280 is not set -# CONFIG_SC_MSS_7180 is not set -# CONFIG_SC_VIDEOCC_7180 is not set -# CONFIG_SDM_CAMCC_845 is not set -# CONFIG_SDM_DISPCC_845 is not set -# CONFIG_SDM_GCC_660 is not set -# CONFIG_SDM_GCC_845 is not set -# CONFIG_SDM_GPUCC_845 is not set -# CONFIG_SDM_LPASSCC_845 is not set -# CONFIG_SDM_VIDEOCC_845 is not set -# CONFIG_SDX_GCC_75 is not set -CONFIG_SECCOMP=y -CONFIG_SECCOMP_FILTER=y -# CONFIG_SECONDARY_TRUSTED_KEYRING is not set -CONFIG_SECRETMEM=y -# CONFIG_SECURITY_DMESG_RESTRICT is not set -# CONFIG_SERIAL_8250 is not set -CONFIG_SERIAL_DEV_BUS=y -CONFIG_SERIAL_DEV_CTRL_TTYPORT=y -CONFIG_SERIAL_MSM=y -CONFIG_SERIAL_MSM_CONSOLE=y -CONFIG_SGL_ALLOC=y -CONFIG_SG_POOL=y -CONFIG_SLUB_DEBUG=y -CONFIG_SMP=y -# CONFIG_SM_CAMCC_6350 is not set -# CONFIG_SM_CAMCC_8450 is not set -# CONFIG_SM_GCC_7150 is not set -# CONFIG_SM_GCC_8150 is not set -# CONFIG_SM_GCC_8250 is not set -# CONFIG_SM_GCC_8450 is not set -# CONFIG_SM_GCC_8550 is not set -# CONFIG_SM_GPUCC_6115 is not set -# CONFIG_SM_GPUCC_6125 is not set -# CONFIG_SM_GPUCC_6350 is not set -# CONFIG_SM_GPUCC_6375 is not set -# CONFIG_SM_GPUCC_8150 is not set -# CONFIG_SM_GPUCC_8250 is not set -# CONFIG_SM_GPUCC_8350 is not set -# CONFIG_SM_GPUCC_8450 is not set -# CONFIG_SM_GPUCC_8550 is not set -# CONFIG_SM_TCSRCC_8550 is not set -# CONFIG_SM_VIDEOCC_8150 is not set -# CONFIG_SM_VIDEOCC_8250 is not set -# CONFIG_SM_VIDEOCC_8350 is not set -# CONFIG_SM_VIDEOCC_8450 is not set -# CONFIG_SM_VIDEOCC_8550 is not set -CONFIG_SOCK_DIAG=y -CONFIG_SOCK_RX_QUEUE_MAPPING=y -CONFIG_SOC_BUS=y -CONFIG_SOFTIRQ_ON_OWN_STACK=y -CONFIG_SPARSEMEM=y -CONFIG_SPARSEMEM_EXTREME=y -CONFIG_SPARSEMEM_VMEMMAP=y -CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y -CONFIG_SPARSE_IRQ=y -CONFIG_SPI=y -CONFIG_SPI_BITBANG=y -CONFIG_SPI_DYNAMIC=y -CONFIG_SPI_GPIO=y -CONFIG_SPI_MASTER=y -CONFIG_SPI_QUP=y -CONFIG_SPMI=y -# CONFIG_SPMI_HISI3670 is not set -CONFIG_SPMI_MSM_PMIC_ARB=y -# CONFIG_SPMI_PMIC_CLKDIV is not set -CONFIG_SQUASHFS=y -CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y -CONFIG_SQUASHFS_FILE_CACHE=y -CONFIG_SQUASHFS_XATTR=y -CONFIG_SQUASHFS_ZLIB=y -CONFIG_SQUASHFS_ZSTD=y -CONFIG_STACKDEPOT=y -CONFIG_STACKPROTECTOR=y -CONFIG_STACKPROTECTOR_PER_TASK=y -CONFIG_STACKTRACE=y -# CONFIG_STAGING is not set -# CONFIG_STRIP_ASM_SYMS is not set -CONFIG_SURFACE_PLATFORMS=y -CONFIG_SWIOTLB=y -CONFIG_SYNC_FILE=y -# CONFIG_SYN_COOKIES is not set -CONFIG_SYSCTL_EXCEPTION_TRACE=y -CONFIG_SYSFS_SYSCALL=y -# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set -CONFIG_SYSTEM_TRUSTED_KEYRING=y -CONFIG_SYSVIPC_COMPAT=y -# CONFIG_TCP_CONG_ADVANCED is not set -CONFIG_THERMAL=y -CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y -CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 -CONFIG_THERMAL_EMULATION=y -CONFIG_THERMAL_GOV_STEP_WISE=y -CONFIG_THERMAL_HWMON=y -CONFIG_THERMAL_OF=y -CONFIG_THP_SWAP=y -CONFIG_THREAD_INFO_IN_TASK=y -CONFIG_TICK_CPU_ACCOUNTING=y -CONFIG_TIMER_OF=y -CONFIG_TIMER_PROBE=y -CONFIG_TIME_NS=y -CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y -CONFIG_TRANSPARENT_HUGEPAGE=y -CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y -# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set -CONFIG_TREE_RCU=y -CONFIG_TREE_SRCU=y -# CONFIG_UCLAMP_TASK is not set -# CONFIG_UEVENT_HELPER is not set -CONFIG_UNICODE=y -# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set -CONFIG_UNINLINE_SPIN_UNLOCK=y -CONFIG_UNMAP_KERNEL_AT_EL0=y -CONFIG_USB=y -CONFIG_USB_CHIPIDEA=y -CONFIG_USB_CHIPIDEA_GENERIC=y -CONFIG_USB_CHIPIDEA_HOST=y -CONFIG_USB_CHIPIDEA_IMX=y -CONFIG_USB_CHIPIDEA_MSM=y -CONFIG_USB_CHIPIDEA_TEGRA=y -CONFIG_USB_CHIPIDEA_UDC=y -CONFIG_USB_COMMON=y -CONFIG_USB_EHCI_HCD=y -# CONFIG_USB_EHCI_HCD_PLATFORM is not set -CONFIG_USB_GADGET=y -CONFIG_USB_HSIC_USB3503=y -CONFIG_USB_LED_TRIG=y -CONFIG_USB_NET_DRIVERS=y -CONFIG_USB_OTG=y -CONFIG_USB_ROLE_SWITCH=y -CONFIG_USB_RTL8150=y -CONFIG_USB_RTL8152=y -CONFIG_USB_STORAGE=y -CONFIG_USB_SUPPORT=y -CONFIG_USB_ULPI_BUS=y -CONFIG_USER_NS=y -CONFIG_UTS_NS=y -CONFIG_VFAT_FS=y -CONFIG_VIDEO_CMDLINE=y -CONFIG_VIRTIO=y -CONFIG_VIRTIO_ANCHOR=y -# CONFIG_VIRTIO_BLK is not set -# CONFIG_VIRTIO_IOMMU is not set -# CONFIG_VIRTIO_MENU is not set -# CONFIG_VIRTIO_NET is not set -CONFIG_VLAN_8021Q_GVRP=y -CONFIG_VLAN_8021Q_MVRP=y -CONFIG_VMAP_STACK=y -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -CONFIG_VT_HW_CONSOLE_BINDING=y -CONFIG_WANT_DEV_COREDUMP=y -CONFIG_WATCHDOG_CORE=y -CONFIG_WATCHDOG_SYSFS=y -CONFIG_X509_CERTIFICATE_PARSER=y -CONFIG_XARRAY_MULTI=y -CONFIG_XPS=y -CONFIG_XXHASH=y -CONFIG_XZ_DEC_ARM=y -CONFIG_XZ_DEC_ARMTHUMB=y -CONFIG_XZ_DEC_BCJ=y -CONFIG_XZ_DEC_IA64=y -CONFIG_XZ_DEC_POWERPC=y -CONFIG_XZ_DEC_SPARC=y -CONFIG_XZ_DEC_X86=y -CONFIG_ZLIB_DEFLATE=y -CONFIG_ZLIB_INFLATE=y -CONFIG_ZONE_DMA32=y -CONFIG_ZSTD_COMMON=y -CONFIG_ZSTD_COMPRESS=y -CONFIG_ZSTD_DECOMPRESS=y diff --git a/readme.md b/readme.md index 4b4166b..7475b3f 100644 --- a/readme.md +++ b/readme.md @@ -87,18 +87,7 @@ To build a specific release locally: OPENWRT_VERSION=v24.10.2 docker compose build builder --no-cache ``` -### Kernel version compatibility - -The msm89xx Makefile auto-detects the available kernel version at build time. It prefers kernel 6.12 and falls back to the latest available (e.g. 6.6 for OpenWrt 24.10.x). Each kernel version requires a matching `config-X.Y` file in `msm89xx/`: - -| OpenWrt | Kernel | Config file | -|---------|--------|-------------| -| 25.12.x / snapshot | 6.12 | `config-6.12` | -| 24.10.x | 6.6 | `config-6.6` | - -When a new OpenWrt major version ships a new kernel, you will need to add a corresponding `config-X.Y` file. - -> **Minimum version: OpenWrt 24.10.x (kernel 6.6).** The UZ801 device tree entered upstream Linux in v6.4, so older OpenWrt releases (23.05 and below, kernel 5.15) are not supported. +> **Supported versions:** OpenWrt 25.12.x and current snapshots (kernel 6.12). OpenWrt 24.10.x (kernel 6.6) compiles but does not boot — the Makefile supports it via `KERNEL_FOR_24` (currently commented out) if someone wants to investigate further. ## Installation