fix-kernel-install.bash: just store the machine-id to a variable as it's called so much

This commit is contained in:
Aminda Suomalainen 2024-05-03 20:02:38 +03:00
parent 41c37b0c9b
commit b48f55e835
Signed by: Mikaela
SSH Key Fingerprint: SHA256:CXLULpqNBdUKB6E6fLA1b/4SzG0HvKD19PbIePU175Q

View File

@ -7,14 +7,19 @@ export LC_ALL=C.utf8
# Check for existence of /etc/machine-id/
if [ -f /etc/machine-id ]; then
# How about we just store the machine-id instead of fetching it
# constantly?
MACHINEID="$(cat /etc/machine-id)"
#echo "Our machine-id is $MACHINEID"
# Check for existence of the /boot/<machine-id> directory
if [ -d /boot/efi/"$(cat /etc/machine-id)" ]; then
if [ -d /boot/efi/"$MACHINEID" ]; then
# Store the latest installed kernel to $EXPECTEDKERNEL
EXPECTEDKERNEL="$(find /lib/modules -maxdepth 1 -printf '%P\n' | sort | tail -n -1)"
# And actual kernel in the boot/efi directory
ACTUALKERNEL="$(find /boot/efi/"$(cat /etc/machine-id)"/ -maxdepth 1 -printf '%P\n' | sort | tail -n -1)"
ACTUALKERNEL="$(find /boot/efi/"$MACHINEID"/ -maxdepth 1 -printf '%P\n' | sort | tail -n -1)"
# Are they the same? Everything OK!
if [ "$EXPECTEDKERNEL" == "$ACTUALKERNEL" ]; then
@ -22,7 +27,7 @@ if [ -f /etc/machine-id ]; then
else
printf "\nWARNING! Kernels mismatch! Suggested actions:\n"
printf "\tsudo mkdir /boot/\"$(cat /etc/machine-id)\"/%b\n" "$EXPECTEDKERNEL"
printf "\tsudo mkdir /boot/%b\"/%b\n" "$EXPECTEDKERNEL" "$EXPECTEDKERNEL"
printf "\tsudo kernel-install add %b /lib/modules/%b/vmlinuz\n" "$EXPECTEDKERNEL" "$EXPECTEDKERNEL"
fi
fi