OpenIPC/firmware dropped BR2_PACKAGE_JSONFILTER from every one of its defconfigs in #2304, once the WebUI stopped calling it. builder's defconfigs are its own files, so 97 of them kept selecting it. jsonfilter selects JSON_C and LIBUBOX, and on a device that enables neither uqmi-openipc nor wifibroadcast-ng nothing else selects libubox, so it and jsonfilter shipped for nothing. That is what has had three devices over their rootfs cap: hi3518ev200_lite_switcam-hs303 rootfs 5124KB/5120KB -4KB ssc333_lite_babysense-see-hd-ip206 rootfs 5124KB/5120KB -4KB ssc333_lite_meari-speed-6s rootfs 5128KB/5120KB -8KB all three red on the nightly, meari since 2026-08-24. Bisecting meari across firmware revisions lands on #2301, which added 408 bytes to the comment-stripped sysupgrade script -- these images had no headroom left at all, and 408 bytes of a genuine bug fix was enough to push one over a 4KB padding step. The fix is to give them headroom, not to give back the bug fix. Measured on ssc333_lite_meari-speed-6s, built the way builder.sh builds it -- devices/<item>/ copied over a firmware checkout at master, clean tree both times: before rootfs.squashfs 5128KB/5120KB size exceeded by: 8KB after rootfs.squashfs 5096KB/5120KB 24KB spare -32KB, from /usr/bin/jsonfilter (18068 raw) and /usr/lib/libubox.so (30404 raw). json-c does NOT go: majestic lists it in MAJESTIC_DEPENDENCIES, so buildroot builds and installs it whether or not BR2_PACKAGE_JSON_C is set. Only the two files above leave the image. Two consumers genuinely need jsonfilter and both keep it: * devices/apfpv's own etc/init.d/S99msposd reads majestic's config.json through it, and ssc338q_apfpv and ssc378qe_apfpv do not enable wifibroadcast-ng. Those two keep the symbol, with the reason written above the line -- the same undeclared-runtime-dependency trap firmware #2305 had to fix, and the reason this is 95 defconfigs and not 97. * every other FPV device enables wifibroadcast-ng, whose Config.in selects BR2_PACKAGE_JSONFILTER (added by #2305) for the same script. They keep it without saying so. LTE devices keep libubox through uqmi-openipc, which selects it independently. Nothing else in this repository calls jsonfilter: grepping devices/ and package/ finds only that one S99msposd line, and firmware's own tree has no caller left outside wifibroadcast-ng.
71 lines
2.2 KiB
Plaintext
71 lines
2.2 KiB
Plaintext
# Architecture
|
|
BR2_arm=y
|
|
BR2_cortex_a35=y
|
|
BR2_ARM_FPU_NEON_VFPV4=y
|
|
BR2_ARM_INSTRUCTIONS_THUMB2=y
|
|
|
|
# Toolchain
|
|
BR2_TOOLCHAIN_EXTERNAL=y
|
|
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
|
|
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
|
|
BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/openipc/firmware/releases/download/$(OPENIPC_TOOLCHAIN).tgz"
|
|
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-openipc-linux-musleabihf"
|
|
BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_10=y
|
|
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
|
|
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
|
|
|
# Kernel
|
|
BR2_LINUX_KERNEL=y
|
|
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
|
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_KERNEL).tar.gz"
|
|
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
|
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/infinity6c-ssc027d.config"
|
|
BR2_LINUX_KERNEL_UIMAGE=y
|
|
BR2_LINUX_KERNEL_XZ=y
|
|
|
|
# Filesystem
|
|
BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/package/busybox/busybox.config"
|
|
BR2_PACKAGE_EXFATPROGS=y
|
|
BR2_PACKAGE_UBOOT_TOOLS=y
|
|
BR2_PACKAGE_ZLIB=y
|
|
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
|
BR2_PACKAGE_WIRELESS_REGDB=y
|
|
BR2_PACKAGE_WIRELESS_TOOLS=y
|
|
BR2_TARGET_ROOTFS_CPIO=y
|
|
BR2_TARGET_ROOTFS_SQUASHFS=y
|
|
BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
|
|
|
|
# OpenIPC
|
|
BR2_OPENIPC_SOC_VENDOR="sigmastar"
|
|
BR2_OPENIPC_SOC_MODEL="ssc378qe"
|
|
BR2_OPENIPC_SOC_FAMILY="infinity6c"
|
|
BR2_OPENIPC_VARIANT="fpv"
|
|
BR2_OPENIPC_FLASH_SIZE="16"
|
|
|
|
# Packages
|
|
BR2_PACKAGE_ADAPTIVE_LINK=y
|
|
BR2_PACKAGE_DROPBEAR_OPENIPC=y
|
|
BR2_PACKAGE_EXFAT_OPENIPC=y
|
|
BR2_PACKAGE_IPCTOOL=y
|
|
BR2_PACKAGE_LIBCURL_OPENIPC=y
|
|
BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y
|
|
# BR2_PACKAGE_LIBCURL_OPENIPC_PROXY_SUPPORT is not set
|
|
# BR2_PACKAGE_LIBCURL_OPENIPC_COOKIES_SUPPORT is not set
|
|
# BR2_PACKAGE_LIBCURL_OPENIPC_EXTRA_PROTOCOLS_FEATURES is not set
|
|
BR2_PACKAGE_LIBEVENT_OPENIPC=y
|
|
BR2_PACKAGE_LIBOGG_OPENIPC=y
|
|
BR2_PACKAGE_LINUX_PATCHER_SIGMASTAR_DTB="infinity6c-ssc027d-s01a-demo"
|
|
BR2_PACKAGE_MAJESTIC_FONTS=y
|
|
BR2_PACKAGE_MAJESTIC_WEBUI=y
|
|
BR2_PACKAGE_MAJESTIC=y
|
|
BR2_PACKAGE_MBEDTLS_OPENIPC=y
|
|
BR2_PACKAGE_OPUS_OPENIPC=y
|
|
BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y
|
|
BR2_PACKAGE_RTL8733BU_OPENIPC=y
|
|
BR2_PACKAGE_RTL88X2EU_OPENIPC=y
|
|
BR2_PACKAGE_RTL8812AU_OPENIPC=y
|
|
BR2_PACKAGE_SIGMASTAR_OSDRV_INFINITY6C=y
|
|
BR2_PACKAGE_VTUND_OPENIPC=y
|
|
# BR2_PACKAGE_WIFIBROADCAST_NG is not set
|
|
BR2_PACKAGE_YAML_CLI=y
|