diff --git a/script/post-upgrade.sh b/script/post-upgrade.sh index cf1c0e8..ea2c1bb 100644 --- a/script/post-upgrade.sh +++ b/script/post-upgrade.sh @@ -108,6 +108,25 @@ eselect bzimage set 1 # Merging defaults configurations echo -5 | equo conf update +# Dracut initramfs generation for livecd +# If you are reading this ..beware! this step should be re-done by Installer post-install, without the options needed to boot from live! (see kernel eclass for reference) +current_kernel=$(equo match --installed "${kernel_target_pkg}" -q --showslot) #Update it! we may have upgraded +if equo s --verbose --installed $current_kernel | grep -q " dracut"; then + + #ACCEPT_LICENSE=* equo upgrade # upgrading all. this ensures that minor kernel upgrades don't breaks dracut initramfs generation + # Getting Package name and slot from current kernel (e.g. current_kernel=sys-kernel/linux-sabayon:4.7 -> K_SABKERNEL_NAME = linux-sabayon-4.7 ) + PN=${current_kernel##*/} + K_SABKERNEL_NAME="${K_SABKERNEL_NAME:-${PN/${PN/-/}-}}" + K_SABKERNEL_NAME="${K_SABKERNEL_NAME/:/-}" + + # Grab kernel version from RELEASE_LEVEL + kver=$(cat /etc/kernels/$K_SABKERNEL_NAME*/RELEASE_LEVEL) + karch=$(uname -m) + echo "Generating dracut for kernel $kver arch $karch" + dracut -N -a dmsquash-live -a pollcdrom -o systemd -o systemd-initrd -o systemd-networkd -o dracut-systemd --force --kver=${kver} /boot/initramfs-genkernel-${karch}-${kver} + +fi + # Cleanup Perl cruft perl-cleaner --ph-clean