mirror of
https://github.com/Snigdha-OS/snigdhaos-system-installation.git
synced 2025-09-21 22:04:55 +02:00
🧪 test(kernel_cmdline update):
This commit is contained in:
@@ -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 <<---"
|
||||||
|
Reference in New Issue
Block a user