#!/bin/bash

run_cmd() {
    "$@" || echo "Произошла ошибка при выполнении команды: $*" >&2
    return 0
}

write_file() {
    echo "$1" > "$2" || echo "Произошла ошибка при записи в файл: $2" >&2
    return 0
}

unpack_kernel() {
    gunzip -c /boot/vmlinuz-6.12.9.4-repka-pi4 > /boot/vmlinuz-6.12.9.4-repka-pi4_unpack || echo "Произошла ошибка при выполнении команды: gunzip -c /boot/vmlinuz-6.12.9.4-repka-pi4 > /boot/vmlinuz-6.12.9.4-repka-pi4_unpack" >&2
    return 0
}

unpack_kernel

run_cmd rm -f /boot/vmlinuz-6.12.9.4-repka-pi4

run_cmd mv /boot/vmlinuz-6.12.9.4-repka-pi4_unpack /boot/vmlinuz-6.12.9.4-repka-pi4

run_cmd ln -sf /boot/vmlinuz-6.12.9.4-repka-pi4 /boot/Image

run_cmd dpkg --purge linux-dtb-edge-sunxi64
run_cmd dpkg --purge linux-headers-
run_cmd dpkg --purge linux-headers-6.12.9
run_cmd dpkg --purge linux-headers-6.6.44
run_cmd dpkg --purge linux-headers-edge-sunxi64
run_cmd dpkg --purge linux-image-
run_cmd dpkg --purge linux-image-6.12.9
run_cmd dpkg --purge linux-image-6.6.44
run_cmd dpkg --purge linux-image-edge-sunxi64

write_file repka-fan /etc/modules-load.d/repka-fan.conf

write_file "options repka-fan pin_num=117" /etc/modprobe.d/repka-fan.conf

whiptail --title "Обновление Repka OS" --msgbox "Для того, чтобы изменения вступили в силу, необходимо перезагрузить вашу Repka Pi 4.\nЭто можно сделать с помощью команды 'reboot'." 10 60

exit 0

