lf-updr/lf-updr.sh

67 lines
1.8 KiB
Bash
Raw Normal View History

2024-10-20 13:59:37 +02:00
#!/bin/bash
####################################
# lf-updr - Linux Firmware Updater #
# Author: q3aql@duck.com #
# License: GPLv2.0 #
####################################
# Repo Linux Firmware
repo_firmware="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"
branch="main"
dir_repo="/usr/lib/firmware"
echo "** lf-updr - Linux Firmware Updater **"
echo ""
# Check if process have root permissions
mkdir -p /etc/root &> /dev/null
administrador=$?
if [ ${administrador} -eq 0 ] ; then
rm -rf /etc/root
else
echo "* Root permissions are required"
exit
fi
# Check dependencies
path_check="/usr/bin /usr/sbin/ /bin /sbin/ /usr/local/bin $HOME/.local/bin $(brew --prefix 2> /dev/null)/bin"
dependencies="git update-initramfs"
dependencies_found=""
dependencies_not_found=""
for checkPath in $path_check ; do
for checkDependencies in $dependencies ; do
if [ -f $checkPath/$checkDependencies ] ; then
dependencies_found="$dependencies_found $checkDependencies"
fi
done
done
for notFound in $dependencies ; do
check_found_one=$(echo $dependencies_found | grep " $notFound")
check_found_two=$(echo $dependencies_found | grep "$notFound ")
if_not_found="$check_found_one$check_found_two"
if [ -z "$if_not_found" ] ; then
dependencies_not_found="$dependencies_not_found $notFound"
fi
done
# Show if all tools are installed
if [ -z "$dependencies_not_found" ] ; then
echo > /dev/null
else
echo "* Some required tools are not installed:$dependencies_not_found"
exit 1
fi
# Update linux-firmware
echo "* Updating linux-firmware"
if [ -d ${dir_repo} ] ; then
cd ${dir_repo}
git pull origin ${branch}
fi
# Run update-initramfs
echo "* Running update-initramfs"
if [ -x /usr/sbin/update-initramfs ]; then
/usr/sbin/update-initramfs -u -k all
fi