tech:notes_dkms_et_construction_paquet_debian_netatop
Notes DKMS et construction paquet Debian netatop
DKMS
Netatop DKMS :
Error! Build offailed for: Consult the make.log in the build directory
On met le code source dans /usr/src/netatop-0.7
On créer un fichier dkms.conf
/usr/src/netatop-0.7/dkms.conf
PACKAGE_NAME="netatop" PACKAGE_VERSION="0.7" MAKE="make" CLEAN="make clean" BUILT_MODULE_NAME[0]="netatop" DEST_MODULE_LOCATION[0]="/updates" AUTOINSTALL="yes" REMAKE_INITRD=no
dkms add -m netatop -v 0.7
Creating symlink /var/lib/dkms/netatop/0.7/source ->
/usr/src/netatop-0.7
DKMS: add completed
dkms build -m netatop -v 0.7
Error! Build of netatop.ko failed for: 3.16.0-4-amd64 (x86_64) Consult the make.log in the build directory
Si erreur on copie le Makefile, que l'on modifiera
cp -p Makefile Makefile.dkms vim Makefile.dkms
/usr/src/netatop-0.7/Makefile.dkms
all: ./mkversion cd module; make cp -p ./module/netatop.ko . clean: cd module; make clean
On modifie me fichier dkms.conf pour que make prend le nouveau Makefile.dkms
/usr/src/netatop-0.7/dkms.conf
PACKAGE_NAME="netatop" PACKAGE_VERSION="0.7" MAKE="make -f Makefile.dkms" CLEAN="make -f Makefile.dkms clean" BUILT_MODULE_NAME[0]="netatop" DEST_MODULE_LOCATION[0]="/updates" AUTOINSTALL="yes" REMAKE_INITRD=no
Puis
dkms build -m netatop -v 0.7
Construction d'un paquet Debian
dkms mkdeb -m netatop -v 0.7 cp -p /var/lib/dkms/netatop/0.7/deb/netatop-dkms_0.7_all.deb ~
Reset : On remet tous à neuf
make clean dkms remove -m netatop -v 0.7 -k all rm /var/lib/dkms/netatop -rf
On test
dpkg -i netatop-dkms_0.7_all.deb
DKMS: add completed. First Installation: checking all kernels... Building only for 3.16.0-4-amd64 Building for architecture amd64 Building initial module for 3.16.0-4-amd64 Error! Bad return status for module build on kernel: 3.16.0-4-amd64 (amd64) Consult /var/lib/dkms/netatop/0.7/build/make.log for more information.
Voyons ça /var/lib/dkms/netatop/0.7/build/make.log
DKMS make.log for netatop-0.7 for kernel 3.16.0-4-amd64 (amd64) dimanche 8 mai 2016, 22:05:44 (UTC+0200) ./mkversion make: execvp: ./mkversion: Permission non accordée Makefile.dkms:2: recipe for target 'all' failed make: *** [all] Error 127
La solution la plus simple, on ajoute un chmod +x dans le Makefile.dkms
Makefile.dkms
all: chmod +x ./mkversion ./netatop.init ./mkversion cd module; make cp -p ./module/netatop.ko . clean: cd module; make clean
Notes
Status
dkms status -m netatop
Reset : On remet tous à neuf
make clean dkms remove -m netatop -v 0.7 -k all rm /var/lib/dkms/netatop -rf
Module linux
rmmod netatop modprobe netatop depmod -a
Exemple de conf
dkms.conf
PACKAGE_NAME="e1000e" PACKAGE_VERSION="3.4.2.4" MAKE[0]="cd src/ && make KVERSION=$kernelver BUILD_KERNEL=$kernelver" CLEAN="cd src/ && make clean" BUILT_MODULE_NAME[0]="e1000e" BUILT_MODULE_LOCATION[0]="src/" DEST_MODULE_LOCATION[0]="/updates" REMAKE_INITRD="yes" AUTOINSTALL="yes"
Source : https://github.com/kelebek333/e1000e-dkms/blob/master/dkms.conf
tech/notes_dkms_et_construction_paquet_debian_netatop.txt · Dernière modification : de Jean-Baptiste
