You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ublinux-init/ublinux/rc.preinit.d/50-xorg

48 lines
2.5 KiB

#!/bin/bash
#
# Initial script for UBLinux
# This script are launching before starting init from initrd script
# Current dir allways must be set to root (/)
# All system path must be relative, except initrd dirs
ENABLED=yes
[[ ${ENABLED} == "yes" ]] || exit 0
DEBUGMODE=no
PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin
[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS} "; }
SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@"
SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/desktop; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/video; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
exec_vgadrv_nofree(){
FILE_BLACKLIST_MODPROBE="${ROOTFS}/etc/modprobe.d/blacklist-ublinux.conf"
if [[ ${VGADRV_NOFREE,,} == @(yes|y) ]]; then
grep -q "blacklist.*nouveau" ${FILE_BLACKLIST_MODPROBE} 2>/dev/null || echo "blacklist nouveau" >> ${FILE_BLACKLIST_MODPROBE}
grep -q "blacklist.*radeon" ${FILE_BLACKLIST_MODPROBE} 2>/dev/null || echo "blacklist radeon" >> ${FILE_BLACKLIST_MODPROBE}
elif [[ ${VGADRV_NOFREE,,} == nouveau ]]; then
grep -q "blacklist.*nouveau" ${FILE_BLACKLIST_MODPROBE} 2>/dev/null || echo "blacklist nouveau" >> ${FILE_BLACKLIST_MODPROBE}
grep -q "blacklist.*radeon" ${FILE_BLACKLIST_MODPROBE} 2>/dev/null && sed 's/radeon//g' -i ${FILE_BLACKLIST_MODPROBE} 2>/dev/null
elif [[ ${VGADRV_NOFREE,,} == radeon ]]; then
grep -q "blacklist.*radeon" ${FILE_BLACKLIST_MODPROBE} 2>/dev/null || echo "blacklist radeon" >> ${FILE_BLACKLIST_MODPROBE}
grep -q "blacklist.*nouveau" ${FILE_BLACKLIST_MODPROBE} 2>/dev/null && sed 's/nouveau//g' -i ${FILE_BLACKLIST_MODPROBE} 2>/dev/null
else
grep -q "blacklist.*nouveau" ${FILE_BLACKLIST_MODPROBE} 2>/dev/null && sed 's/nouveau//g' -i ${FILE_BLACKLIST_MODPROBE} 2>/dev/null
grep -q "blacklist.*radeon" ${FILE_BLACKLIST_MODPROBE} 2>/dev/null && sed 's/radeon//g' -i ${FILE_BLACKLIST_MODPROBE} 2>/dev/null
fi
grep -q "^\s*blacklist\s*$" ${FILE_BLACKLIST_MODPROBE} 2>/dev/null && sed 's/^\s*blacklist\s*$//g' -i ${FILE_BLACKLIST_MODPROBE} 2>/dev/null
grep -q "^\s*$" ${FILE_BLACKLIST_MODPROBE} 2>/dev/null && sed '/^\s*$/d' -i ${FILE_BLACKLIST_MODPROBE} 2>/dev/null
}
################
##### MAIN #####
################
exec_vgadrv_nofree $@