-
Notifications
You must be signed in to change notification settings - Fork 1
Installation
cybersnakeh edited this page Jan 15, 2026
·
2 revisions
This page covers building, installing, and maintaining the driver and library. Use deploy.sh for the automated path.
- Linux kernel 6.1+ on x86_64 (stealth VMA unlinking relies on Maple Tree)
- Kernel headers matching the running kernel
- Build tools: gcc/g++, make, clang/llvm, cmake
- libelf development headers
- DKMS (recommended) for kernel updates
- Optional: AppArmor (
apparmor_parser), SELinux tooling (selinux-policy-devel/checkpolicy)
./deploy.sh build
sudo ./deploy.sh install
sudo ./deploy.sh loadIf Secure Boot blocks module loading, sign the module after building:
./sign-module.shFollow the MOK enrollment prompts and reboot if required.
-
deps(root): install build dependencies -
build: build kernel module + userland lib -
install(root): install everything (DKMS by default), udev, modprobe config, security profiles if available -
uninstall(root): remove module, DKMS, libs, configs, security artifacts -
load/unload/reload(root): control the module -
status: show module/DKMS/device state and recent dmesg lines -
clean: remove build artifacts -
vm: optional rsync to a VM - Options:
--debug,--no-dkms,--no-selinux,--no-apparmor,--force,--prefix=PATH,-j/--jobs N
cd kernel
make
sudo insmod snakedrv.ko # or sudo modprobe snakedrvcd userland
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)- Libraries:
/usr/local/lib/libsnakedrv.so(and.aif built) - Headers:
/usr/local/include/snakeengine/ - Device:
/dev/snakedrv - Modprobe config:
/etc/modprobe.d/snakedrv.conf - udev:
/etc/udev/rules.d/99-snakedrv.rules - DKMS source:
/usr/src/snakedrv-<version>/(if DKMS enabled)
sudo modprobe snakedrv
sudo usermod -aG snakeengine $USER
udevadm control --reload-rules && udevadm triggersudo ./deploy.sh unload
sudo ./deploy.sh uninstall- Secure Boot may require module signing.
- Keep
debug_levelto 1 in production; increase only for debugging.