]> Freerunner's - dotfiles.git/commitdiff
upgrayyedd: genkernel is deprecated now, switch to manual build
authorAndre Ramnitz <tux.rising@gmail.com>
Wed, 2 Apr 2025 05:55:05 +0000 (07:55 +0200)
committerAndre Ramnitz <tux.rising@gmail.com>
Wed, 2 Apr 2025 05:55:05 +0000 (07:55 +0200)
dot-local/bin/upgrayyedd

index 8e0e22d315bb800e6056206d46aad4d9c5a8a360..300546fae0b22abdf07d405d69bae287a6bac3ee 100755 (executable)
@@ -32,17 +32,52 @@ case "$1" in
         ;;
     depclean)
         $precmd /usr/bin/emerge -a --depclean "${@:2}"
+        exit 0
         ;;
     kbuild-gentoo)
-        $precmd /usr/bin/genkernel all --kernel-config=/usr/src/config-gentoo "${@:3}"
+               MOSTRECENT=$(command ls -1 /usr/src/ | grep -P "^linux-(\\d+\\.)?(\\d+\\.)?(\\*|\\d+)-gentoo$" | tail -n1)
+               test -h "/usr/src/linux" && sudo rm -f "/usr/src/linux"
+               sudo ln -sf "/usr/src/${MOSTRECENT}/" "/usr/src/linux"
+               echo "Building $MOSTRECENT"
+               echo ""
+               cd "/usr/src/linux" || exit 1
+               sudo make mrproper
+               sudo cp "/usr/src/config-gentoo" "./.config" || exit 1
+               sudo schedtool -B -n \-19 -e make oldconfig
+               sudo schedtool -B -n \-19 -e make modules_prepare
+               sudo schedtool -B -n \-19 -e make -j28 || exit 1
+               sudo emerge @module-rebuild
+               sudo schedtool -B -n \-19 -e make modules_install
+               sudo schedtool -B -n \-19 -e make install
+               echo "Build completed. Remember to upgrayyedd /usr/src/config-* if necessary."
+               exit 0
         ;;
     kbuild-git)
-        $precmd /usr/bin/genkernel all --kernel-config=/usr/src/config-git "${@:3}"
+               MOSTRECENT=$(command ls -1 /usr/src/ | grep -P "^linux-(\\d+\\.)?(\\*|\\d+)-rc" | tail -n1)
+               test -n "$MOSTRECENT" || exit 1
+               test -h "/usr/src/linux" && sudo rm -f "/usr/src/linux"
+               sudo ln -sf "/usr/src/${MOSTRECENT}/" "/usr/src/linux"
+               echo "Building $MOSTRECENT"
+               echo ""
+               cd "/usr/src/linux" || exit 1
+               sudo make mrproper
+               sudo cp "/usr/src/config-git" "./.config" || exit 1
+               sudo schedtool -B -n \-19 -e make oldconfig
+               sudo schedtool -B -n \-19 -e make modules_prepare
+               sudo schedtool -B -n \-19 -e make -j28 || exit 1
+               sudo emerge @module-rebuild
+               sudo schedtool -B -n \-19 -e make modules_install
+               sudo schedtool -B -n \-19 -e make install
+               echo "Build completed. Remember to upgrayyedd /usr/src/config-* if necessary."
+               exit 0
         ;;
     kbuild-server)
         $precmd /usr/bin/genkernel all --kernel-config=/usr/src/config-server "${@:3}"
         ;;
     clean-kernels)
+        echo "Relevant files in /boot:"
+               echo ""
+        command ls -1 --hide='*/' /boot/System.map* /boot/initramfs* /boot/vmlinuz*
         $precmd eclean-kernel -aA -L std
         ;;
     log)