From 2cc8b3763e8b256058c237b5915341056d5e43fc Mon Sep 17 00:00:00 2001
From: Captain ALM <captainalm@captainalm.com>
Date: Sun, 23 Feb 2025 20:32:18 +0000
Subject: [PATCH] Add building a kernel upgrade to bash aliases.

---
 bash_aliases | 34 ++++++++++++++++++++++++++++++++--
 1 file changed, 32 insertions(+), 2 deletions(-)

diff --git a/bash_aliases b/bash_aliases
index 187c130..a2b4eee 100644
--- a/bash_aliases
+++ b/bash_aliases
@@ -25,13 +25,34 @@ function conda-activate() {
   eval "$(~/anaconda3/bin/conda shell.bash hook)";
 }
 function kernel-build-dep() {
+  lV="";
+  if [ -z $1 ]; then
+    lV=$(uname -r);
+  else
+    lV=$1;
+  fi
   echo "[+] Kernel Build Dependancy Installation...";
   sudo apt install gawk git dh-make llvm libclang-dev sbsigntool linux-libc-dev libperl-dev libpython3-dev libunwind-dev liblzma-dev lzma-dev libzstd-dev libnuma-dev libelf-dev libcap-dev linux-libc-dev;
   sudo apt install zlib1g-dev libclang1 zlib1g libbpf0 libzstd1 libnuma1 libelf1;
   sudo apt install libpython3.10 libunwind8 liblzma5 libcap-ng0 libcap2;
-  sudo apt build-dep linux-image-unsigned-$(uname -r);
+  sudo apt build-dep linux-image-unsigned-$lV;
+}
+function kernel-build-upgrade-dep() {
+  sudo apt update;
+  kT=$(uname -r | sed -e 's/.*-\(.*\).*/\1/');
+  kVS=$(apt list --upgradable 2>/dev/null | grep "linux-$kT" | sed -e 's/.*\s\(.*\)\s.*\s.*\s.*\s.*/\1/');
+  kVM=$(echo -n "$kVS" | sed -e 's/\(.*\)\..*\..*/\1/');
+  kVB=$(echo -n "$kVS" | sed -e 's/.*\.\(.*\).*\..*/\1/');
+  lV="$kVM-$kVB-$kT";
+  kernel-build-dep $lV;
 }
 function kernel-build() {
+  lV="";
+  if [ -z $1 ]; then
+    lV=$(uname -r);
+  else
+    lV=$1;
+  fi
   echo "[+] Kernel Build Starting...";
   cwd=$(pwd);
   mkdir -p ~/kernel;
@@ -65,7 +86,7 @@ function kernel-build() {
       touch dummy.deb;
       mv *.deb old-debs/;
       echo "[+] Obtaining Sources...";
-      apt-get source linux-image-unsigned-$(uname -r);
+      apt-get source linux-image-unsigned-$lV;
       if [ $? -eq 0 ]; then
         for _dir in *"linux"*; do
           [ -d "${_dir}" ] && linuxdir="${_dir}" && break;
@@ -148,6 +169,15 @@ function kernel-build() {
     fi;
   fi;
 }
+function kernel-build-upgrade() {
+  sudo apt update;
+  kT=$(uname -r | sed -e 's/.*-\(.*\).*/\1/');
+  kVS=$(apt list --upgradable 2>/dev/null | grep "linux-$kT" | sed -e 's/.*\s\(.*\)\s.*\s.*\s.*\s.*/\1/');
+  kVM=$(echo -n "$kVS" | sed -e 's/\(.*\)\..*\..*/\1/');
+  kVB=$(echo -n "$kVS" | sed -e 's/.*\.\(.*\).*\..*/\1/');
+  lV="$kVM-$kVB-$kT";
+  kernel-build $lV;
+}
 function install-tar() {
   if [ $# -gt 0 ]; then
     if [ $# -eq 1 ]; then