forked from saber-nyan/kernel-modules-hook
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path10-linux-modules-pre.hook
More file actions
11 lines (10 loc) · 1.01 KB
/
10-linux-modules-pre.hook
File metadata and controls
11 lines (10 loc) · 1.01 KB
1
2
3
4
5
6
7
8
9
10
11
[Trigger]
Operation = Install
Operation = Upgrade
Type = Path
Target = usr/lib/modules/*/vmlinuz
[Action]
Description = Saving Linux kernel modules...
When = PreTransaction
Depends = coreutils
Exec = /bin/sh -c 'KVER="${KVER:-$(uname -r)}"; if test -e "/usr/lib/modules/${KVER}"; then mkdir -p /usr/lib/modules/backup; cp -ral "/usr/lib/modules/${KVER}" /usr/lib/modules/backup; dkms_dir="/var/lib/dkms"; dkms_backup_dir="/usr/lib/modules/dkms-backup"; mkdir -p "$dkms_backup_dir"; if test -e "$dkms_dir"; then for module_dir in "$dkms_dir"/*; do module_name=$(basename "$module_dir"); module_version=$(ls "$module_dir" | grep -E '^[0-9]+\.[0-9]+\.[0-9]+'); if test -e "$module_dir/$module_version/$KVER"; then mkdir -p "$dkms_backup_dir/$module_name/$module_version"; cp -ral "$module_dir/$module_version/$KVER" "$dkms_backup_dir/$module_name/$module_version/"; fi; if test -e "$module_dir/kernel-$(uname -r)-$(uname -m)"; then cp -ral "$module_dir/kernel-$(uname -r)-$(uname -m)" "$dkms_backup_dir/$module_name/"; fi; done; fi; fi;'