Hardware: Dell Dimension 4500S : i845G, Pentium 4, Standard + 2 GB RAM und aktuelles BIOS-Update (ca. 2002).
Ich habe ein Linux-System aus dem Quellcode erstellt, bisher ist es LFS 7.0 . Der erste Kernel, den ich erstellt habe, funktioniert einwandfrei, hat aber viel Flaum und Blähungen. Daher optimiere ich jetzt den Kernel für meine Zielhardware (siehe oben).
Mein letzter Konfigurationsversuch und mehrere Versuchs- und Fehlervarianten hingen ständig an der printk-Anweisung "Switching to clocksource tsc". Mein "guter" Kernel hatte noch nie ein Problem ... das ist übrigens Version 3.1.0. Sowohl aus der gleichen Quelle Baum gebaut werden, keine Patches make mrproper
, make menuconfig
etc, so offensichtlich fehlt mir nur einige Schlüssel CONFIG_XXX
Flagge.
Ich habe dieses Problem seit über einem Tag angestarrt und den Kernel erstellt, der weiß, wie oft, aber ohne Erfolg.
Eine Sache, die ich interessant finde, ist mit dem guten Kernel, den ich bekomme:
# cat /sys/devices/system/clocksource/clocksource0/current_clocksource
tsc
es könnte auch nützlich sein zu wissen ....
# cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc acpi_pm
Ich habe versucht, die Build-Konfiguration mit verschiedenen Optionen durchzuführen, aber an dieser Stelle kann ich mich an keine Einzelheiten erinnern. Bitte fragen Sie nicht. Bei meiner Suche habe ich mehrere Kernel-Parameter wie clocksource=pit
und gefunden und getestet notsc
, aber alle schlagen auch fehl. Ich wünschte, ich hätte alles aufgeschrieben, was ich bisher versucht habe, im Nachhinein ...
Die meisten Beispiele im Forum beziehen sich auf 2.x-Kernel und wurden mit einigen Variationen der Boot-Optionen gelöst, aber mein guter Kernel verwendet nur root=/dev/sdaX ro
. Ich weiß also, dass ich mit dieser Kombination aus Hardware und Kernel 3.1.0 golden bin, wenn ich die richtige Build-Konfiguration finde.
Außerdem sagen die meisten Leute da draußen, die ein ähnliches Problem gepostet haben, dass das System nach einigen Minuten weiter geladen wird und alles pfirsichfarben ist. Ich habe es lange genug im Leerlauf laufen lassen, um das Abendessen zu kochen, und es wurde immer noch nicht wieder geladen.
Ich hoffe, einer von euch Gurus wird dies lesen und sagen: "Hey ja, ich habe gerade CONFIG_XXX = y auf meinem P4-Dinosaurier gesetzt und es hat großartig funktioniert." :) :)
Lassen Sie mich wissen, was ich zum Ausprobieren oder Überprüfen benötige. Gerne veröffentliche ich die Ergebnisse.
quelle
noht
macht das nicht für mich. Lassen Sie mich wissen, wenn Sie andere Ideen haben.acpi=off
.Antworten:
Nach einer schnellen Suche scheint dieses Problem viele mögliche Gründe zu haben und darauf hinzudeuten, dass die Standardeinstellung Ihres neuen Kernels für die Taktquelle für Ihr Motherboard falsch ist.
Ein Rat, der für einige funktionierte, war,
clocksource=hpet
oder zu verwendenclocksource=acpi_pm
.In einem anderen Thread hat jemand dies behoben
clocksource=jiffies
, ein anderer hat geraten, es zu versuchen,noapic
oder einnolapic
anderer, acpi im BIOS auszuschalten, und noch ein anderer hat das Synaptics-Touchpad beschuldigt und sein Problem durch Löschen von Xorg.conf behoben.Ein Kernel-Builder hat sein Problem behoben, indem er initrd ohne fbcondecor neu kompiliert hat.
Hoffe das hilft, denn es scheint, dass dieses Problem viele Ursachen haben kann.
quelle
clocksource=
,no
* usw.) ausprobiert , die in verschiedenen Forenthreads notiert wurden, ohne Auswirkungen. Ich habe diese Experimente gemacht, um mein eigentliches Problem einzugrenzen. Ich habe bereits einen Kernel, der perfekt startet, ohne spezielle Parameter (außerroot=
undro
), die aus demselbenCONFIG_
mein Problem lösen wird.Ich habe genau das gleiche Problem hier und habe viel gelesen. @harrymc hat eine ziemlich gute Zusammenfassung gemacht.
Ich werde nur zwei Dinge hinzufügen, die ich aus meiner Forschung gelernt habe:
Das Problem kommt von Ihrem Linux-Kernel, der nicht weiß, wie er mit Ihrem Prozessor umgehen soll, weil er nicht herausfinden kann, wie hoch Ihre Verarbeitungsuhr ist. Sie können dies beobachten, indem Sie das Kernel-Boot-Protokoll überprüfen. Es sieht so aus, als würde der Kernel versuchen, Ihre Verarbeitungstakt zu messen (für mich war es wie "2997.1333", aber jeder Start änderte sich zu "2997.1445", "2997.1379", ...).
Nachdem ich viele Dinge ausprobiert hatte, kam ich endlich hierher und informierte mich über das BIOS. Meins ist GYGABITE UEFI. Ich setze die Parameter zurück auf "Optimierte Standardeinstellungen" und setze "Intel Virtualization Technology" auf "aktiviert".
Jetzt ist für mich alles wieder normal! Hoffe das hilft.
quelle
Ein paar Cent von mir, ich bin mir nicht sicher, ob es eine häufige Sache ist oder nicht, aber ich konnte Ubuntu zum Laufen bringen, indem ich den 'High Precision Timer' im BIOS deaktivierte. Mein MB ist Gigabyte z77x-d3h
quelle
Ich habe das Problem durch Hinzufügen des folgenden Kernelparameters behoben:
quelle