From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 3 Jun 2021 18:17:17 +0200 From: Alexey Gladkov To: make-initrd@lists.altlinux.org Message-ID: <20210603161717.vszsijncigxqfpwp@example.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit Subject: [make-initrd] Two words about initramfs size X-BeenThere: make-initrd@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: make-initrd@lists.altlinux.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jun 2021 16:17:19 -0000 Archived-At: List-Archive: Привет! Я попробовал посмотреть на самые тяжёлые компоненты, которые попадают в initramfs. Я сделал initramfs для системы с корнем на разделе. Так что никаких дополнительных фичей не нужно для такой системы. $ find initramfs/ -type f -printf '%s\t%p\n' |sort -k1,1 -g |tail -20 237896 initramfs/lib64/ld-2.32.so 280896 initramfs/lib64/libpcre.so.3.15.12 308856 initramfs/lib64/libreadline.so.7.0 321792 initramfs/lib/firmware/i915/tgl_guc_49.0.1.bin 324160 initramfs/lib/firmware/i915/ehl_guc_49.0.1.bin 324160 initramfs/lib/firmware/i915/icl_guc_49.0.1.bin 324560 initramfs/lib64/libblkid.so.1.1.0 329596 initramfs/lib/modules/5.12.0/kernel/drivers/gpu/drm/drm.ko.xz 383088 initramfs/lib64/libmount.so.1.1.0 433276 initramfs/lib/modules/5.12.0/kernel/net/ipv6/ipv6.ko.xz 498880 initramfs/lib/firmware/i915/ehl_huc_9.0.0.bin 498880 initramfs/lib/firmware/i915/icl_huc_9.0.0.bin 542912 initramfs/bin/busybox 580736 initramfs/lib/firmware/i915/tgl_huc_7.5.0.bin 644952 initramfs/bin/sh4 766656 initramfs/bin/bash4 1061928 initramfs/sbin/udevadm 1780956 initramfs/lib/modules/5.12.0/kernel/drivers/gpu/drm/i915/i915.ko.xz 1851568 initramfs/lib64/libc-2.32.so 2971824 initramfs/lib64/libcrypto.so.1.1 Тут видно сразу несколько проблем в контексте размера. * guess-drm положил i915 модуль, который является очень тяжёлым и тянет за собой много жирных firmware. * В образ попали sh4 и bash4. Это произошло из-за того, что на этой системе /bin/sh -> sh4. * В образ пролез openssl. $ for f in initramfs{,/usr}/{,s}bin/*; do ldd "$f" 2>/dev/null |grep -Fqs lib64/libcrypto.so && echo $f; done initramfs/bin/kmod initramfs/sbin/depmod initramfs/sbin/lsmod initramfs/sbin/modprobe initramfs/sbin/udevadm initramfs/sbin/udevd -- Rgrds, legion