diff --git a/self_compilation.sh b/self_compilation.sh
index c39dfe781d8012317f931ae0bab70158ece0218b..6a86e95f4c7b64bc37c805e74f33fb85c6069107 100644
--- a/self_compilation.sh
+++ b/self_compilation.sh
@@ -103,18 +103,20 @@ fi
make -j $(nproc --all)
make modules_install INSTALL_MOD_STRIP=1 install
+function install_kernel() {
+declare -r distroId="$(awk -F= '$1=="ID"{print $NF}' /etc/os-release)"
case "${distroId,,}" in
*void*)
cp ./arch/x86_64/boot/bzImage /boot/vmlinuz-"$KVER"
- dracut --kver "$KVER" --force
- grub-mkconfig -o /boot/grub/grub.cfg
- xbps-reconfigure -fa
- /usr/bin/update-grub
+ dracut --kver "$KVER" --force
+ grub-mkconfig -o /boot/grub/grub.cfg
+ xbps-reconfigure -fa
+ /usr/bin/update-grub
return 0
;;
*debian*|*ubuntu*)
cp ./arch/x86_64/boot/bzImage /boot/vmlinuz-"$KVER"
- dracut --kver "$KVER" --force
+ dracut --kver "$KVER" --force
update-grub2
return 0
;;
@@ -126,7 +128,11 @@ case "${distroId,,}" in
printf '%s\n' "Unable to detect Operating System!" >&2
return 1
;;
- esac
+esac
+}
+
+install_kernel
+
# Remove sysmap/signing keys