Ären Tunnel huet gëschter geschafft, de Rechner huet no engem Update nei gestart, an elo kënnt d'Interface net erop. Op engem System, wou WireGuard als externt Modul gebaut gëtt, ass déi üblech Ursaach, datt d'Modul um Disk zu enger anerer Kernelversioun gehéiert wéi déi, déi elo leeft. Header mat engem ähnlechen Numm um selwechte Rechner beweise näischt iwwer dës Iwwereneestëmmung. Nëmmen de Versiounsstrang entscheet dat.

Lafenden oder installéierte Kernel

En Update installéiert en neit Kernelpaket an léisst dat aalt um Disk, bis de Rechner nei start. No dem Neistart ännert sech déi lafend Versioun, an all Modul, dat géint déi virecht gebaut gouf, gëtt onbrauchbar, och wann seng Dateien nach do sinn. Dës Lück erkläert de bekannte Bericht vun engem Rechner, deen virun engem Neistart an der Rei war an duerno futti, ouni eng Konfiguratiounsännerung dertëschent. Et erkläert och, firwat d'Neiinstallatioun vun Header de Problem heiansdo schéngt ze léisen an heiansdo net.

D'Header-Paket, dat Dir installéiert, kann zum neiste Kernelpaket passen an net zu deem Kernel, deen tatsächlech gestart gouf, an näischt am Numm vum Paket ënnerscheet dës Fäll; nëmmen de Versiounsstrang mécht dat. Kontrolléiert, wat leeft, ier Dir kontrolléiert, wat installéiert ass.

Dräi Kontrollen virum Neibau

Déi éischt Kontroll ass, wéi ee Kernel leeft. Déi zweet ass, ob et e Modul fir déi Versioun gëtt an ob et ze fannen ass. Déi drëtt ass, ob de Kernel et schonn gelueden huet. Déi véiert Fro, ob d'Interface ka gemaach ginn, testet Privilegien an net d'Modul, also gehéiert se no dem Neibau an net an dës Lëscht.

D'Kommandos hei drënner beäntweren déi éischt dräi, ouni eppes ze änneren. Liest all Resultat, ier Dir weidergitt, well all Äntwert eng aner Reparatur ausschléisst.

uname -r
ls -l /lib/modules/$(uname -r)/build
modinfo wireguard
lsmod | grep wireguard

Wann déi zweet Linn mellt, datt de Pad net existéiert, feelt d'Bauëmgebung fir de lafende Kernel an näischt, wat Dir kompiléiert, wäert dozou passen. Wann modinfo feelt, wärend de Pad existéiert, ass d'Modul vläicht guer net installéiert, wat normal ass op Kernel, déi d'Implementatioun am Bam matbréngen. Wann modinfo geléngt an lsmod näischt weist, ass d'Modul do, awer net gelueden, wat e Luedproblem ass an net e Bauproblem. All Resultat schéckt Iech soss wouhin, dofir ass d'Liesen wichteger wéi d'Kommandos.

Baut géint déi lafend Versioun

En externt Modul gëtt géint en preparéierte Kernelbam kompiléiert, an de Kernel-Leitfaden fir extern Moduler beschreift d'Benotze vum Bauverzeechnis, dat zum lafende Kernel gehéiert, an net dat Verzeechnis mat der héchster Versiounsnummer. Dat Bauverzeechnis ass e symbolesche Link, dee vum Kernelpaket ënnerhal gëtt, also weist et op de Bam fir déi Versioun, déi just gestart gouf. D'Ëmweeglechkeet ass just de Punkt: et hëlt eng Wal ewech, déi Dir soss falsch géift treffen. Wann Dir et ausdrécklech nennt, gëtt d'Zil eendeiteg.

En Detail zielt, wann de Bam just preparéiert an net vollstänneg gebaut gouf. D'Preparatiounszil produzéiert net d'Symbolversiounsdatei, déi verschidden extern Bauten brauchen, also ass e Bam voll Header net automatesch eng komplett Bauëmgebung. Wann e Bau wéinst fehlenden Symbolen feelt, ass déi Datei déi éischt Plaz fir nozekucken.

sudo make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
sudo make -C /lib/modules/$(uname -r)/build M=$(pwd) modules_install
sudo depmod -a

Wann gepackte Header hannendran hänken

Op Distributiounen an Eenheetplackecomputer, déi hir eege Kernel pakéieren, kënnen Header Deeg oder Woche mat der Versioun hannendran hänken. D'Header-Paket kann am Numm richteg an am Inhalt méi al sinn, wat e Bau gëtt, dee kompiléiert an duerno beim Luede feelt, an net wärend der Kompilatioun. Quellen ze mëschen verschlëmmert et: en Distributiounskernel mat Header aus engem Drëttpack-Repository, oder e Hierstellkernel mat allgemengen Header kann propper kompiléieren an duerno awer vum lafende Kernel verworf ginn, well d'Konfiguratioun anescht ass. Versiounsnummeren eleng entscheeden dat net.

Wann de Rechner engem experimentelle Kernelkanal follegt, entscheet bewosst, ob Dir do mat passenden Bauartefakte bleift oder op dee missenen Paketsaz zréckkënnt. Den Update widderhuelen an ze hoffen, datt d'Deeler zesummenpassen, ass keen Plang, well déi selwecht Onstëmmegkeet sech all Kéier widderhëlt.

Kontrolléiert d'Interface no dem Neibau

No enger gelungener Installatioun ass d'Erstelle vun der Interface dee Test, deen zielt, duerno d'Liesen, wat de Kernel tatsächlech gelueden huet a wat de Log seet, wann en et refuséiert huet. En Modul, dat luedt, an eng Interface, déi net ka gemaach ginn, si verschidde Feeler mat verschiddenen Ursaachen. Déi dräi Kommandos hei drënner trennen se.

sudo ip link add wg9 type wireguard
lsmod | grep wireguard
sudo dmesg | tail -5

Wann d'Modul refuséiert ze lueden, nennt de Kernellog de Grond, an eng Versiounsonstëmmegkeet ass just eng vun de Méiglechkeeten. Liest déi Linn, ier Dir nach emol baut, well en zweeten identesche Bau déiselwecht zéng Minutten kascht an déiselwecht Refus gëtt. Duerno entfernt déi temporär Interface, fir datt den nächsten Test vun engem proppere Zustand aus ufänkt.

Ähnlech Artikelen