SR_IOV for non amazon linux (centos 7)
install
from epel
config
cp ixgbevf-2.16.4.tar.gz /usr/src
cd /usr/src
tar xzvf ixgbevf-2.16.4.tar.gz
dkms.conf
BAD! (AWS's sample, restart build fail)
MAKE=cd src/; ...
Good!
MAKE=make -C src/ ...
/usr/src/ixgbevf-2.16.4/dkms.conf
PACKAGE_NAME="ixgbevf"
PACKAGE_VERSION="2.16.4"
MAKE="make -C src/ BUILD_KERNEL=${kernelver}"
CLEAN="make -C src/ clean"
BUILT_MODULE_LOCATION[0]="src/"
BUILT_MODULE_NAME[0]="ixgbevf"
DEST_MODULE_LOCATION[0]="/updates"
DEST_MODULE_NAME[0]="ixgbevf"
AUTOINSTALL="yes"
install this dkms's ko
dkms add -m ixgbevf -v 2.16.4
build check for current kernel
dkms build -m ixgbevf -v 2.16.4
dkms install -m ixgbevf -v 2.16.4
status
dkms status
tips
Trigger dkms
- when new (old) kernel install
- reboot
New kernel installed, but did not build ko
You should install kernel & kernel-xxx
pkg's at same time.
OK:
yum install kernel kernel-devel kernel-headers
NG:
yum install kernel
yum install kernel-devel
yum install kernel-headers
Rebooted, but ko was not updated
Set dkms service enabled before reboot.
systemctl enable dkms
best practice
- Setup dkms & ko sources
- build ko @ current kernel, commit to build (dev-tool , gcc ...)
- yum update
kernel kernel-devel kernel-headers
-
dkms status.
If you find ko for new kernel, easy to reboot. - If you can not find ko, manual build
dkms autoinstall --verbose --kernelver <new-kernel-ver>'
new-kernel-ver
format isuname -r
.