From ee5d6c7c3e3cfb02a6128f11193bdb807e133e7d Mon Sep 17 00:00:00 2001 From: Geoffrey McRae Date: Thu, 23 May 2019 18:46:27 +1000 Subject: [PATCH] [module] update instructions and add dkms.conf Fixes #148 --- VERSION | 2 +- module/Makefile | 1 - module/README.md | 32 +++++++++++++++++++------------- module/dkms.conf | 8 ++++++++ 4 files changed, 28 insertions(+), 15 deletions(-) create mode 100644 module/dkms.conf diff --git a/VERSION b/VERSION index 0db7ffef..a68a4c74 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -a12-222-g9378f69653+1 \ No newline at end of file +a12-223-g1492196bbf+1 \ No newline at end of file diff --git a/module/Makefile b/module/Makefile index b92d5c81..74cdf077 100644 --- a/module/Makefile +++ b/module/Makefile @@ -12,4 +12,3 @@ test: all grep -q '^kvmfr' /proc/modules && sudo rmmod kvmfr || true sudo insmod ./kvmfr.ko sudo chown $(USER) /dev/uio0 - ../client/bin/looking-glass-client -f /dev/uio0 -L 128 diff --git a/module/README.md b/module/README.md index edb29c01..d8bcc894 100644 --- a/module/README.md +++ b/module/README.md @@ -1,7 +1,7 @@ This kernel module implements a basic interface to the IVSHMEM device for LookingGlass when using LookingGlass in VM->VM mode. -## Compiling +## Compiling (Manual) Make sure you have your kernel headers installed first, on Debian/Ubuntu use the following command. @@ -10,7 +10,7 @@ the following command. Then simply run `make` and you're done. -## Usage +### Loading This module requires the `uio` module to be loaded first, loading it is as simple as: @@ -18,6 +18,21 @@ simple as: modprobe uio insmod kvmfr.ko +## Compiling & Installing (DKMS) + +You can install this module into DKMS so that it persists across kernel +upgrades. Simply run: + + dkms install . + +### Loading + +Simply modprobe the module: + + modprobe kvmfr + +## Usage + This will create the `/dev/uio0` node that represents the KVMFR interface. To use the interface you need permission to access it by either creating a udev rule to ensure your user can read and write to it, or simply change it's @@ -25,17 +40,8 @@ ownership manually, ie: sudo chown user:user /dev/uid0 -Usage with looking glass is simple, but you do need to speecify both the path -and the size as LookingGlass can not determine the size by itself at this time. +Usage with looking glass is simple, you only need to specify the path to the +device node, for example: ./looking-glass-client -f /dev/uio0 -L 16 -## Note - -This module is not strictly required, it is possible to access the device -via the /sys interface directly, for example: - - ./looking-glass-client -f /sys/devices/pci0000:00/0000:00:03.0/resource2_wc - -Obviously adjusting the PCI device IDs as required. However while this is -possible it is not recommended as access to the shared memory is much slower. diff --git a/module/dkms.conf b/module/dkms.conf new file mode 100644 index 00000000..7810948d --- /dev/null +++ b/module/dkms.conf @@ -0,0 +1,8 @@ +PACKAGE_NAME=kvmfr +PACKAGE_VERSION=0.1 +BUILT_MODULE_NAME[0]="$PACKAGE_NAME" +MAKE[0]="make -C ${kernel_source_dir} M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build" +CLEAN="make -C ${kernel_source_dir} M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build clean" +DEST_MODULE_LOCATION[0]=/extra +REMAKE_INITRD=yes +AUTOINSTALL=yes