wok-undigest diff linux/stuff/tools/install_module_headers.sh @ rev 1217

copied linux receipt and stuff from wok-next
author Hans-G?nter Theisgen
date Fri Nov 15 16:49:43 2019 +0100 (2019-11-15)
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/linux/stuff/tools/install_module_headers.sh	Fri Nov 15 16:49:43 2019 +0100
     1.3 @@ -0,0 +1,105 @@
     1.4 +#!/bin/sh
     1.5 +# install_module_headers
     1.6 +# $1 = $install or $install/linux64
     1.7 +src="$2"; KVERSION="$3"
     1.8 +
     1.9 +path="usr/src/linux-$KVERSION"
    1.10 +
    1.11 +mkdir -p      $1/lib/modules/$KVERSION
    1.12 +ln -sf /$path $1/lib/modules/$KVERSION/build
    1.13 +install -D -m644 $src/Makefile        $1/$path/Makefile
    1.14 +install -D -m644 $src/kernel/Makefile $1/$path/kernel/Makefile
    1.15 +install -D -m644 $src/.config         $1/$path/.config
    1.16 +
    1.17 +cp -a $src/include $1/$path
    1.18 +
    1.19 +# copy arch includes for external modules
    1.20 +mkdir -p                    $1/$path/arch/x86/
    1.21 +cp -a $src/arch/x86/include $1/$path/arch/x86/
    1.22 +
    1.23 +# copy files necessary for later builds, like nvidia and vmware
    1.24 +cp -a $src/Module.symvers $1/$path
    1.25 +cp -a $src/scripts        $1/$path
    1.26 +
    1.27 +# fix permissions on scripts dir
    1.28 +chmod og-w -R $1/$path/scripts
    1.29 +mkdir -p      $1/$path/.tmp_versions
    1.30 +
    1.31 +mkdir -p                              $1/$path/arch/x86/kernel/
    1.32 +cp $src/arch/x86/Makefile             $1/$path/arch/x86/
    1.33 +cp $src/arch/x86/Makefile_32.cpu      $1/$path/arch/x86/
    1.34 +cp $src/arch/x86/kernel/asm-offsets.s $1/$path/arch/x86/kernel/
    1.35 +
    1.36 +# add headers for lirc package
    1.37 +#mkdir -p $1/$path/drivers/media/video
    1.38 +#cp -a $src/drivers/media/video/*.h  $1/$path/drivers/media/video/
    1.39 +#for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102 ; do
    1.40 +#	mkdir -p $1/$path/drivers/media/video/$i
    1.41 +#	cp -a $src/drivers/media/video/$i/*.h $1/$path/drivers/media/video/$i
    1.42 +#done
    1.43 +
    1.44 +# add docbook makefile
    1.45 +[ -f "$src/Documentation/DocBook/Makefile" ] &&
    1.46 +install -D -m644 $src/Documentation/DocBook/Makefile \
    1.47 +	$1/$path/Documentation/DocBook/Makefile
    1.48 +
    1.49 +# add md headers
    1.50 +mkdir -p               $1/$path/drivers/md/
    1.51 +cp $src/drivers/md/*.h $1/$path/drivers/md/
    1.52 +
    1.53 +# add inotify.h
    1.54 +mkdir -p                        $1/$path/include/linux/
    1.55 +cp $src/include/linux/inotify.h $1/$path/include/linux/
    1.56 +
    1.57 +# add wireless headers
    1.58 +mkdir -p                 $1/$path/net/mac80211/
    1.59 +cp $src/net/mac80211/*.h $1/$path/net/mac80211/
    1.60 +
    1.61 +# add dvb headers for external modules
    1.62 +# in reference to http://bugs.archlinux.org/task/9912
    1.63 +# mkdir -p                           $1/$path/drivers/media/dvb-core/
    1.64 +# cp $src/drivers/media/dvb-core/*.h $1/$path/drivers/media/dvb-core/
    1.65 +# and http://bugs.archlinux.org/task/11194
    1.66 +if [ -d $src/include/config/dvb/ ]; then
    1.67 +	mkdir -p                       $1/$path/include/config/dvb/
    1.68 +	cp $src/include/config/dvb/*.h $1/$path/include/config/dvb/
    1.69 +fi
    1.70 +
    1.71 +# add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
    1.72 +# in reference to http://bugs.archlinux.org/task/13146
    1.73 +mkdir -p                                       $1/$path/drivers/media/dvb-frontends/
    1.74 +cp $src/drivers/media/dvb-frontends/lgdt330x.h $1/$path/drivers/media/dvb-frontends/
    1.75 +mkdir -p                                       $1/$path/drivers/media/i2c/
    1.76 +cp $src/drivers/media/i2c/msp3400-driver.h     $1/$path/drivers/media/i2c/
    1.77 +
    1.78 +# add dvb headers
    1.79 +# in reference to http://bugs.archlinux.org/task/20402
    1.80 +mkdir -p                                $1/$path/drivers/media/usb/dvb-usb/
    1.81 +cp $src/drivers/media/usb/dvb-usb/*.h   $1/$path/drivers/media/usb/dvb-usb/
    1.82 +mkdir -p                                $1/$path/drivers/media/dvb-frontends/
    1.83 +cp $src/drivers/media/dvb-frontends/*.h $1/$path/drivers/media/dvb-frontends/
    1.84 +mkdir -p                                $1/$path/drivers/media/tuners/
    1.85 +cp $src/drivers/media/tuners/*.h        $1/$path/drivers/media/tuners/
    1.86 +
    1.87 +# add xfs and shmem for aufs building
    1.88 +mkdir -p $1/$path/fs/xfs $1/$path/mm
    1.89 +
    1.90 +# copy in Kconfig files
    1.91 +for i in $(find . -name "Kconfig*"); do
    1.92 +	mkdir -p   $1/$path/$(dirname $i)
    1.93 +	cp $src/$i $1/$path/$i
    1.94 +done
    1.95 +
    1.96 +# add objtool for external module building and enabled VALIDATION_STACK option
    1.97 +if [ -f $src/tools/objtool/objtool ]; then
    1.98 +	mkdir -p                         $1/$path/tools/objtool/
    1.99 +	cp -a $src/tools/objtool/objtool $1/$path/tools/objtool/
   1.100 +fi
   1.101 +
   1.102 +chown -R root.root $1/$path
   1.103 +find $1/$path -type d -exec chmod 755 \{\} \;
   1.104 +
   1.105 +# remove unneeded architectures, leave x86 and x86_64
   1.106 +for i in $(ls $1/$path/arch | grep -v x86); do
   1.107 +	rm -rf $1/$path/arch/$i
   1.108 +done