]> git.proxmox.com Git - mirror_zfs-debian.git/blob - scripts/load-zfs.sh
Removed build system from master branch, will relocate to linux-zfs-branch
[mirror_zfs-debian.git] / scripts / load-zfs.sh
1 #!/bin/bash
2
3 prog=load-zfs.sh
4 . ../.script-config
5
6 spl_options=$1
7 zpool_options=$2
8
9 spl_module=${SPLBUILD}/modules/spl/spl.ko
10 zlib_module=/lib/modules/${KERNELSRCVER}/kernel/lib/zlib_deflate/zlib_deflate.ko
11 zavl_module=${ZFSBUILD}/lib/libavl/zavl.ko
12 znvpair_module=${ZFSBUILD}/lib/libnvpair/znvpair.ko
13 zport_module=${ZFSBUILD}/lib/libport/zport.ko
14 zcommon_module=${ZFSBUILD}/lib/libzcommon/zcommon.ko
15 zpool_module=${ZFSBUILD}/lib/libzpool/zpool.ko
16 zctl_module=${ZFSBUILD}/lib/libdmu-ctl/zctl.ko
17 zpios_module=${ZFSBUILD}/lib/libzpios/zpios.ko
18
19 die() {
20 echo "${prog}: $1" >&2
21 exit 1
22 }
23
24 load_module() {
25 echo "Loading $1"
26 /sbin/insmod $* || die "Failed to load $1"
27 }
28
29 if [ $(id -u) != 0 ]; then
30 die "Must run as root"
31 fi
32
33 if /sbin/lsmod | egrep -q "^spl|^zavl|^znvpair|^zport|^zcommon|^zlib_deflate|^zpool"; then
34 die "Must start with modules unloaded"
35 fi
36
37 if [ ! -f ${zavl_module} ] ||
38 [ ! -f ${znvpair_module} ] ||
39 [ ! -f ${zport_module} ] ||
40 [ ! -f ${zcommon_module} ] ||
41 [ ! -f ${zpool_module} ]; then
42 die "Source tree must be built, run 'make'"
43 fi
44
45 load_module ${spl_module} ${spl_options}
46 load_module ${zlib_module}
47 load_module ${zavl_module}
48 load_module ${znvpair_module}
49 load_module ${zport_module}
50 load_module ${zcommon_module}
51 load_module ${zpool_module} ${zpool_options}
52 load_module ${zctl_module}
53 load_module ${zpios_module}
54
55 sleep 1
56 echo "Successfully loaded ZFS module stack"
57
58 exit 0