tech:notes_dkms_et_construction_paquet_debian_netatop

Ceci est une ancienne révision du document !


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.1742825205.txt.gz · Dernière modification : de 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki