]> git.ipfire.org Git - thirdparty/kmod.git/blob - testsuite/populate-modules.sh
module-playground: allow to cross-compile modules
[thirdparty/kmod.git] / testsuite / populate-modules.sh
1 #!/bin/bash
2
3 set -e
4
5 MODULE_PLAYGROUND=$1
6 ROOTFS=$2
7
8 declare -A map
9 map=(
10 ["test-depmod/search-order-simple/lib/modules/4.4.4/kernel/crypto/"]="mod-simple.ko"
11 ["test-depmod/search-order-simple/lib/modules/4.4.4/updates/"]="mod-simple.ko"
12 ["test-depmod/search-order-same-prefix/lib/modules/4.4.4/foo/"]="mod-simple.ko"
13 ["test-depmod/search-order-same-prefix/lib/modules/4.4.4/foobar/"]="mod-simple.ko"
14 ["test-depmod/detect-loop/lib/modules/4.4.4/kernel/mod-loop-a.ko"]="mod-loop-a.ko"
15 ["test-depmod/detect-loop/lib/modules/4.4.4/kernel/mod-loop-b.ko"]="mod-loop-b.ko"
16 ["test-depmod/detect-loop/lib/modules/4.4.4/kernel/mod-loop-c.ko"]="mod-loop-c.ko"
17 ["test-depmod/detect-loop/lib/modules/4.4.4/kernel/mod-loop-d.ko"]="mod-loop-d.ko"
18 ["test-depmod/detect-loop/lib/modules/4.4.4/kernel/mod-loop-e.ko"]="mod-loop-e.ko"
19 ["test-dependencies/lib/modules/4.0.20-kmod/kernel/fs/foo/"]="mod-foo-b.ko"
20 ["test-dependencies/lib/modules/4.0.20-kmod/kernel/"]="mod-foo-c.ko"
21 ["test-dependencies/lib/modules/4.0.20-kmod/kernel/lib/"]="mod-foo-a.ko"
22 ["test-dependencies/lib/modules/4.0.20-kmod/kernel/fs/"]="mod-foo.ko"
23 ["test-init/"]="mod-simple.ko"
24 ["test-remove/"]="mod-simple.ko"
25 ["test-modprobe/show-depends/lib/modules/4.4.4/kernel/mod-loop-a.ko"]="mod-loop-a.ko"
26 ["test-modprobe/show-depends/lib/modules/4.4.4/kernel/mod-loop-b.ko"]="mod-loop-b.ko"
27 ["test-modprobe/show-depends/lib/modules/4.4.4/kernel/mod-simple.ko"]="mod-simple.ko"
28 ["test-modprobe/softdep-loop/lib/modules/4.4.4/kernel/mod-loop-a.ko"]="mod-loop-a.ko"
29 ["test-modprobe/softdep-loop/lib/modules/4.4.4/kernel/mod-loop-b.ko"]="mod-loop-b.ko"
30 ["test-modprobe/install-cmd-loop/lib/modules/4.4.4/kernel/mod-loop-a.ko"]="mod-loop-a.ko"
31 ["test-modprobe/install-cmd-loop/lib/modules/4.4.4/kernel/mod-loop-b.ko"]="mod-loop-b.ko"
32 ["test-modprobe/force/lib/modules/4.4.4/kernel/"]="mod-simple.ko"
33 ["test-modprobe/oldkernel/lib/modules/3.3.3/kernel/"]="mod-simple.ko"
34 ["test-modprobe/oldkernel-force/lib/modules/3.3.3/kernel/"]="mod-simple.ko"
35 ["test-modprobe/alias-to-none/lib/modules/4.4.4/kernel/"]="mod-simple.ko"
36 ["test-modprobe/module-param-kcmdline/lib/modules/4.4.4/kernel/"]="mod-simple.ko"
37 ["test-depmod/modules-order-compressed/lib/modules/4.4.4/kernel/drivers/block/cciss.ko"]="mod-fake-cciss.ko"
38 ["test-depmod/modules-order-compressed/lib/modules/4.4.4/kernel/drivers/scsi/hpsa.ko"]="mod-fake-hpsa.ko"
39 ["test-depmod/modules-order-compressed/lib/modules/4.4.4/kernel/drivers/scsi/scsi_mod.ko"]="mod-fake-scsi-mod.ko"
40 ["test-modinfo/mod-simple-i386.ko"]="mod-simple-i386.ko"
41 ["test-modinfo/mod-simple-x86_64.ko"]="mod-simple-x86_64.ko"
42 ["test-modinfo/mod-simple-sparc64.ko"]="mod-simple-sparc64.ko"
43 )
44
45 gzip_array=(
46 "test-depmod/modules-order-compressed/lib/modules/4.4.4/kernel/drivers/block/cciss.ko"
47 "test-depmod/modules-order-compressed/lib/modules/4.4.4/kernel/drivers/scsi/hpsa.ko"
48 "test-depmod/modules-order-compressed/lib/modules/4.4.4/kernel/drivers/scsi/scsi_mod.ko"
49 )
50
51 for k in ${!map[@]}; do
52 dst=${ROOTFS}/$k
53 src=${MODULE_PLAYGROUND}/${map[$k]}
54
55 if test "${dst: -1}" = "/"; then
56 install -d $dst
57 install -t $dst $src
58 else
59 install -D $src $dst
60 fi
61 done
62
63 # start poking the final rootfs...
64
65 # gzip these modules
66 for m in "${gzip_array[@]}"; do
67 gzip $ROOTFS/$m
68 done