From 544c24e158c763cbe9d556bcf751d22e6eaeb64c Mon Sep 17 00:00:00 2001 From: Ettore Di Giacinto Date: Fri, 23 Sep 2016 23:39:24 +0200 Subject: [PATCH] inner_source_chroot_update: enable support for dracut kernels --- scripts/inner_source_chroot_update.sh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/scripts/inner_source_chroot_update.sh b/scripts/inner_source_chroot_update.sh index 11841a0..39cbe8d 100755 --- a/scripts/inner_source_chroot_update.sh +++ b/scripts/inner_source_chroot_update.sh @@ -123,6 +123,26 @@ for conf in 00-sabayon.package.use 00-sabayon.package.mask \ fi done +# 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 + + # Update /usr/portage/profiles # This is actually not strictly needed but several # gentoo tools expect to find valid /etc/make.profile symlink