From: Michael Prokop Date: Fri, 4 Dec 2020 11:50:02 +0000 (+0100) Subject: Avoid overlay files of libnss* ending up in initramfs X-Git-Tag: debian/1%20210208+grml.1~3 X-Git-Url: http://git.grml.org/?p=live-boot-grml.git;a=commitdiff_plain;h=9d4ad8c0c81275ddf2f1bbfceb105eef78bc8bb7 Avoid overlay files of libnss* ending up in initramfs When the initramfs gets generated on a booted/running live system, then we end up with unexpected files in the initramfs: | root@grml ~ # lsinitramfs /boot/initrd.img-5.6.0-2-amd64 | grep squash | usr/lib/live/mount/overlay/rw/var/tmp/mkinitramfs_pPceGY/usr/lib/live/mount/rootfs/grml64-full.squashfs | usr/lib/live/mount/overlay/rw/var/tmp/mkinitramfs_pPceGY/usr/lib/live/mount/rootfs/grml64-full.squashfs/lib | usr/lib/live/mount/overlay/rw/var/tmp/mkinitramfs_pPceGY/usr/lib/live/mount/rootfs/grml64-full.squashfs/lib/x86_64-linux-gnu | usr/lib/live/mount/overlay/rw/var/tmp/mkinitramfs_pPceGY/usr/lib/live/mount/rootfs/grml64-full.squashfs/lib/x86_64-linux-gnu/libnss_dns-2.30.so | usr/lib/live/mount/overlay/rw/var/tmp/mkinitramfs_pPceGY/usr/lib/live/mount/rootfs/grml64-full.squashfs/lib/x86_64-linux-gnu/libnss_dns.so.2 | usr/lib/live/mount/overlay/rw/var/tmp/mkinitramfs_pPceGY/usr/lib/live/mount/rootfs/grml64-full.squashfs/lib/x86_64-linux-gnu/libnss_files-2.30.so | usr/lib/live/mount/overlay/rw/var/tmp/mkinitramfs_pPceGY/usr/lib/live/mount/rootfs/grml64-full.squashfs/lib/x86_64-linux-gnu/libnss_files.so.2 | usr/lib/live/mount/rootfs/grml64-full.squashfs | usr/lib/live/mount/rootfs/grml64-full.squashfs/lib | usr/lib/live/mount/rootfs/grml64-full.squashfs/lib/x86_64-linux-gnu | usr/lib/live/mount/rootfs/grml64-full.squashfs/lib/x86_64-linux-gnu/libnss_dns-2.30.so | usr/lib/live/mount/rootfs/grml64-full.squashfs/lib/x86_64-linux-gnu/libnss_dns.so.2 | usr/lib/live/mount/rootfs/grml64-full.squashfs/lib/x86_64-linux-gnu/libnss_files-2.30.so | usr/lib/live/mount/rootfs/grml64-full.squashfs/lib/x86_64-linux-gnu/libnss_files.so.2 | usr/lib/modules/5.6.0-2-amd64/kernel/fs/squashfs | usr/lib/modules/5.6.0-2-amd64/kernel/fs/squashfs/squashfs.ko This is caused by the find command, spotting files from /lib/live/mount/rootfs/grml64-full.squashfs: | root@grml ~ # find /lib /usr/lib -name 'libnss_dns.so.*' -o -name 'libnss_files.so.*' | /lib/live/mount/rootfs/grml64-full.squashfs/lib/x86_64-linux-gnu/libnss_dns.so.2 | /lib/live/mount/rootfs/grml64-full.squashfs/lib/x86_64-linux-gnu/libnss_files.so.2 | /lib/x86_64-linux-gnu/libnss_dns.so.2 | /lib/x86_64-linux-gnu/libnss_files.so.2 Avoid this by filtering out files with `/lib/live`. --- diff --git a/backend/initramfs-tools/live.hook b/backend/initramfs-tools/live.hook index 4039345..7a2bd13 100755 --- a/backend/initramfs-tools/live.hook +++ b/backend/initramfs-tools/live.hook @@ -246,7 +246,7 @@ fi # libnss_files.so.*: /etc/hosts and /etc/passwd # libnss_compat.so.*: /etc/passwd -for _SHLIB in $(find /lib /usr/lib -name 'libnss_dns.so.*' -o -name 'libnss_files.so.*') +for _SHLIB in $(find /lib /usr/lib -name 'libnss_dns.so.*' -o -name 'libnss_files.so.*' | grep -v '/lib/live') do copy_exec "${_SHLIB}" done