From f5094a5c096ecf6645bff1969d52198db7af23f4 Mon Sep 17 00:00:00 2001 From: mcc45tr Date: Tue, 8 Sep 2026 22:11:17 +0300 Subject: [PATCH 118/118] senemos: pin Nabu early relocations and ESP32-S3 CDC Linux 7.3 enables RELR by default whenever the build toolchain supports it. The current RELR-enabled Nabu image fails before journald and ramoops, while the stable configuration keeps the classic RELA path. Disable RELR explicitly so the next build tests this one early-boot variable instead of inheriting a new upstream default. Also pin every host-side link in the ESP32-S3 CDC-ACM path. Keep CDC ACM and the primary DWC3/QCOM/role-switch path built in, while retaining xHCI platform support as a late-loaded module for the optional controller. --- senemos/configs/nabu-minimal.config | 7 +++++++ senemos/configs/prune-nabu-config.sh | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/senemos/configs/nabu-minimal.config b/senemos/configs/nabu-minimal.config index d0279aa31..447f39f0d 100644 --- a/senemos/configs/nabu-minimal.config +++ b/senemos/configs/nabu-minimal.config @@ -2,6 +2,11 @@ CONFIG_LOCALVERSION="-nabu-senemos-mainline-unstable" # CONFIG_LOCALVERSION_AUTO is not set +# Keep the classic RELA relocation path while Linux 7.3 early boot is being +# qualified on Nabu. The current RELR-enabled image fails before ramoops can +# persist a record, so packed relocations must be an explicit HIL variable. +# CONFIG_RELR is not set + CONFIG_ARCH_QCOM=y CONFIG_PINCTRL_SM8150=y CONFIG_SM_GCC_8150=y @@ -88,6 +93,7 @@ CONFIG_HID_XIAOMI=y # The optional pogo-keyboard XHCI controller must not block built-in init. CONFIG_USB_XHCI_HCD=m +CONFIG_USB_XHCI_PLATFORM=m CONFIG_USB_ACM=y # The primary USB-C path is boot-critical for recovery and wired input. @@ -95,6 +101,7 @@ CONFIG_USB_DWC3=y CONFIG_USB_DWC3_QCOM=y CONFIG_USB_GADGET=y CONFIG_USB_DWC3_DUAL_ROLE=y +CONFIG_USB_ROLE_SWITCH=y # CONFIG_USB_DWC3_HOST is not set CONFIG_TYPEC=y CONFIG_TYPEC_TCPM=y diff --git a/senemos/configs/prune-nabu-config.sh b/senemos/configs/prune-nabu-config.sh index 689adef61..0ca999180 100755 --- a/senemos/configs/prune-nabu-config.sh +++ b/senemos/configs/prune-nabu-config.sh @@ -84,11 +84,15 @@ while IFS= read -r symbol; do done < <(sed -n 's/^CONFIG_\([A-Z0-9_]*\(GCC\|GPUCC\|DISPCC\|VIDEOCC\|CAMCC\|TCSRCC\)[A-Z0-9_]*\)=[ym]$/\1/p' "$config_file") "$config_tool" --file "$config_file" "${args[@]}" \ + --disable RELR \ --enable I2C_QCOM_CCI --enable SM_CAMCC_8150 \ --enable SM_VIDEOCC_8150 \ --enable DMABUF_HEAPS --enable DMABUF_HEAPS_SYSTEM \ --enable DMABUF_HEAPS_CMA \ --enable GPIO_SHARED_PROXY \ + --module USB_XHCI_HCD --module USB_XHCI_PLATFORM \ + --enable USB_ACM --enable USB_DWC3 --enable USB_DWC3_QCOM \ + --enable USB_DWC3_DUAL_ROLE --enable USB_ROLE_SWITCH \ --enable SECURITY --enable SECURITY_NETWORK --enable SECURITY_SELINUX \ --disable VIDEO_QCOM_VENUS \ --disable DEBUG_INFO --enable DEBUG_INFO_NONE \ -- 2.55.0