diff options
author | Bastian Wissler | 2008-10-16 20:13:07 +0200 |
---|---|---|
committer | Bastian Wissler | 2008-10-16 20:13:07 +0200 |
commit | a28c6a55d2d7886536570c7540c3fabe41d8e865 (patch) | |
tree | f90392ad5b207c54fdb4c6800ecd9a751bb625db | |
parent | xserver: * changed wrong path for fglrx_dri.so (diff) | |
download | core-a28c6a55d2d7886536570c7540c3fabe41d8e865.tar.gz core-a28c6a55d2d7886536570c7540c3fabe41d8e865.tar.xz core-a28c6a55d2d7886536570c7540c3fabe41d8e865.zip |
xserver: * suse-11.0 local kernel version is determined to support all available suse kernels
git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@2347 95ad53e4-c205-0410-b2fa-d234c58c8868
-rwxr-xr-x | os-plugins/plugins/xserver/files/suse-gfx-install.sh | 117 |
1 files changed, 69 insertions, 48 deletions
diff --git a/os-plugins/plugins/xserver/files/suse-gfx-install.sh b/os-plugins/plugins/xserver/files/suse-gfx-install.sh index 902ffeb5..f6ab2010 100755 --- a/os-plugins/plugins/xserver/files/suse-gfx-install.sh +++ b/os-plugins/plugins/xserver/files/suse-gfx-install.sh @@ -1,17 +1,33 @@ #!/bin/sh # -# Currently only suse 10.2 and 11.0 is supported! +# Currently suse 10.2 and 11.0 is supported! # BUSYBOX="/mnt/opt/openslx/share/busybox/busybox" cd /opt/openslx/plugin-repo/xserver -# +if [ -s /boot/vmlinuz ]; then + KSUFFIX=$(ls -l /boot/vmlinuz | grep -P -o -e "-[a-z]*$" ) +else + KSUFFIX=$(ls /boot/vmlinuz-* | head -n1 | grep -P -o -e "-[a-z]*$" ) +fi + +if [ -z "${KSUFFIX}" ]; then + echo "Could not determine proper local kernel suffix!" + echo "This is needed to install kernel modules for graphics drivers!" + exit 1 +fi + +########################################################################## # NVidia section -# +########################################################################## if [ "$1" = "nvidia" ]; then + if [ -e nvidia/usr/lib/libGL.so.1 ]; then + exit + fi + #To handle it under suse is kinda retarded. SuSE 10.2's zypper don't know #a flag similiar to "--download-only" (should be supported in a later #SuSE Version!) @@ -59,7 +75,7 @@ if [ "$1" = "nvidia" ]; then # -> After key is cached, this is obsolete zypper se -r NVIDIA x11-video-nvidiaG01 # get URLs by virtually installing nvidia-OpenGL driver - zypper -n -vv install -D x11-video-nvidiaG01 > logfile + zypper -n -vv install -D nvidia-gfx-kmp${KSUFFIX} x11-video-nvidiaG01 > logfile # take unique urls from logfile URLS=$(cat logfile | grep -P -o "http://.*?rpm " | sort -u | xargs) @@ -80,30 +96,34 @@ if [ "$1" = "nvidia" ]; then cd .. # TODO: after development - #rm -rf temp/ + rm -rf temp/ fi -# +############################################################################ # ATI section -# +############################################################################ if [ "$1" = "ati" ]; then + if [ -e ati/usr/lib/libGL.so.1.2 ]; then + exit + fi + mkdir -p ati/modules ati/temp cd ati/temp if [ "11.0" = "`cat /etc/SuSE-release | tail -n1 | cut -d' ' -f3`" ]; then + ## SUSE 11.0 Section ### + echo " * Downloading ati rpm packages... this could take some time..." - #TODO: ADD SUFFIX for used kernel detection - SUFF="-pae" - # add repository for nvidia drivers + # add repository for nvidia drivers zypper addrepo http://www2.ati.com/suse/11.0/ ATI # confirm authenticity of key (once) # -> After key is cached, this is obsolete zypper se -r ATI x11-video-fglrxG01 # get URLs by virtually installing nvidia-OpenGL driver - zypper -n -vv install -D ati-fglrxG01-kmp${SUFF} x11-video-fglrxG01 > logfile + zypper -n -vv install -D ati-fglrxG01-kmp${KSUFFIX} x11-video-fglrxG01 > logfile # take unique urls from logfile URLS=$(cat logfile | grep -P -o "http://.*?rpm " | grep fglrx | sort -u | xargs) @@ -127,43 +147,44 @@ if [ "$1" = "ati" ]; then # echo "END DEBUG" else - - #TODO: licence information... even suse requires an accept - BASEURL="http://www2.ati.com/suse/$(lsb_release -r|sed 's/^.*\t//')" - # if it dont work in the future, check .../repodata/repomd.xml - wget -q ${BASEURL}/repodata/primary.xml.gz - gunzip primary.xml.gz - - echo " * Downloading ati rpm packages... this could take some time..." - # notice the i586! we can also get x86_64! - for i in $(grep "<location href=.i586" primary.xml \ - |sed 's/.*<location href="//'|sed 's/".*//g') - do - wget -c -q ${BASEURL}/${i} - done - - # TODO: move output to /dev/null when main development is over - ${BUSYBOX} rpm2cpio $(find . -name "x11*")| ${BUSYBOX} cpio -idv > /dev/null - - rm -rf ./usr/include - rm -rf ./usr/lib/pm-utils - rm -rf ./usr/lib/powersave - # Todo: recheck after development progress, perhaps an nvidia x11 tool needs /usr/share/pixmaps - # same with var id's - #rm -rf ./usr/share - - mv ./usr .. - - # TODO: matching kernel problem... our openslx system picks -bigsmp - unintentionally! - if [ "10.2" = "$(lsb_release -r|sed 's/^.*\t//')" ]; then - ${BUSYBOX} rpm2cpio $(find . -name "ati-fglrx*bigsmp*") | ${BUSYBOX} cpio -idv > /dev/null - fi - if [ "11.0" = "$(lsb_release -r|sed 's/^.*\t//')" ]; then - ${BUSYBOX} rpm2cpio $(find . -name "ati-fglrx*default*") | ${BUSYBOX} cpio -idv > /dev/null - fi - #${BUSYBOX} rpm2cpio nvidia-gfxG01-kmp-default-173.14.12_2.6.18.8_0.10-0.1.i586.rpm | ${BUSYBOX} cpio -idv - #TODO: take care about the kernel issue. Find won't work with two equal kernelmodules in lib/... - find lib/ -name "*.ko" -exec mv {} ../modules \; + ## SUSE 10.2 Section ## + + #TODO: licence information... even suse requires an accept + BASEURL="http://www2.ati.com/suse/$(lsb_release -r|sed 's/^.*\t//')" + # if it dont work in the future, check .../repodata/repomd.xml + wget -q ${BASEURL}/repodata/primary.xml.gz + gunzip primary.xml.gz + + echo " * Downloading ati rpm packages... this could take some time..." + # notice the i586! we can also get x86_64! + for i in $(grep "<location href=.i586" primary.xml \ + |sed 's/.*<location href="//'|sed 's/".*//g') + do + wget -c -q ${BASEURL}/${i} + done + + # TODO: move output to /dev/null when main development is over + ${BUSYBOX} rpm2cpio $(find . -name "x11*")| ${BUSYBOX} cpio -idv > /dev/null + + rm -rf ./usr/include + rm -rf ./usr/lib/pm-utils + rm -rf ./usr/lib/powersave + # Todo: recheck after development progress, perhaps an nvidia x11 tool needs /usr/share/pixmaps + # same with var id's + #rm -rf ./usr/share + + mv ./usr .. + + # TODO: matching kernel problem... our openslx system picks -bigsmp - unintentionally! + if [ "10.2" = "$(lsb_release -r|sed 's/^.*\t//')" ]; then + ${BUSYBOX} rpm2cpio $(find . -name "ati-fglrx*bigsmp*") | ${BUSYBOX} cpio -idv > /dev/null + fi + if [ "11.0" = "$(lsb_release -r|sed 's/^.*\t//')" ]; then + ${BUSYBOX} rpm2cpio $(find . -name "ati-fglrx*default*") | ${BUSYBOX} cpio -idv > /dev/null + fi + #${BUSYBOX} rpm2cpio nvidia-gfxG01-kmp-default-173.14.12_2.6.18.8_0.10-0.1.i586.rpm | ${BUSYBOX} cpio -idv + #TODO: take care about the kernel issue. Find won't work with two equal kernelmodules in lib/... + find lib/ -name "*.ko" -exec mv {} ../modules \; fi cd .. |