From 3c0e867fb1399a489dfc99d4d6b2ce011dc4ef9a Mon Sep 17 00:00:00 2001 From: AI Dev Date: Thu, 17 Sep 2026 18:10:25 +0000 Subject: [PATCH 1/2] gk7205v200: build the crypto modules in, and go back under the squashfs cap gk7205v200_lite does not produce an image on master: 5136KB against a 5120KB cap, over by 16KB. It is not in any recent PR's board matrix, and gcc-compat -- which builds this board and nothing else -- last ran on master on 2026-09-13, so nothing surfaced it until a .mk change re-triggered that workflow. The eleven kernel crypto modules are 89,572 bytes of the rootfs: gcm 16604 ccm 12544 drbg 11840 gf128mul 9844 jitterentropy_rng 9740 ctr 6940 hmac 5456 seqiv 4640 echainiv 4172 ghash-generic 4020 crc32_generic 3772 None is loaded by a script. The kernel crypto API resolves them through its own request_module(), which is why #2397 and #2433 built them in rather than deleting them, and why deleting them would break wireguard and mac80211 rather than save anything. #2433 made exactly this change for gk7205v300, gk7202v300 and hi3519v101; gk7205v200 has the same seventeen symbols still at =m and was simply missed. Measured on a clean build, since Buildroot's target/ keeps a .ko a previous build installed and an incremental rebuild reports the old size: master this branch uImage 1808KB/2048KB 1821KB/2048KB rootfs.squashfs 5136KB/5120KB 5112KB/5120KB (over by 16KB -> 8KB free) The kernel takes 13KB of the 89KB and still has 227KB spare; the rootfs saves 24KB. That leaves 8KB, and the build says so -- "headroom warning: rootfs.squashfs has 8KB left of 5120KB". This gets the board building again; it does not give it room. The sweep that found this also confirmed there is no dead weight left in its module set: every other non-vendor module is named by a script or dependency-loaded by one that is. --- .../gk7205v200/gk7205v200.generic.config | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/br-ext-chip-goke/board/gk7205v200/gk7205v200.generic.config b/br-ext-chip-goke/board/gk7205v200/gk7205v200.generic.config index 788ce648e3..3e2279ab29 100644 --- a/br-ext-chip-goke/board/gk7205v200/gk7205v200.generic.config +++ b/br-ext-chip-goke/board/gk7205v200/gk7205v200.generic.config @@ -2650,26 +2650,26 @@ CONFIG_CRYPTO=y # CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI2=y -CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD=y CONFIG_CRYPTO_AEAD2=y CONFIG_CRYPTO_BLKCIPHER=y CONFIG_CRYPTO_BLKCIPHER2=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y -CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG=y CONFIG_CRYPTO_RNG2=y -CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_RNG_DEFAULT=y CONFIG_CRYPTO_AKCIPHER2=y CONFIG_CRYPTO_KPP2=y # CONFIG_CRYPTO_RSA is not set # CONFIG_CRYPTO_DH is not set # CONFIG_CRYPTO_ECDH is not set -CONFIG_CRYPTO_MANAGER=m +CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y # CONFIG_CRYPTO_USER is not set CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y -CONFIG_CRYPTO_GF128MUL=m -CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_GF128MUL=y +CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_NULL2=y CONFIG_CRYPTO_WORKQUEUE=y # CONFIG_CRYPTO_CRYPTD is not set @@ -2680,17 +2680,17 @@ CONFIG_CRYPTO_WORKQUEUE=y # # Authenticated Encryption with Associated Data # -CONFIG_CRYPTO_CCM=m -CONFIG_CRYPTO_GCM=m +CONFIG_CRYPTO_CCM=y +CONFIG_CRYPTO_GCM=y # CONFIG_CRYPTO_CHACHA20POLY1305 is not set -CONFIG_CRYPTO_SEQIV=m -CONFIG_CRYPTO_ECHAINIV=m +CONFIG_CRYPTO_SEQIV=y +CONFIG_CRYPTO_ECHAINIV=y # # Block modes # # CONFIG_CRYPTO_CBC is not set -CONFIG_CRYPTO_CTR=m +CONFIG_CRYPTO_CTR=y # CONFIG_CRYPTO_CTS is not set # CONFIG_CRYPTO_ECB is not set # CONFIG_CRYPTO_LRW is not set @@ -2702,7 +2702,7 @@ CONFIG_CRYPTO_CTR=m # Hash modes # # CONFIG_CRYPTO_CMAC is not set -CONFIG_CRYPTO_HMAC=m +CONFIG_CRYPTO_HMAC=y # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_VMAC is not set @@ -2710,9 +2710,9 @@ CONFIG_CRYPTO_HMAC=m # Digest # CONFIG_CRYPTO_CRC32C=y -CONFIG_CRYPTO_CRC32=m +CONFIG_CRYPTO_CRC32=y CONFIG_CRYPTO_CRCT10DIF=y -CONFIG_CRYPTO_GHASH=m +CONFIG_CRYPTO_GHASH=y # CONFIG_CRYPTO_POLY1305 is not set # CONFIG_CRYPTO_MD4 is not set CONFIG_CRYPTO_MD5=y @@ -2761,12 +2761,12 @@ CONFIG_CRYPTO_LZO=y # Random Number Generation # # CONFIG_CRYPTO_ANSI_CPRNG is not set -CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_MENU=y CONFIG_CRYPTO_DRBG_HMAC=y # CONFIG_CRYPTO_DRBG_HASH is not set # CONFIG_CRYPTO_DRBG_CTR is not set -CONFIG_CRYPTO_DRBG=m -CONFIG_CRYPTO_JITTERENTROPY=m +CONFIG_CRYPTO_DRBG=y +CONFIG_CRYPTO_JITTERENTROPY=y # CONFIG_CRYPTO_USER_API_HASH is not set # CONFIG_CRYPTO_USER_API_SKCIPHER is not set # CONFIG_CRYPTO_USER_API_RNG is not set From 9d79e6098ff63068dde1e17847631cf820369708 Mon Sep 17 00:00:00 2001 From: AI Dev Date: Thu, 17 Sep 2026 18:38:26 +0000 Subject: [PATCH 2/2] gk7605v100: build the crypto modules in too, same 16KB overflow gk7605v100_lite is over its 5120KB cap by 16KB on master, exactly as gk7205v200_lite was, and for the same reason: nothing had built it lately. It surfaced in this PR's own matrix, which widened to the whole family because these board configs share BR2_OPENIPC_SOC_FAMILY="gk7205v200" -- the board has its own gk7605v100.generic.config, untouched by the previous commit. Its config carries the identical seventeen CONFIG_CRYPTO_* symbols at =m. Same change, same reasoning as the commit before this one. --- .../gk7205v200/gk7605v100.generic.config | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/br-ext-chip-goke/board/gk7205v200/gk7605v100.generic.config b/br-ext-chip-goke/board/gk7205v200/gk7605v100.generic.config index 13a3d1246e..58ffec5a8e 100644 --- a/br-ext-chip-goke/board/gk7205v200/gk7605v100.generic.config +++ b/br-ext-chip-goke/board/gk7205v200/gk7605v100.generic.config @@ -2537,26 +2537,26 @@ CONFIG_CRYPTO=y # CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI2=y -CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD=y CONFIG_CRYPTO_AEAD2=y CONFIG_CRYPTO_BLKCIPHER=y CONFIG_CRYPTO_BLKCIPHER2=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y -CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG=y CONFIG_CRYPTO_RNG2=y -CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_RNG_DEFAULT=y CONFIG_CRYPTO_AKCIPHER2=y CONFIG_CRYPTO_KPP2=y # CONFIG_CRYPTO_RSA is not set # CONFIG_CRYPTO_DH is not set # CONFIG_CRYPTO_ECDH is not set -CONFIG_CRYPTO_MANAGER=m +CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y # CONFIG_CRYPTO_USER is not set CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y -CONFIG_CRYPTO_GF128MUL=m -CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_GF128MUL=y +CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_NULL2=y CONFIG_CRYPTO_WORKQUEUE=y # CONFIG_CRYPTO_CRYPTD is not set @@ -2567,17 +2567,17 @@ CONFIG_CRYPTO_WORKQUEUE=y # # Authenticated Encryption with Associated Data # -CONFIG_CRYPTO_CCM=m -CONFIG_CRYPTO_GCM=m +CONFIG_CRYPTO_CCM=y +CONFIG_CRYPTO_GCM=y # CONFIG_CRYPTO_CHACHA20POLY1305 is not set -CONFIG_CRYPTO_SEQIV=m -CONFIG_CRYPTO_ECHAINIV=m +CONFIG_CRYPTO_SEQIV=y +CONFIG_CRYPTO_ECHAINIV=y # # Block modes # # CONFIG_CRYPTO_CBC is not set -CONFIG_CRYPTO_CTR=m +CONFIG_CRYPTO_CTR=y # CONFIG_CRYPTO_CTS is not set # CONFIG_CRYPTO_ECB is not set # CONFIG_CRYPTO_LRW is not set @@ -2589,7 +2589,7 @@ CONFIG_CRYPTO_CTR=m # Hash modes # # CONFIG_CRYPTO_CMAC is not set -CONFIG_CRYPTO_HMAC=m +CONFIG_CRYPTO_HMAC=y # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_VMAC is not set @@ -2597,9 +2597,9 @@ CONFIG_CRYPTO_HMAC=m # Digest # CONFIG_CRYPTO_CRC32C=y -CONFIG_CRYPTO_CRC32=m +CONFIG_CRYPTO_CRC32=y CONFIG_CRYPTO_CRCT10DIF=y -CONFIG_CRYPTO_GHASH=m +CONFIG_CRYPTO_GHASH=y # CONFIG_CRYPTO_POLY1305 is not set # CONFIG_CRYPTO_MD4 is not set CONFIG_CRYPTO_MD5=y @@ -2648,12 +2648,12 @@ CONFIG_CRYPTO_LZO=y # Random Number Generation # # CONFIG_CRYPTO_ANSI_CPRNG is not set -CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_MENU=y CONFIG_CRYPTO_DRBG_HMAC=y # CONFIG_CRYPTO_DRBG_HASH is not set # CONFIG_CRYPTO_DRBG_CTR is not set -CONFIG_CRYPTO_DRBG=m -CONFIG_CRYPTO_JITTERENTROPY=m +CONFIG_CRYPTO_DRBG=y +CONFIG_CRYPTO_JITTERENTROPY=y # CONFIG_CRYPTO_USER_API_HASH is not set # CONFIG_CRYPTO_USER_API_SKCIPHER is not set # CONFIG_CRYPTO_USER_API_RNG is not set