Om een probleem met de stabiliteit van m'n gigabit netwerkinterface op te lossen, wil ik een nieuwe versie van de e1000e-driver installeren op m'n Debian 9-machine. Bij het installeren (make install) krijg ik echter deze melding:
Deze pagina vond ik terug, waar gesuggereerd wordt om de makefile van de kernel aan te passen zodat PIE gedisabled wordt, zodat terug PIC gebruikt kan worden.
Echter, ik ben absoluut geen linux expert. Gewoon de instructie's in een andere post op die pagina volgen resulteerde in een mislukte patch. Misschien heb ik dit in de verkeerde directory gedaan (/usr/src/linux-headers-4.9.0-4-amd64), of misschien is die patch-file niet geschikt voor een Debian-distro (instructie's zijn voor Ubuntu).
Kan iemand me hiermee helpen? Alvast bedankt!
Achtergrond:
Debian 9-systeem, ooit als Debian 7 geïnstalleerd, en geüpgraded naar 8, en nu dus 9.
Systeem doet dienst als lichte home-server (ZFS pool, SMB fileserver, webservertje, Logitech media server,
...) en als router in m'n netwerk (3 netwerken: wifi naar LEDE-router, 1Gbps/Jumbo frames netwerk en 100Mbps netwerk, die laatste 2 op zelfde interface via VLAN tagging naar switch)
Probleem met de ethernet interface is dat hij bij een speedtest via nperf.com op een Win10-host in het 1Gbps-netwerk 'hangt':
In principe kan ik allerhande features uitschakelen om de stabiliteit te verhogen, maar eerst zou ik willen proberen met de nieuwste versie van de e1000e-driver. Nu is versie 3.2.6-k in gebruik. De nieuwste versie is 3.4.0.2.
cc1: error: code model kernel does not support PIC mode /bin/sh: 1: [: -ge: unexpected operator Makefile:199: *** *** Aborting the build. *** This driver is not supported on kernel versions older than 2.4.0. Stop.
Deze pagina vond ik terug, waar gesuggereerd wordt om de makefile van de kernel aan te passen zodat PIE gedisabled wordt, zodat terug PIC gebruikt kan worden.
Dit is de essentie van die patch:The issue is with your gcc installation, in gcc 6+ versions PIE( position independent executables) is enabled by default. So in order to compile you need to disable it. Even gcc 5 has the issue. This is a known bug for gcc. Bug Link.
So far there is no official patch from gcc side, so the workaround is to patch the Makefile of kernel source.
If you are familiar with patching the source file use the codes from this link to create the patch file then try to compile.Patch File
Let me know if you are having difficulties installing the patch.
code:
1
2
3
4
5
| +# force no-pie for distro compilers that enable pie by default +KBUILD_CFLAGS += $(call cc-option, -fno-pie) +KBUILD_CFLAGS += $(call cc-option, -no-pie) +KBUILD_AFLAGS += $(call cc-option, -fno-pie) +KBUILD_CPPFLAGS += $(call cc-option, -fno-pie) |
Echter, ik ben absoluut geen linux expert. Gewoon de instructie's in een andere post op die pagina volgen resulteerde in een mislukte patch. Misschien heb ik dit in de verkeerde directory gedaan (/usr/src/linux-headers-4.9.0-4-amd64), of misschien is die patch-file niet geschikt voor een Debian-distro (instructie's zijn voor Ubuntu).
Kan iemand me hiermee helpen? Alvast bedankt!
Achtergrond:
Debian 9-systeem, ooit als Debian 7 geïnstalleerd, en geüpgraded naar 8, en nu dus 9.
Systeem doet dienst als lichte home-server (ZFS pool, SMB fileserver, webservertje, Logitech media server,
...) en als router in m'n netwerk (3 netwerken: wifi naar LEDE-router, 1Gbps/Jumbo frames netwerk en 100Mbps netwerk, die laatste 2 op zelfde interface via VLAN tagging naar switch)
Probleem met de ethernet interface is dat hij bij een speedtest via nperf.com op een Win10-host in het 1Gbps-netwerk 'hangt':
[437090.703866] e1000e 0000:00:19.0 eth0: Detected Hardware Unit Hang: ...
In principe kan ik allerhande features uitschakelen om de stabiliteit te verhogen, maar eerst zou ik willen proberen met de nieuwste versie van de e1000e-driver. Nu is versie 3.2.6-k in gebruik. De nieuwste versie is 3.4.0.2.