Ich weiß, es ist schwer, die CPU zu isolieren, aber die Fehler, die ich sehe, deuten darauf hin, dass dies das Problem ist.
Dies ist definitiv kein fehlerhaftes / defektes Hardwareproblem . Ich habe in den letzten Tagen den ganzen Tag Windows 10 ausgeführt und dieses Ding flippt schnell! Kein Absturz. Noch wichtiger ist, dass ich die Windows-Speicherprüfung ausgeführt habe. Das Gedächtnis ist alles gut.
Maschinenspezifikationen
Die Maschine ist eine brandneue Lenovo Yoga 710 15 "
x64
Intel i7-6500 CPU @ 2.50 GHz, 2601 Mhz, 2 Cores, 4 Logical Processors
SMBIOS Version 2.8
BIOS Mode UEFI
16.0 GB DDR4 Ram
256 MB SSD
Isolieren zum Linux-Kernel (?)
Ich habe bei beiden die gleichen Probleme gesehen
- archlinux-2016.08.01-dual.iso
- ubuntu-gnome-16.04.1-desktop-amd64.iso
Für Arch - das Problem trat nur zeitweise beim Booten vom USB-Stick auf. Ich habe es geschafft, Arch auf einer 100 GB ext4-Partition auf dem Laufwerk zu installieren. Diese Installation hat das gleiche Problem zeitweise (wie in 90% der Fälle) während des Startvorgangs. Wenn ich den Start bestanden habe, wird das Problem nach den ersten von mir ausgeführten Terminalbefehlen zufällig angezeigt, was schließlich zu einem vollständigen Deadlock führt.
Für Ubuntu - der USB-Stick bootet nicht einmal. Ich werde sofort von denselben Fehlern gestoppt. Sackgasse...
So viele Fehler ...
Das Tagebuch ist in diesem Fall mit speicherbezogenen Fehlern gefüllt, aber die wichtigsten Fehler, die ich sehe, sind:
General protection fault 0000[#1] PREEMPT SMP
RIP kmem_cache_alloc
RIP kmem_cache_alloc_trace
Ich habe einige der gleichen Stapelspuren mehrmals für diese Fehler gesehen:
rbt_memtype_copy_nth_element
on_each_cpu
flusH_tbl_kernel_range
__purge_umap_area_lazy
um_unmam_aliases
change_page_attr_set_clr
set_memory_ro
frob_text.isra
module_enable_ro
kobject_create
kobject_create_and_add
load_module
__symbol_put
kernel_read
sys_finit_module
entry_SYSCALL_64_fastpath
kmem_cache_alloc_trace
allocate_cgrp_cset_links
...
sys_write
entry_SYSCALL-64_fastpath
Linux verspricht auch weiterhin, das Problem zu beheben
Behebung eines rekursiven Fehlers, aber ein Neustart ist erforderlich!
Ich wünsche..
Intel UCode
Ich habe auch versucht, das intel-ucode
Paket in meiner Arch-Installation zu installieren. Ich habe in den dmesg
Protokollen gesehen, dass die Mikrocodes aktualisiert wurden, aber das hat mein Problem leider nicht gelöst.
Was könnte das Problem sein? Wie kann es behoben werden?
BEARBEITEN
Zusätzliche Anmerkung.
Die allgemeinen Schutzfehlermeldungen und Meldungen vom Typ "Sperrung erkannt" verweisen normalerweise auf eine CPU. Ich habe gesehen CPU0
, CPU1
, CPU2
und CPU3
in diesen Nachrichten. Es scheint, als ob etwas dazu führt, dass die CPUs nicht miteinander auskommen, als ob sie alle in einem Deadlock sind und versuchen, den Cache-Speicher oder etwas anderes zu löschen.
EDIT2
BIOS irrtümlich erwähnt
Ich sehe diese Information in einigen Fehlern:
LENOVO 80U01LENOVO YOGA710-1 BIOS OGCN20WW(v1.04) 6/30/2016
Ich bin mir nicht sicher, ob dies für einen Profi hilfreich ist, um das Problem zu verstehen ...
EDIT3
maxcpus = 1
Ich habe nach Debugging-Optionen in der Kernel-Parameter-Dokumentation gesucht und gefundenmaxcpus
Wenn ich die maximale CPU auf 1 setze, verschwindet das Problem. Es scheint also, dass das Problem eine Art Verletzung des gemeinsam genutzten Cache-Speichers ist.
EDIT3
maxcpus = 1 + Gnome = wieder kaputt
Obwohl maxcpus=1
das System nur mit 1 CPU zu funktionieren schien, installierte ich gnome und lief dannsystemctl enable gdm.service
Wenn ich jetzt neu starte, werden alle meine Fehler wieder angezeigt, aber diesmal treten sie alle auf CPU0 auf
Es scheint also, dass selbst bei 1 CPU immer noch etwas eine Speicherverletzung verursacht.
EDIT4
nolapic
Die Verwendung nolapic
scheint also alles "zum Laufen zu bringen"
ABER durch die Verwendung nolapic
deaktiviere ich effektiv meine andere CPU und alle Multithreading in der 1 funktionierenden CPU.
Ich versuche dies für OpenMP zu verwenden und nach dem Booten mit nolapic
können OpenMP und der Linux-Kernel nur 1 Thread, 1 CPU finden. Das ist Scheiße!
Ich habe auch versucht, intel_idle.max_cstate=0
und 1
, 2
etc. Aber das behebt das Boot-Problem nicht.
Was könnte dazu führen, dass der Kernel meinen Multi-Core-Computer nicht nutzt?
quelle
nomodeset
undnouveau.mode=0
- nicht sicher, ob das ähnlich ist)maxcpus
- ich habe es auf 1 gesetzt und das Problem verschwindet ... Aber jetzt kann ich nur einen Prozessor verwenden? :(nomodeset nouveau.modeset=0
zusammen aus und wenn das nicht funktioniert, versuchen Sie esnomodeset i915.modeset=0 nouveau.modeset=0
Antworten:
Es stellte sich heraus, dass das Problem war
i2c_hid
Dies scheint eine Art Touchpad-Treiber zu sein. Aus irgendeinem Grund kann ich mein Touchpad weiterhin verwenden, wenn ich es deaktiviere. Es kann sein, dass der Touchscreen des Laptops auch diesen Treiber verwendet, da dies nicht funktioniert.
Ich mag es sowieso nicht, meinen Laptop-Bildschirm mit Fingerabdrücken zu beschmutzen ... Also tschüss
i2c_hid
!Ich habe es behoben, indem ich dies zu den Kernel-Parametern hinzugefügt habe:
modprobe.blacklist=i2c_hid
Obwohl es
nolapic
auch funktioniert hat, hat es alle bis auf einen Kern in Prozessoren deaktiviert.Ich würde jedem empfehlen, es nicht zu benutzen
apci=off
odernolapic
aus diesem Grund.Die Verwendung dieser Optionen ist eine Atomwaffe, mit der Ihre Maschine möglicherweise funktioniert. Sie verlieren jedoch viel Leistung und / oder E / A-Geräte als Kollateralschaden. Es ist ein guter Ausgangspunkt, um gebootet zu werden, und dann können Sie wie ich durch das Journal gießen, um die fehlgeschlagenen Stiefel zu analysieren.
Viel Glück für diejenigen, die dies finden.
quelle
hid_sensor_hub
ausreichend ist und der Touchscreen auch verwendet werden kann (siehe meine Antwort unten für weitere Details).Alle diese Fehler sehen aus wie die, die ich bei fehlerhaften Kernelmodulen gesehen habe.
Es gibt jemanden auf Ubuntuforums, der behauptet, er habe Ubuntu dazu gebracht, auf einem 710-14ISK zu booten, indem er acpi deaktiviert (
acpi=off
zu den Kernel-Optionen hinzufügen ). https://ubuntuforums.org/showthread.php?t=2329448Ein anderer Kunde in den Lenovo-Foren gab an, Probleme beim Booten von Fedora 24 zu haben, und führte das Problem auf eine Broadcom-Firmware zurück: https://forums.lenovo.com/t5/Linux-Discussion/Yoga-710-How-to-install-Linux / td-p / 3361544
Versuchen Sie, die Broadcom- und Nouveau-Module auf die schwarze Liste zu setzen (lassen Sie sie nicht beansprucht), und starten Sie mit ausgeschaltetem acpi. Ich hatte ähnliche Protokolle, als ich ein schlecht benommenes Ralink-Modul in einem alten Acer hatte: Wenn ich das Modul auf die schwarze Liste setzte, konnte ich booten und die Kernel-Panik stoppen, ließ mich aber ohne WLAN.
PS. Ich würde das alles in einen Kommentar einfügen, aber ich habe nicht genug Ruf, um einen Kommentar abzugeben (sorry).
quelle
acpi=off
hat den Fehler behoben, aber es deaktiviert auch meine Tastatur. Es sieht so aus, als gäbe es mit acpi detailliertere Optionen, also werde ich sehen, ob ich die Fehler stoppen kann, während ich meine Tastaturacpi=ht
zuerst versuchen . help.ubuntu.com/community/BootOptions (siehe Common Kernel Options) oder eine umfassendere Liste: kernel.org/doc/Documentation/kernel-parameters.txtnolapic
hat für mich gearbeitet und ich kann booten, aber ich kann dann nur auf eine meiner CPUs zugreifen. Ich versuche, diesen Laptop für die Entwicklung von OpenMP-Programmen zu verwenden, daher ist es nicht in Ordnung, nur 1 CPU zu haben. Es scheint, dass etwas furchtbar falsch daran ist, wie der Kernel versucht, meine mehreren CPUs zu verwenden. Die Tatsache, dassnolapic
"Fixes" booten, kann nur zufällig sein, weil es den Kernel auf 1 CPU begrenztIch hatte ähnliche Probleme mit den neuesten Kerneln (4.7.x bis 4.8.2) auf meinem Yoga710 mit i5-6200U. Das Deaktivieren von i2c_h2d funktioniert bei mir. Ich fand auch, dass Linux-lts (derzeit 4.4.25) gut zu funktionieren scheint, einschließlich des Touchpads und des Touchscreens.
Bearbeiten: Beim Experimentieren mit dem Treibercode habe ich festgestellt, dass dies tatsächlich vom
hid_sensor_hub
Treiber verursacht wird. Wenn Sie ihn also auf die schwarze Liste setzen, wird das Problem behoben, und der Touchscreen kann ebenfalls verwendet werden. Wenn Sie es deaktivieren, werden die Sensoren (z. B. der Beschleunigungsmesser) nicht erkannt. Ich habe versucht, den Treiber zu reparieren. Ich habe jedoch noch keinen Weg gefunden.quelle
Für die Skylake-Unterstützung benötigen Sie einen Linux-Kernel der Version 4.4 oder höher. Schauen Sie sich den folgenden Link im Arch Linux-Wiki an. https://wiki.archlinux.org/index.php/intel_graphics#Skylake_support
quelle