diff options
Diffstat (limited to 'catalyst_build_module')
-rwxr-xr-x | catalyst_build_module | 225 |
1 files changed, 0 insertions, 225 deletions
diff --git a/catalyst_build_module b/catalyst_build_module deleted file mode 100755 index 02d75f9e4c4a..000000000000 --- a/catalyst_build_module +++ /dev/null @@ -1,225 +0,0 @@ -#!/bin/bash - -kernver=${KERNVER:-$(uname -r)} -arch=${ARCH:-$(uname -m)} -arch=${arch/i686/i386} -LOG="/var/log/catalyst-install.log" - - -install_module(){ - echo "" - echo "--------" - date '+%Y-%m-%d %H:%M:%S' - echo "Building fglrx module for ${kernver} kernel ..." - echo "--------" - - - if [ ! -d "/usr/lib/modules/${kernver}/build" ]; then - echo "Kernel header files are absent: directory /usr/lib/modules/${kernver}/build doesn't exist! Game over" - return 1 - fi - workdir=$(mktemp -du /tmp/catalyst.XXXXXX) -# set -x - cp "/usr/share/ati/build_mod" "${workdir}" -R - cd "$workdir" - - ## include ati_make.sh and use _ati_check function from it - . ati_make.sh - _ati_check - -#------------------------------------------------------------------------------------------ -# putting our info into module - modsymmd5=`md5sum /usr/lib/modules/${kernver}/build/Module.symvers | cut -d ' ' -f 1` - sed "/MODULE_DESCRIPTION/a\MODULE_DESCRIPTION(\"__msm:$modsymmd5\");" -i firegl_public.c -#------------------------------------------------------------------------------------------ - - ## Compile module using _ati_check variables - CFLAGS_MODULE="-DMODULE -DATI -DFGL -DPAGE_ATTR_FIX=$PAGE_ATTR_FIX -DCOMPAT_ALLOC_USER_SPACE=$COMPAT_ALLOC_USER_SPACE $def_smp $def_modversions" - make -C /usr/lib/modules/${kernver}/build SUBDIRS="`pwd`" ARCH=${arch} \ - MODFLAGS="$CFLAGS_MODULE" \ - CFLAGS_MODULE="$CFLAGS_MODULE" \ - PAGE_ATTR_FIX=$PAGE_ATTR_FIX COMPAT_ALLOC_USER_SPACE=$COMPAT_ALLOC_USER_SPACE modules || return 1 - - gzip -9 fglrx.ko - - ## here we are checking kernel's extramodules dir - for r in /usr/lib/modules/*; do - if [[ ${r:17:3} = "ext" ]]; then - if [[ `cat ${r}/version | grep -c ${kernver}` != 0 ]]; then - destidir=${r} - fi - fi - done - - install -m644 fglrx.ko.gz ${destidir} || return 1 - - depmod ${kernver} - rm -rf "${workdir}" -# set +x - echo "ok." -} - -build_all_modules(){ - for p in /usr/lib/modules/*; do - if [ ${p:17:3} != "ext" ] && [ -d $p/build ] && [ -d $p/kernel ]; then - /usr/bin/catalyst_build_module ${p##*/usr/lib/modules/} - fi - done -} - -remove_module(){ - for p in /usr/lib/modules/*; do - if [[ ${p:17:3} != "ext" ]]; then - if [ ! -d $p/kernel ]; then - if [[ -e $p/video/fglrx.ko.gz ]] || [[ -e $p/extramodules/fglrx.ko.gz ]] || [[ -e $p/video/fglrx.ko ]] || [[ -e $p/extramodules/fglrx.ko ]]; then - echo "- removing fglrx module from $p" - rm "$p/video/fglrx.ko.gz" &>/dev/null - rm "$p/video/fglrx.ko" &>/dev/null - rm "$p/extramodules/fglrx.ko.gz" &>/dev/null - rm "$p/extramodules/fglrx.ko" &>/dev/null - rmdir -p "$p/video/" --ignore-fail-on-non-empty &>/dev/null - fi - if [ -d $p ]; then - if [ -z "$(ls $p)" ]; then - echo "- removing empty directory: $p" - rm -rf $p - else echo "- $p looks like unused, maybe remove it manualy?" - fi - fi - fi - elif [[ ! -e $p/version ]]; then - if [[ -e $p/fglrx.ko.gz ]] || [[ -e $p/fglrx.ko ]]; then - echo "- removing fglrx module from $p" - rm "$p/fglrx.ko.gz" &>/dev/null - rm "$p/fglrx.ko" &>/dev/null - fi - if [ -z "$(ls $p)" ]; then #check if /usr/lib/modules/ext* is empty - echo "- removing empty directory: $p" - rm -rf $p - else echo "- $p looks like unused, maybe remove it manualy?" - fi - fi - done -} - -remove_all_modules(){ - for p in /usr/lib/modules/*; do - if [[ ${p:17:3} != "ext" ]]; then - if [[ -e $p/video/fglrx.ko.gz ]] || [[ -e $p/extramodules/fglrx.ko.gz ]] || [[ -e $p/video/fglrx.ko ]] || [[ -e $p/extramodules/fglrx.ko ]]; then - echo "- removing fglrx module from $p" - rm "$p/video/fglrx.ko.gz" &>/dev/null - rm "$p/video/fglrx.ko" &>/dev/null - rm "$p/extramodules/fglrx.ko.gz" &>/dev/null - rm "$p/extramodules/fglrx.ko" &>/dev/null - rmdir -p "$p/video/" --ignore-fail-on-non-empty &>/dev/null - depmod $(basename $p) - fi - if [ -d $p ]; then - if [ -z "$(ls $p)" ]; then #check if /usr/lib/modules/p is empty - echo "- removing empty directory: $p" - rm -rf $p - elif [ ! -d $p/kernel ]; then - echo "- $p looks like unused, maybe remove it manualy?" - fi - fi - elif [[ ! -e $p/version ]]; then - if [[ -e $p/fglrx.ko.gz ]] || [[ -e $p/fglrx.ko ]]; then - echo "- removing fglrx module from $p" - rm "$p/fglrx.ko.gz" &>/dev/null - rm "$p/fglrx.ko" &>/dev/null - fi - if [ -z "$(ls $p)" ]; then #check if /usr/lib/modules/ext* is empty - echo "- removing empty directory: $p" - rm -rf $p - else echo "- $p looks like unused, maybe remove it manualy?" - fi - fi - done -} - -remove_old_modules(){ - for p in /lib/modules/*; do - if [[ ${p:13:3} != "ext" ]]; then - if [[ -e $p/video/fglrx.ko ]] || [[ -e $p/extramodules/fglrx.ko ]]; then - echo "- removing old fglrx module from $p" - rm "$p/video/fglrx.ko" &>/dev/null - rm "$p/extramodules/fglrx.ko" &>/dev/null - rmdir -p "$p/video/" --ignore-fail-on-non-empty &>/dev/null - depmod $(basename $p) - fi - fi - done -} - -hook_add(){ - # add hook fglrx to mkiniticpio - hooks=$(grep ^HOOKS /etc/mkinitcpio.conf | grep fglrx) - if [ "$hooks" = "" ]; then - # add hook fglrx - sed 's/^HOOKS="\([^"]*\)"/HOOKS="\1 fglrx"/' -i /etc/mkinitcpio.conf - echo "fgkrx hook was added into /etc/mkinitcpio.conf" - fi -} - -hook_remove(){ - # remove hook fglrx - sed '/^HOOKS/s/ *fglrx//' -i /etc/mkinitcpio.conf - echo "fgkrx hook was removed from /etc/mkinitcpio.conf" -} - -check_modules(){ - for p in /usr/lib/modules/*; do - if [ ${p:17:3} != "ext" ] && [ -d $p/build ] && [ -d $p/kernel ]; then - if [[ -e $p/extramodules/fglrx.ko.gz ]]; then - compare=$(md5sum $p/build/Module.symvers | cut -d ' ' -f 1) - test=$(modinfo -F description $p/extramodules/fglrx.ko.gz | grep "__msm:") - if [ "$test" != "__msm:$compare" ]; then - /usr/bin/catalyst_build_module ${p##*/usr/lib/modules/} - fi - else /usr/bin/catalyst_build_module ${p##*/usr/lib/modules/} - fi - fi - done -} - -case "$1" in - help|--help) - echo "usage: $0 {version|all|remove|remove_all|ra|hookadd|hookrm}" - echo "- with no specified kernel version it will use the current kernel version to build module" - echo "- all will try to build fglrx modules for all working system's kernels" - echo "- remove is removing unused fglrx modules and all empty /usr/lib/modules/* directories" - echo "- remove_all is removing all fglrx modules and all empty /usr/lib/modules/* directories" - echo "- ra works same as remove_all" - echo "- hookadd will add fglrx hook into mkinitcpio" - echo "- hookrm will remove fglrx hook from mkinitcpio" - ;; - remove) - remove_module - ;; - remove_all) - remove_all_modules - ;; - ra) - remove_all_modules - ;; - remove_old) - remove_old_modules - ;; - hookadd) - hook_add - ;; - hookrm) - hook_remove - ;; - all) - build_all_modules - ;; - check) - check_modules - ;; - *) - test "$1" != "" && kernver="$1" - echo "+ building fglrx module for ${kernver} kernel ..." - install_module >> $LOG 2>&1 && echo " ok." || echo -e '\E[37;44m'"\033[1mFailed!!! Check out log: $LOG\033[0m" - ;; -esac
\ No newline at end of file |