Avoid overlay files of libnss* ending up in initramfs
authorMichael Prokop <mika@grml.org>
Fri, 4 Dec 2020 11:50:02 +0000 (12:50 +0100)
committerMichael Prokop <mika@grml.org>
Fri, 4 Dec 2020 11:50:02 +0000 (12:50 +0100)
commit9d4ad8c0c81275ddf2f1bbfceb105eef78bc8bb7
tree759d5317e17484b33c0ad482b938b4b4115c10bc
parentbddce838f227f16c4c54fa0b805ca44c3624c207
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`.
backend/initramfs-tools/live.hook