Mein Kernel gerät immer wieder in Panik, wenn er mit einem bestimmten drahtlosen Netzwerk verbunden ist. Ich möchte einen Fehlerbericht senden, aber mein Kernel ist anscheinend beschädigt. Von /var/log/messages
:
Apr 17 21:28:22 Eiger kernel: [13330.442453] Pid: 4095, comm: kworker/u:1 Tainted: G O 3.8.4-102.fc17.x86_64 #1
und
[root@Eiger ~]# cat /proc/sys/kernel/tainted
4096
Ich konnte keine Dokumentation für die Bedeutung der 4096-Bitmaske findenDas . Wie finde ich heraus, welches Modul den Kernel befleckt?G
Flag bedeutet jedoch, dass ein externes GPL-Modul in den Kernel geladen wird
Ich habe für grep [Tt]aint
in /var/log/messages
oder dmesg
und finde nichts entspricht , wenn ein Modul geladen wird. Mein Kernel ist der neueste Kernel von Fedora 17: 3.8.4-102.fc17.x86_64.
UPDATE : Möglicherweise liegt es am rts5139
Modul. Es wird in angezeigt, erzeugt lsmod
aber Beim Booten des vorherigen Kernels 3.8.3-103.fc17.x86_64 wird dieses Modul nicht aufgelistet und der Kernel ist nicht fehlerhaft ( ist 0).modinfo rts5139
ERROR: Module rts5139 not found.
lsmod
/proc/sys/kernel/taint
Ich habe versucht, dieses Modul auf die schwarze Liste zu setzen
echo 'blacklist rts5139' >> /etc/modprobe.d/blacklist.conf
Beim Neustart wird der Kernel jedoch weiterhin als fehlerhaft angezeigt.
4096 - An out-of-tree module has been loaded
.Antworten:
Ich glaube nicht, dass ein Standard-Fedora-Kernel-Paket Module enthält, die diesen Makel auslösen würden. Die Frage ist also, welche anderen Kernel-Module haben Sie installiert?
Übliche Kandidaten wären Grafiktreiber (obwohl ich denke, dass diese meistens das "proprietäre" Bit setzen) und drahtlose Treiber.
Wenn Sie in der
lsmod
Ausgabe etwas finden, von dem Sie glauben, dass es sich um einen Kandidaten handelt, führen Sie es ausmodinfo <module-name>
undintree: Y
prüfen Sie, ob die Ausgabe ein beliebiges Modul enthält, ohne das der von Ihnen angezeigte Makel ausgelöst wird.UPDATE : Das
rts5139
Modul, in dem Sie sich befinden,lsmod
das sich jedoch nicht auf Ihrem System zu befinden scheint, befindet sich wahrscheinlich in der initrd und wird von dort zu Beginn des Startvorgangs geladen, bevor das Hauptdateisystem bereitgestellt wird.Dies erklärt auch, warum Blacklisting nicht funktioniert, da Sie die initrd mit der aktualisierten Blacklist neu erstellen müssten. Wenn Sie die initrd mit neu erstellen,
dracut
wird das Modul trotzdem entfernt.quelle
lsmod | awk '{print $1}' | xargs modinfo -F intree
. Leider sind alle ErgebnisseY
, bis auf eine Zeile,ERROR: Module rts5139 not found.
lsinitrd
zu sehen, obrts5139
vorhanden ist.kmod-staging
Paket entfernt, aber die initrd enthielt noch einige der Staging-Module. Die Neuinstallation des Kernels hat den Trick getan. Wenn Sie Ihre Antwort mit diesen Informationen aktualisieren, werde ich sie akzeptieren.quelle
Eine andere Möglichkeit besteht darin, die
taint
Datei jedes Moduls in/sys/module
folgenden Schritten zu untersuchen :Wenn ein Modul keinen
taint
Makel aufweist, enthält die Datei nur eine neue Zeile, dieod
als "000012
" dargestellt wird. Sie können die Dateigröße nicht überprüfen, da alle Größen unabhängig vom tatsächlichen Inhalt als 4.096 Byte aufgeführt sind.quelle
Dies kann (zumindest teilweise) das vboxdrv-Kernelmodul von VirtualBox sein. Es ist GPL-fähig, aber Kernel-Betreuer kennzeichnen jetzt Kernel, die als verdorben geladen sind. Weitere Informationen finden Sie unter https://lkml.org/lkml/2011/10/6/317 .
Ich bin mir nicht sicher, ob das Entladen dieses Moduls den Kernel "entleert", aber wenn Sie es geladen haben, ist es wahrscheinlich die Ursache (zumindest teilweise).
Informationen zum Wert der Nummer finden Sie hier: http://kmaiti.blogspot.com/2011/09/how-to-check-whether-current-running.html Es sagt Ihnen nicht, welches Modul, sondern Sie kann die Gründe sehen. Wenn der Wert nicht 0 ist, ist er grundsätzlich fehlerhaft.
quelle
vboxdrv
wird nicht von aufgelistetlsmod
. Ich habe diese Liste von Kernel-Taint-Werten schon einmal gesehen. 4096 ist jedoch nicht aufgeführt und kann nicht durch Kombinieren der anderen Bits generiert werden. Ich vermute, die Dokumentation ist alt.Überprüfen Sie Ihr Boot-Protokoll oder beobachten Sie Ihren Boot-Prozess in einem frühen Stadium (bevor Ihre Festplatten RW gemountet werden). Dies könnte ein schlechtes Modul in Ihrer initrd sein.
Haben Sie DKMS oder ähnliches?
quelle
rts5139
ist anscheinend ein Treiber für einen Realtek-Kartenleser, also vermute ich, dass Sie es nicht geschafft haben, ihn vollständig zu entfernen.