🧪 test(kernel_cmdline update):

This commit is contained in:
Eshan Roy
2024-08-01 04:16:20 +05:30
parent aed645c7e2
commit e2f8b43838

View File

@@ -1,5 +1,5 @@
#!/bin/bash #!/bin/bash
# set -e set -e
# Author : Eshan Roy <eshan@snigdhaos.or> # Author : Eshan Roy <eshan@snigdhaos.or>
# Author URL : https://eshanized.github.io/ # Author URL : https://eshanized.github.io/
@@ -8,78 +8,63 @@ echo
echo "--->> Start snigdhaos-fixes <<---" echo "--->> Start snigdhaos-fixes <<---"
echo echo
kernel_cmdline() { get_kernel_param() {
# shellcheck disable=SC2013 local param=$1
for param in $(cat /proc/cmdline); do local default=$2
case "${param}" in local value
$1=*) echo "${param##*=}"; return 0 ;;
$1) return 0 ;; value=$(cat /proc/cmdline | tr ' ' '\n' | grep "^${param}=" | cut -d '=' -f 2-)
*) continue ;; echo "${value:-${default}}"
esac
done
[ -n "${2}" ] && echo "${2}"
return 1
} }
get_driver(){ get_driver() {
# shellcheck disable=SC2005 get_kernel_param driver
# shellcheck disable=SC2046
echo $(kernel_cmdline driver)
} }
while [ -e "/var/lib/pacman/db.lck" ]; wait_for_pacman() {
do local timeout=30
echo 'Pacman is not ready yet. Trying in 10 Seconds.' local interval=5
seconds=$(($seconds + 5))
sleep 5 while [ -e "/var/lib/pacman/db.lck" ]; do
if [[ "$seconds" == "30" ]]; then echo "Pacman is not ready yet. Trying in ${interval} seconds."
sleep ${interval}
((timeout -= interval))
if ((timeout <= 0)); then
echo "Snigdha OS Removing Pacman db.lck!" echo "Snigdha OS Removing Pacman db.lck!"
rm /var/lib/pacman/db.lck rm /var/lib/pacman/db.lck
fi fi
done done
}
selection=$(get_driver) selection=$(get_driver)
echo echo
# shellcheck disable=SC2086 echo "Your Selection: ${selection}"
echo "Your Selection : "$selection
echo echo
# free = remove nvidia-dkms keep nouveau case ${selection} in
free)
if [[ $selection == "free" ]]; then
echo
echo "Removing nvidia-dkms..." echo "Removing nvidia-dkms..."
echo
pacman -Rns --noconfirm nvidia-dkms nvidia-utils nvidia-settings egl-wayland pacman -Rns --noconfirm nvidia-dkms nvidia-utils nvidia-settings egl-wayland
cp /etc/calamares/settings-advanced-no-nvidia.conf /etc/calamares/settings-advanced.conf cp /etc/calamares/settings-advanced-no-nvidia.conf /etc/calamares/settings-advanced.conf
fi ;;
freenonouveau)
# freenonouveau = remove nvidia-dkms and nouveau
if [[ $selection == "freenonouveau" ]]; then
echo
echo "Removing nvidia-dkms, nonouveau..." echo "Removing nvidia-dkms, nonouveau..."
echo
pacman -Rns --noconfirm nvidia-dkms nvidia-utils nvidia-settings egl-wayland xf86-video-nouveau pacman -Rns --noconfirm nvidia-dkms nvidia-utils nvidia-settings egl-wayland xf86-video-nouveau
cp /etc/calamares/settings-advanced-no-nvidia.conf /etc/calamares/settings-advanced.conf cp /etc/calamares/settings-advanced-no-nvidia.conf /etc/calamares/settings-advanced.conf
fi ;;
nonfree)
# nonfree = keep nvidia and nonouveau
if [[ $selection == "nonfree" ]]; then
echo
echo "Keep nvidia and nonouveau" echo "Keep nvidia and nonouveau"
echo ;;
fi nonfreenonouveau)
# nonfreenonouveau = keep nvidia-dkms only
if [[ $selection == "nonfreenonouveau" ]]; then
echo
echo "Keep nvidia-dkms; removing nonouveau" echo "Keep nvidia-dkms; removing nonouveau"
echo
pacman -Rns --noconfirm xf86-video-nouveau pacman -Rns --noconfirm xf86-video-nouveau
fi ;;
*)
echo "Invalid selection: ${selection}"
exit 1
;;
esac
echo echo
echo "--->> End snigdhaos-fixes <<---" echo "--->> End snigdhaos-fixes <<---"