temp-monitor/Module/helper.sh
2024-12-07 16:25:28 -08:00

37 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
MODULE_NAME="tempMonitor"
DEVICE_NAME="/dev/temp_monitor"
echo "What would you like to do?"
echo "1. Install"
echo "2. Uninstall"
read -p "Enter option [1 or 2]: " option
case $option in
1)
echo "Installing the kernel module..."
make clean
make
sudo rmmod $MODULE_NAME 2>/dev/null
sudo insmod ${MODULE_NAME}.ko
MAJOR_NUMBER=$(sudo dmesg | grep "temp_monitor: Device initialized with major number" | tail -1 | awk '{print $NF}')
if [ -z "$MAJOR_NUMBER" ]; then
echo "Failed to get major number from dmesg. Aborting."
exit 1
fi
sudo mknod $DEVICE_NAME c $MAJOR_NUMBER 0
sudo chmod 666 $DEVICE_NAME
echo "Module installed and device file created successfully."
;;
2)
echo "Uninstalling the kernel module..."
sudo rmmod $MODULE_NAME
sudo rm -f $DEVICE_NAME
echo "Module and device file removed successfully."
;;
*)
echo "Invalid option."
;;
esac