wok-next view linux/stuff/tools/install_module_headers.sh @ rev 19595

Up linux (4.9.4)
author Aleksej Bobylev <al.bobylev@gmail.com>
date Sat Jan 21 17:27:31 2017 +0200 (2017-01-21)
parents
children efd5fe5db61e
line source
1 #!/bin/sh
2 # install_module_headers
3 # $1 = $install or $install/linux64
4 src="$2"; KVERSION="$3"
6 path="usr/src/linux-$KVERSION"
8 mkdir -p $1/lib/modules/$KVERSION
9 ln -sf /$path $1/lib/modules/$KVERSION/build
10 install -D -m644 $src/Makefile $1/$path/Makefile
11 install -D -m644 $src/kernel/Makefile $1/$path/kernel/Makefile
12 install -D -m644 $src/.config $1/$path/.config
14 cp -a $src/include $1/$path
16 # copy arch includes for external modules
17 mkdir -p $1/$path/arch/x86
18 cp -a $src/arch/x86/include $1/$path/arch/x86/
20 # copy files necessary for later builds, like nvidia and vmware
21 cp -a $src/Module.symvers $1/$path
22 cp -a $src/scripts $1/$path
24 # fix permissions on scripts dir
25 chmod og-w -R $1/$path/scripts
26 mkdir -p $1/$path/.tmp_versions
28 mkdir -p $1/$path/arch/x86/kernel
29 cp $src/arch/x86/Makefile $1/$path/arch/x86/
30 cp $src/arch/x86/Makefile_32.cpu $1/$path/arch/x86/
31 cp $src/arch/x86/kernel/asm-offsets.s $1/$path/arch/x86/kernel/
33 # add headers for lirc package
34 #mkdir -p $1/$path/drivers/media/video
35 #cp -a $src/drivers/media/video/*.h $1/$path/drivers/media/video/
36 #for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102 ; do
37 # mkdir -p $1/$path/drivers/media/video/$i
38 # cp -a $src/drivers/media/video/$i/*.h $1/$path/drivers/media/video/$i
39 #done
41 # add docbook makefile
42 install -D -m644 $src/Documentation/DocBook/Makefile \
43 $1/$path/Documentation/DocBook/Makefile
45 # add md headers
46 mkdir -p $1/$path/drivers/md
47 cp $src/drivers/md/*.h $1/$path/drivers/md
49 # add inotify.h
50 mkdir -p $1/$path/include/linux
51 cp $src/include/linux/inotify.h $1/$path/include/linux/
53 # add wireless headers
54 mkdir -p $1/$path/net/mac80211/
55 cp $src/net/mac80211/*.h $1/$path/net/mac80211/
57 # add dvb headers for external modules
58 # in reference to http://bugs.archlinux.org/task/9912
59 mkdir -p $1/$path/drivers/media/dvb-core
60 cp $src/drivers/media/dvb-core/*.h $1/$path/drivers/media/dvb-core/
61 # and http://bugs.archlinux.org/task/11194
62 mkdir -p $1/$path/include/config/dvb/
63 cp $src/include/config/dvb/*.h $1/$path/include/config/dvb/
65 # add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
66 # in reference to http://bugs.archlinux.org/task/13146
67 mkdir -p $1/$path/drivers/media/dvb-frontends/ $1/$path/drivers/media/i2c/
68 cp $src/drivers/media/dvb-frontends/lgdt330x.h $1/$path/drivers/media/dvb-frontends/
69 cp $src/drivers/media/i2c/msp3400-driver.h $1/$path/drivers/media/i2c/
71 # add dvb headers
72 # in reference to http://bugs.archlinux.org/task/20402
73 mkdir -p $1/$path/drivers/media/usb/dvb-usb
74 cp $src/drivers/media/usb/dvb-usb/*.h $1/$path/drivers/media/usb/dvb-usb/
75 mkdir -p $1/$path/drivers/media/dvb-frontends
76 cp $src/drivers/media/dvb-frontends/*.h $1/$path/drivers/media/dvb-frontends/
77 mkdir -p $1/$path/drivers/media/tuners
78 cp $src/drivers/media/tuners/*.h $1/$path/drivers/media/tuners/
80 # add xfs and shmem for aufs building
81 mkdir -p $1/$path/fs/xfs $1/$path/mm
83 # copy in Kconfig files
84 for i in $(find . -name "Kconfig*"); do
85 mkdir -p $1/$path/$(dirname $i)
86 cp $src/$i $1/$path/$i
87 done
89 # add objtool for external module building and enabled VALIDATION_STACK option
90 if [ -f $src/tools/objtool/objtool ]; then
91 mkdir -p $1/$path/tools/objtool
92 cp -a $src/tools/objtool/objtool $1/$path/tools/objtool/
93 fi
95 chown -R root.root $1/$path
96 find $1/$path -type d -exec chmod 755 \{\} \;
98 # remove unneeded architectures
99 for i in $(ls $1/$path/arch | grep -v x86); do
100 rm -rf $1/$path/arch/$i
101 done