I've noticed that I'm no longer able to build images for the Compex WPJ428 since the switch to kernel version 5.15.
There are also no official trunk images anymore.
I would like to give reducing the size a go but, tbh, I don't really know how to go about it.
Ā£ size */built-in.a | sort -n -k 4 | less | tail
46508 7836 1567 55911 da67 kernel/cgroup/cgroup.o (ex kernel/built-in.a)
54323 610 1184 56117 db35 net/ipv6/addrconf.o (ex net/built-in.a)
76369 39 4 76412 12a7c fs/io_uring.o (ex fs/built-in.a)
86014 1948 36 87998 157be net/core/dev.o (ex net/built-in.a)
90219 1165 96 91480 16558 net/core/filter.o (ex net/built-in.a)
91969 254 16 92239 1684f net/core/devlink.o (ex net/built-in.a)
112114 41 12 112167 1b627 kernel/bpf/verifier.o (ex kernel/built-in.a)
121671 0 0 121671 1db47 lib/zstd/compress.o (ex lib/built-in.a)
21472 410912 140731 573115 8bebb kernel/printk/printk.o (ex kernel/built-in.a)
18697732 0 0 18697732 11d4e04 usr/initramfs_data.o (ex usr/built-in.a)
Removing packages has no impact at all on the kernel size, which is a single static binary executable.
Total image size (which is the only thing you could influence by removing packages) seems to be limited to IMAGE_SIZE := 31232k, which is plenty.
Kernel size appears to be limited to KERNEL_SIZE := 4096k, which should be sufficient at this point (kernel size in master is just above 3 MB), so I don't really think why the kernel size would be a reason (but it defaults to not being built nevertheless).
When you remove modules from the kernel you would need to reinstall the kmod packages after the system is up and running - then they will be in the overlay rather than the kernel.
I was hoping to get the module to land in the compressed ROM under /lib/modules/ because installing packages after a sysupgrade is hard to automate. opkg isn't even present in my current image.
Indeed, all my selected modules lie in /lib/modules/ already?!
How comes the ITB is smaller after de-selecting batman if the modules lie in the ROM-portion of the image?
Well, disabling batman-adv works for now but I'll likely come back to this.
i'm selecting a few kernel modules like veth, tun, batman-adv, l2tp, and usb-serial.
i wasn't aware that make kernel_menuconfig saved my changes.
the reason it works now is that i disabled a few modules around ubifs there.
ubifs depends on zstd and that is huuuge. everything appears to work without ubifs.