Presumably following !3560 (merged), the post-upgrade script for postmarketos-mkinitfs fails because dd: error writing '/dev/mmcblk2p5': No space left on device. This affects p4note, and likely also other Exynos4 devices such as samsung-m0. The kernel currently present on v22.06 is fine.
Edited
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items 0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items 0
Link issues together to show that they're related.
Learn more.
Yup facing the same issue on samsung-espresso3g, the support of more features in kernel makes the size too big for our devices (with 8mb limit).
In the future this will no doubtably increase, so why not use a minimal config for devices with small boot partitions?
Can we reduce the initramfs size, either by removing things we don't need or by compressing it better?
Flash a bootloader in the partition that loads the kernel + initramfs from another partition?
As proposed by @sicelo, add a mechanism to disable certain kernel options for some devices. Not my favorite solution, I'd rather have them consistent across all devices in main and community. But if we don't have a choice... maybe the easiest version of that would be changing the CI test so it doesn't fail anymore for some devices.
Flash a bootloader in the partition that loads the kernel + initramfs from another partition?
It's something I'd like to do, but the U-Boot port for samsung-m0 only works if you use it to replace S-Boot. If you put it on the kernel partition, it doesn't work. I'm not willing to require users to do something that risky.
Can we reduce the initramfs size, either by removing things we don't need or by compressing it better?
Most of the size of the modules dir, at least for the amd64 initramfs built for the qemu image, is in these modules.* files. How do these work, are they all required at boot? Why is there a modules.dep that's an ascii text file, and a modules.dep.bin that's a binary file (and thus probably not likely to compress very well...) ?
/tmp/initramfs/lib/modules/5.15.79-0-lts # ls -lahtotal 4.7Mdrwxr-xr-x 3 root root 4.0K Nov 18 21:33 .drwxr-xr-x 3 root root 4.0K Nov 18 21:33 ..drwxr-xr-x 7 root root 4.0K Nov 18 21:33 kernel-rw-r--r-- 1 root root 1.1M Nov 18 21:33 modules.alias-rw-r--r-- 1 root root 1.1M Nov 18 21:33 modules.alias.bin-rw-r--r-- 1 root root 4.7K Nov 18 21:33 modules.builtin-rw-r--r-- 1 root root 3.7K Nov 18 21:33 modules.builtin.alias.bin-rw-r--r-- 1 root root 7.4K Nov 18 21:33 modules.builtin.bin-rw-r--r-- 1 root root 37K Nov 18 21:33 modules.builtin.modinfo-rw-r--r-- 1 root root 492K Nov 18 21:33 modules.dep-rw-r--r-- 1 root root 642K Nov 18 21:33 modules.dep.bin-rw-r--r-- 1 root root 458 Nov 18 21:33 modules.devname-rw-r--r-- 1 root root 134K Nov 18 21:33 modules.order-rw-r--r-- 1 root root 1.4K Nov 18 21:33 modules.softdep-rw-r--r-- 1 root root 555K Nov 18 21:33 modules.symbols-rw-r--r-- 1 root root 671K Nov 18 21:33 modules.symbols.bin
I'm not sure if these exist in other initramfs images created for other devices though... so maybe this is a red herring for helping this particular situation.
@craftyguy has WIP patches to use different compression methods for the initramfs, this could probably be used soon -> could use zstd?
@z3ntu figured that we don't compress the kernel modules for all kernels, we might be able to save a good amount of space there (still gets compressed with gzip with the rest of the initramfs currently)
@MightyM17: do you want to give compressing the kernel modules a try?
no, it wouldn't directly reduce the size of the kernel, but it would possibly free up some space in the boot partition that could be occupied by the kernel.