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

created recipe for vbindiff
author Hans-G?nter Theisgen
date Sat Nov 21 14:32:44 2020 +0100 (2020-11-21)
parents efd5fe5db61e
children
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 [ -f "$src/Documentation/DocBook/Makefile" ] &&
43 install -D -m644 $src/Documentation/DocBook/Makefile \
44 $1/$path/Documentation/DocBook/Makefile
46 # add md headers
47 mkdir -p $1/$path/drivers/md/
48 cp $src/drivers/md/*.h $1/$path/drivers/md/
50 # add inotify.h
51 mkdir -p $1/$path/include/linux/
52 cp $src/include/linux/inotify.h $1/$path/include/linux/
54 # add wireless headers
55 mkdir -p $1/$path/net/mac80211/
56 cp $src/net/mac80211/*.h $1/$path/net/mac80211/
58 # add dvb headers for external modules
59 # in reference to http://bugs.archlinux.org/task/9912
60 # mkdir -p $1/$path/drivers/media/dvb-core/
61 # cp $src/drivers/media/dvb-core/*.h $1/$path/drivers/media/dvb-core/
62 # and http://bugs.archlinux.org/task/11194
63 if [ -d $src/include/config/dvb/ ]; then
64 mkdir -p $1/$path/include/config/dvb/
65 cp $src/include/config/dvb/*.h $1/$path/include/config/dvb/
66 fi
68 # add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
69 # in reference to http://bugs.archlinux.org/task/13146
70 mkdir -p $1/$path/drivers/media/dvb-frontends/
71 cp $src/drivers/media/dvb-frontends/lgdt330x.h $1/$path/drivers/media/dvb-frontends/
72 mkdir -p $1/$path/drivers/media/i2c/
73 cp $src/drivers/media/i2c/msp3400-driver.h $1/$path/drivers/media/i2c/
75 # add dvb headers
76 # in reference to http://bugs.archlinux.org/task/20402
77 mkdir -p $1/$path/drivers/media/usb/dvb-usb/
78 cp $src/drivers/media/usb/dvb-usb/*.h $1/$path/drivers/media/usb/dvb-usb/
79 mkdir -p $1/$path/drivers/media/dvb-frontends/
80 cp $src/drivers/media/dvb-frontends/*.h $1/$path/drivers/media/dvb-frontends/
81 mkdir -p $1/$path/drivers/media/tuners/
82 cp $src/drivers/media/tuners/*.h $1/$path/drivers/media/tuners/
84 # add xfs and shmem for aufs building
85 mkdir -p $1/$path/fs/xfs $1/$path/mm
87 # copy in Kconfig files
88 for i in $(find . -name "Kconfig*"); do
89 mkdir -p $1/$path/$(dirname $i)
90 cp $src/$i $1/$path/$i
91 done
93 # add objtool for external module building and enabled VALIDATION_STACK option
94 if [ -f $src/tools/objtool/objtool ]; then
95 mkdir -p $1/$path/tools/objtool/
96 cp -a $src/tools/objtool/objtool $1/$path/tools/objtool/
97 fi
99 chown -R root.root $1/$path
100 find $1/$path -type d -exec chmod 755 \{\} \;
102 # remove unneeded architectures, leave x86 and x86_64
103 for i in $(ls $1/$path/arch | grep -v x86); do
104 rm -rf $1/$path/arch/$i
105 done