From acc1d58297b91cc6c25fcc9c73d6b8df4c772895 Mon Sep 17 00:00:00 2001 From: AI Dev Date: Fri, 18 Sep 2026 13:33:26 +0000 Subject: [PATCH 1/2] hi3516ev300: drop the SCSI stack the board has no transport for hi3516ev300_lite finished the 2026-09-17 master build at 5124KB of a 5120KB cap, and #2420 records it as the hardest board to fix: it has only 43KB of kernel headroom, so it cannot pay for the build-in trade that #2397, #2433 and #2437 used elsewhere. It does not have to. The board still ships scsi_mod, scsi_transport_fc and sd_mod -- 276KB of modules -- while CONFIG_USB_STORAGE, CONFIG_ATA, CONFIG_ISCSI_TCP and CONFIG_LIBFC are all unset. There is no transport of any kind, so sd_mod can never bind a device, and scsi_transport_fc is Fibre Channel on an IP camera. Nothing in general/overlay/ or any package's files names them. This is the same dead stack #2376 removed from the four Goke boards. Measured, gk7205v300-style full rebuild plus mksquashfs -b 128K -comp xz on the real target: rootfs.squashfs 5124KB -> 5044KB (76KB free, was 4KB over) uImage 2005KB -> 2005KB (43KB free, unchanged) 80KB of flash for zero kernel bytes, which is why this is the right lever here rather than building the crypto helpers in: that shape was also measured on this board and came out at 5104KB rootfs but 2018KB uImage, tripping the headroom warning on both axes. hi3516ev300_ultimate shares the config and gains the same 80KB. --- .../hi3516ev200/hi3516ev300.generic.config | 38 +------------------ 1 file changed, 2 insertions(+), 36 deletions(-) diff --git a/br-ext-chip-hisilicon/board/hi3516ev200/hi3516ev300.generic.config b/br-ext-chip-hisilicon/board/hi3516ev200/hi3516ev300.generic.config index d5ed100d80..f24703c3ad 100644 --- a/br-ext-chip-hisilicon/board/hi3516ev200/hi3516ev300.generic.config +++ b/br-ext-chip-hisilicon/board/hi3516ev200/hi3516ev300.generic.config @@ -1101,43 +1101,9 @@ CONFIG_BLK_DEV_RAM_SIZE=65536 # # SCSI device support # -CONFIG_SCSI_MOD=m +CONFIG_SCSI_MOD=y # CONFIG_RAID_ATTRS is not set -CONFIG_SCSI=m -CONFIG_SCSI_DMA=y -CONFIG_SCSI_NETLINK=y -# CONFIG_SCSI_MQ_DEFAULT is not set -# CONFIG_SCSI_PROC_FS is not set - -# -# SCSI support type (disk, tape, CD-ROM) -# -CONFIG_BLK_DEV_SD=m -# CONFIG_CHR_DEV_ST is not set -# CONFIG_CHR_DEV_OSST is not set -# CONFIG_BLK_DEV_SR is not set -# CONFIG_CHR_DEV_SG is not set -# CONFIG_CHR_DEV_SCH is not set -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_LOGGING is not set -# CONFIG_SCSI_SCAN_ASYNC is not set - -# -# SCSI Transports -# -# CONFIG_SCSI_SPI_ATTRS is not set -CONFIG_SCSI_FC_ATTRS=m -# CONFIG_SCSI_ISCSI_ATTRS is not set -# CONFIG_SCSI_SAS_ATTRS is not set -# CONFIG_SCSI_SAS_LIBSAS is not set -# CONFIG_SCSI_SRP_ATTRS is not set -CONFIG_SCSI_LOWLEVEL=y -# CONFIG_ISCSI_TCP is not set -# CONFIG_ISCSI_BOOT_SYSFS is not set -# CONFIG_SCSI_UFSHCD is not set -# CONFIG_LIBFC is not set -# CONFIG_SCSI_DEBUG is not set -# CONFIG_SCSI_DH is not set +# CONFIG_SCSI is not set # CONFIG_SCSI_OSD_INITIATOR is not set # CONFIG_ATA is not set # CONFIG_MD is not set From 4943ddbe3a55cd5123ceee274f78f5849ed9fbf2 Mon Sep 17 00:00:00 2001 From: AI Dev Date: Fri, 18 Sep 2026 13:33:26 +0000 Subject: [PATCH 2/2] gk7205v300: build cfg80211 in, and go back under the squashfs cap gk7205v300_lite is out of free levers. #2421 stripped the modules it cannot load, #2376 dropped its SCSI stack and built FAT in, and #2433 built its crypto helpers in two days ago; its kernel config is down to 13 modules and every one of them is live. It still came back over the cap, because majestic and majestic-webui are unpinned by design and the board grew ~64KB in a day (#2420). So this reaches for the only measured lever left, and takes the cheaper half of it. #2420's table shows cfg80211 + mac80211 + mt7601u built in saves 272KB of rootfs but costs 198KB of uImage, which it calls a trap -- it would leave the board one commit from red on the kernel instead. Only cfg80211 moves here; mac80211 and mt7601u stay modules. rootfs.squashfs 5124KB -> 5036KB (84KB free, was 4KB over) uImage 1823KB -> 1885KB (163KB free) The cost is honest and worth stating: cfg80211 is now permanently resident, so every camera pays ~278KB of RAM for the wireless core whether a dongle is ever plugged in or not. The load path survives. busybox modprobe reads modules.builtin, which now lists cfg80211, and mac80211.ko's modules.dep line no longer names it -- both verified in the built target tree. gk7205v300_ultimate shares the config. --- br-ext-chip-goke/board/gk7205v200/gk7205v300.generic.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/br-ext-chip-goke/board/gk7205v200/gk7205v300.generic.config b/br-ext-chip-goke/board/gk7205v200/gk7205v300.generic.config index 4311d110e0..37ea3417cb 100644 --- a/br-ext-chip-goke/board/gk7205v200/gk7205v300.generic.config +++ b/br-ext-chip-goke/board/gk7205v200/gk7205v300.generic.config @@ -808,7 +808,7 @@ CONFIG_BQL=y CONFIG_WIRELESS=y CONFIG_WEXT_CORE=y CONFIG_WEXT_PROC=y -CONFIG_CFG80211=m +CONFIG_CFG80211=y # CONFIG_NL80211_TESTMODE is not set # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set CONFIG_CFG80211_DEFAULT_PS=y