-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild-dkms-modules.sh
executable file
·89 lines (76 loc) · 4.3 KB
/
build-dkms-modules.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#!/bin/sh
# Resign your modules if you kernels was updated and you get the error-
# Failed to load kernel modules with required key not available for modules
# Fail on error
set -e
echo "-----------------------------------------------"
echo "Looking up the journal for failed modules..."
echo "-----------------------------------------------"
journalctl | grep modules
echo "Building for all kernels..."
ls /var/lib/initramfs-tools | \
sudo xargs -n1 /usr/lib/dkms/dkms_autoinstaller start
echo "-----------------------------------------------"
echo "Signing for updated kernel: $(uname -r)"
echo "-----------------------------------------------"
echo "Signing vbox..."
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 \
kernel-signing-keys/MOK.priv kernel-signing-keys/MOK.der $(modinfo -n vboxnetadp)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 \
kernel-signing-keys/MOK.priv kernel-signing-keys/MOK.der \
/lib/modules/$(uname -r)/misc/vboxnetadp.ko
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 \
kernel-signing-keys/MOK.priv kernel-signing-keys/MOK.der $(modinfo -n vboxnetflt)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 \
kernel-signing-keys/MOK.priv kernel-signing-keys/MOK.der \
/lib/modules/$(uname -r)/misc/vboxnetflt.ko
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 \
kernel-signing-keys/MOK.priv kernel-signing-keys/MOK.der $(modinfo -n vboxpci)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 \
kernel-signing-keys/MOK.priv kernel-signing-keys/MOK.der \
/lib/modules/$(uname -r)/misc/vboxpci.ko
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 \
kernel-signing-keys/MOK.priv kernel-signing-keys/MOK.der $(modinfo -n vboxguest)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 \
kernel-signing-keys/MOK.priv kernel-signing-keys/MOK.der \
/lib/modules/$(uname -r)/kernel/ubuntu/vbox/vboxguest/vboxguest.ko
#sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 \
# kernel-signing-keys/MOK.priv kernel-signing-keys/MOK.der $(modinfo -n vboxsf)
#sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 \
# kernel-signing-keys/MOK.priv kernel-signing-keys/MOK.der \
# /lib/modules/$(uname -r)/kernel/ubuntu/vbox/vboxsf/vboxsf.ko
#
#sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 \
# kernel-signing-keys/MOK.priv kernel-signing-keys/MOK.der $(modinfo -n vboxvideo)
#sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 \
# kernel-signing-keys/MOK.priv kernel-signing-keys/MOK.der \
# /lib/modules/$(uname -r)/kernel/ubuntu/vbox/vboxvideo/vboxvideo.ko
#
#sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 \
# kernel-signing-keys/MOK.priv kernel-signing-keys/MOK.der $(modinfo -n vboxdrv)
#sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 \
# kernel-signing-keys/MOK.priv kernel-signing-keys/MOK.der \
# /lib/modules/4.4.0-64-generic/misc/vboxdrv.ko
echo "Signing bbswitch..."
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 \
kernel-signing-keys/MOK.priv kernel-signing-keys/MOK.der $(modinfo -n bbswitch)
echo "Signing nvidia..."
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 \
kernel-signing-keys/MOK.priv kernel-signing-keys/MOK.der $(modinfo -n nvidia_384_drm)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 \
kernel-signing-keys/MOK.priv kernel-signing-keys/MOK.der $(modinfo -n nvidia_384_uvm)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 \
kernel-signing-keys/MOK.priv kernel-signing-keys/MOK.der $(modinfo -n nvidia_384_modeset)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 \
kernel-signing-keys/MOK.priv kernel-signing-keys/MOK.der $(modinfo -n nvidia_384)
echo "-----------------------------------------------"
echo "Configuring vbox..."
echo "-----------------------------------------------"
# Enable if you wish to rebuild
# sudo sh -x /sbin/vboxconfig
# Sign all
sudo find / -name "vbox*" | grep ko | sudo xargs -n1 /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 kernel-signing-keys/MOK.priv kernel-signing-keys/MOK.der
echo "Restarting vboxdrv"
sudo modprobe vboxdrv
sudo service vboxdrv restart
echo "Done!"