#!/bin/sh # Handle systems where /lib is not merged in /usr/lib if [ ! -h /lib ]; then mv /usr/lib/live/config/* /lib/live/config/ fi # Manually enabling pulseaudio for root since autospawning does # not work for root # See https://bugs.kali.org/view.php?id=2392 systemctl --user enable pulseaudio.service || true # Enable cryptsetup in the initramfs for later use if the user # adds an encrypted persistence partition. # This is until https://bugs.debian.org/908220 has a proper fix. if [ -e /etc/cryptsetup-initramfs/conf-hook ]; then if grep -q '^#CRYPTSETUP=' /etc/cryptsetup-initramfs/conf-hook; then sed -i -e 's/^#CRYPTSETUP=.*/CRYPTSETUP=y/' /etc/cryptsetup-initramfs/conf-hook else echo "CRYPTSETUP=y" >>/etc/cryptsetup-initramfs/conf-hook fi fi # Disable the udev rules renaming the network interfaces (can also be # achieved with kernel command line net.ifnames=0 but we don't have a nice # way to set it on the installed system) mkdir -p /etc/systemd/network /etc/udev/rules.d ln -sf /dev/null /etc/systemd/network/90-mac-for-usb.link ln -sf /dev/null /etc/systemd/network/99-default.link echo > /etc/udev/rules.d/73-special-net-names.rules # Rebuild the initramfs to include the last two changes (cryptsetup, # network device) update-initramfs -u # Run updatedb to initialize the database for the locate command if [ -x "$(which updatedb 2>/dev/null)" ]; then updatedb fi # Mark kernel related packages on hold so that they are not upgraded in # the live system for pkg in $(dpkg-query -W -f'${binary:Package}\n' 'linux-image-*' 'linux-headers-*' 'linux-kbuild-*') do apt-mark hold $pkg done