summaryrefslogtreecommitdiffstats
path: root/os-plugins/plugins/xserver/files/ubuntu-ng-gfx-install.sh
diff options
context:
space:
mode:
authorSebastian Schmelzer2010-09-02 17:50:49 +0200
committerSebastian Schmelzer2010-09-02 17:50:49 +0200
commit416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5 (patch)
tree4715f7d742fec50931017f38fe6ff0a89d4ceccc /os-plugins/plugins/xserver/files/ubuntu-ng-gfx-install.sh
parentFix for the problem reported on the list (sed filter forgotten for the (diff)
downloadcore-416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5.tar.gz
core-416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5.tar.xz
core-416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5.zip
change dir structure
Diffstat (limited to 'os-plugins/plugins/xserver/files/ubuntu-ng-gfx-install.sh')
-rwxr-xr-xos-plugins/plugins/xserver/files/ubuntu-ng-gfx-install.sh236
1 files changed, 0 insertions, 236 deletions
diff --git a/os-plugins/plugins/xserver/files/ubuntu-ng-gfx-install.sh b/os-plugins/plugins/xserver/files/ubuntu-ng-gfx-install.sh
deleted file mode 100755
index 259f2650..00000000
--- a/os-plugins/plugins/xserver/files/ubuntu-ng-gfx-install.sh
+++ /dev/null
@@ -1,236 +0,0 @@
-#!/bin/sh
-
-# gets needed packages for ubuntu nvidia/ati drivers
-# $1 = nvidia | ati
-PLUGIN_FOLDER="/opt/openslx/plugin-repo/xserver"
-TMP_FOLDER="/tmp/slx-plugin/xserver"
-TARGET="$1"
-
-if [ ! -d "${PLUGIN_FOLDER}" ]; then
- mkdir -p "${PLUGIN_FOLDER}/modules"
-fi
-
-# change into temp
-cd ${TMP_FOLDER} > /dev/null
-
-if [ -e "/boot/vmlinuz" ]; then
- KVER=$(ls -ahl '/boot/vmlinuz' | sed -e 's,^.*vmlinuz-,,g')
-else
- KVER=$(find /lib/modules/2.6* -maxdepth 0|sed 's,/lib/modules/,,g'|sort|tail -n1)
-fi
-
-# TODO: check for build-essential !!
-
-if [ ! -e "/usr/sbin/dkms" ]; then
- echo -n " * DKMS not found: installing .."
- aptitude -y install dkms > /dev/null 2>&1
- if [ $? -eq 1 ]; then
- echo "fail"
- echo " * Didn't get package dkms! Exit now!"
- exit 1
- else
- echo "ok"
- fi
-fi
-
-# TODO: find a more clean way for this workaround
-# the current dkms script included in ubuntu is trying to compile
-# kernel modules under the user nobody using "su" which is not
-# working in the installation phase of the plugin.
-
-if [ $(grep -c "getent passwd nobody" /usr/sbin/dkms) -ne 0 ]; then
- echo -n " * Patch DKMS not to run under user nobody .."
- sed -i "s/getent passwd nobody/getent passwd N0/" \
- /usr/sbin/dkms
- echo "ok"
-fi
-
-case ${TARGET} in
- ati)
- mkdir -p ${PLUGIN_FOLDER}/ati/modules
-
- echo -n " * downloading fglrx xorg package... "
- aptitude download xorg-driver-fglrx > /dev/null 2>&1
- if [ $? -eq 1 ]; then
- echo "fail"
- echo " * Didn't get package xorg-driver-fglrx! Exit now!"
- exit 1
- else
- echo "ok"
- fi
- FGLRX_DEB=$(ls xorg-driver-fglrx_*.deb | tail -n1)
- # extract $DEB
- dpkg-deb -x ${FGLRX_DEB} ${PLUGIN_FOLDER}/ati
-
- echo -n " * downloading fglrx kernel package... "
- aptitude download fglrx-kernel-source >/dev/null 2>&1
- if [ $? -eq 1 ]; then
- echo "fail"
- echo " * Didn't get package fglrx-kernel-source!"
- exit 1
- else
- echo "ok"
- fi
-
- FGLRX_KERNEL_DEB=$(ls fglrx-kernel-source*.deb | tail -n1)
- dpkg-deb -x ${FGLRX_KERNEL_DEB} /
-
- FGLRX_SOURCE_DIR=$(find /usr/src/fglrx-${FGLRX_DRIVER_VERSION}* \
- -maxdepth 0 -type d)
- FGLRX_FULL_VERSION=$(echo ${FGLRX_SOURCE_DIR} | \
- sed -e 's/\/usr\/src\/fglrx-//')
-
- FGLRX_DKMS_DIR="/var/lib/dkms/fglrx/${FGLRX_FULL_VERSION}"
-
- if [ -d /var/lib/dkms/fglrx/${FGLRX_FULL_VERSION} ]; then
- if [ ! -L ${FGLRX_DKMS_DIR}/source ]; then
- ln -sf ${FGLRX_SOURCE_DIR} ${FGLRX_DKMS_DIR}/source
- fi
- else
- echo -n " * Add fglrx kernel module to dkms tree... "
- dkms add -m fglrx -v ${FGLRX_FULL_VERSION} >/dev/null 2>&1
- if [ $? -eq 0 ]; then
- echo "ok"
- else
- echo "fail"
- exit 1
- fi
- fi
-
- ###### build kernel module ######
- echo -n " * Building fglrx kernel module for kernel ${KVER}... "
- dkms -m fglrx -v ${FGLRX_FULL_VERSION} \
- -k ${KVER} \
- --kernelsourcedir /usr/src/linux-headers-${KVER}/ \
- --no-prepare-kernel \
- --no-clean-kernel \
- build \
- > /tmp/dkms.log 2>&1
- if [ $? -eq 0 ]; then
- echo "ok"
- else
- if $(cat /tmp/dkms.log | grep -q "has already"); then
- echo "--- fglrx module already built ---"
- else
- echo "fail"
- echo "------ dkms.log -----"
- cat /tmp/dkms.log
- echo "---------------------"
- rm /tmp/dkms.log
- exit 1
- fi
- fi
-
- FGLRX_MODULE_PATH=$(find ${FGLRX_DKMS_DIR}/${KVER}/ -name fglrx.ko \
- | tail -n1 )
-
- cp ${FGLRX_MODULE_PATH} ${PLUGIN_FOLDER}/ati/modules/fglrx.ko
-
- # cleanup
- if [ -f /usr/lib/dri/fglrx_dri.so ]; then
- mv /usr/lib/dri/fglrx_dri.so /usr/lib/dri/fglrx_dri.so.slx
- else
- # remove link
- rm -rf /usr/lib/dri/fglrx_dri.so
- fi
- ln -s ${PLUGIN_FOLDER}/ati/usr/lib/dri/fglrx_dri.so \
- /usr/lib/dri/fglrx_dri.so
-
- # cleanup
- rm /tmp/dkms.log
- cd ${PLUGIN_FOLDER}/ati
-
- ;;
-
-
- nvidia)
- mkdir -p ${PLUGIN_FOLDER}/nvidia/modules
-
- NVIDIA_DRIVER_VERSION=173
-
- echo -n " * downloading nvidia xorg package... "
- aptitude download nvidia-glx-${NVIDIA_DRIVER_VERSION} > /dev/null 2>&1
- if [ $? -eq 1 ]; then
- echo "fail"
- echo " * Didn't get package nvidia-glx-${NVIDIA_DRIVER_VERSION}!"
- exit 1
- else
- echo "ok"
- fi
-
- echo -n " * downloading nvidia kernel package... "
- aptitude download nvidia-${NVIDIA_DRIVER_VERSION}-kernel-source >/dev/null 2>&1
- if [ $? -eq 1 ]; then
- echo "fail"
- echo " * Didn't get package nvidia-${NVIDIA_DRIVER_VERSION}-kernel-source!"
- exit 1
- else
- echo "ok"
- fi
-
- NVIDIA_DEB=$(ls -1 nvidia-glx*.deb | tail -n1)
- NVIDIA_KERNEL_DEB=$(ls -1 nvidia-${NVIDIA_DRIVER_VERSION}-kernel-source*.deb | tail -n1)
- # extract $DEB
- dpkg-deb -x ${NVIDIA_DEB} ${PLUGIN_FOLDER}/nvidia
- # extract the sources deb to root
- dpkg-deb -x ${NVIDIA_KERNEL_DEB} /
-
- NVIDIA_SOURCE_DIR=$(find /usr/src/nvidia-${NVIDIA_DRIVER_VERSION}* \
- -maxdepth 0 -type d)
- NVIDIA_FULL_VERSION=$(echo ${NVIDIA_SOURCE_DIR} | \
- sed -e 's/\/usr\/src\/nvidia-//')
-
- NVIDIA_DKMS_DIR="/var/lib/dkms/nvidia/${NVIDIA_FULL_VERSION}"
-
- if [ -d /var/lib/dkms/nvidia/${NVIDIA_FULL_VERSION} ]; then
- if [ ! -L ${NVIDIA_DKMS_DIR}/source ]; then
- ln -sf ${NVIDIA_SOURCE_DIR} ${NVIDIA_DKMS_DIR}/source
- fi
- else
- echo -n " * Add nvidia kernel module to dkms tree... "
- dkms add -m nvidia -v ${NVIDIA_FULL_VERSION} >/dev/null 2>&1
- if [ $? -eq 0 ]; then
- echo "ok"
- else
- echo "fail"
- exit 1
- fi
- fi
-
- ###### build kernel module ######
- echo -n " * Building nvidia kernel module for kernel ${KVER}... "
- dkms -m nvidia -v ${NVIDIA_FULL_VERSION} \
- -k ${KVER} \
- --kernelsourcedir /usr/src/linux-headers-${KVER}/ \
- --no-prepare-kernel \
- --no-clean-kernel \
- build \
- > /tmp/dkms.log 2>&1
- if [ $? -eq 0 ]; then
- echo "ok"
- else
- if $(cat /tmp/dkms.log | grep -q "has already"); then
- echo "--- nvidia module already built ---"
- else
- echo "fail"
- echo "------ dkms.log -----"
- cat /tmp/dkms.log
- echo "---------------------"
- rm /tmp/dkms.log
- exit 1
- fi
- fi
-
- NVIDIA_MODULE_PATH=$(find ${NVIDIA_DKMS_DIR}/${KVER}/ -name \
- nvidia.ko | tail -n 1)
-
- cp ${NVIDIA_MODULE_PATH} ${PLUGIN_FOLDER}/nvidia/modules/nvidia.ko
-
- # cleanup
- rm /tmp/dkms.log
- cd ${PLUGIN_FOLDER}/nvidia
- rm -rf ./etc
- #TODO: check for more cleanups when the main part works!
- ;;
-esac
-