Arch Linux - Wie kann ich meinen Kernel downgraden?

8

Ich habe gerade ein System-Upgrade durchgeführt, das meinen Kernel enthielt. Danach ist mein WLAN kaputt. Nach einigem googeln scheint es, dass ich nicht die einzige Person bin, der dies passiert ist.

RT2860-Treiber spielen mit dem 2.6-32-Kernel nicht gut.

Wie kann ich meinen Kernel herunterstufen? Ich habe immer noch den alten in meinem Pacman-Cache, bin mir aber nicht sicher, wie ich den Strom entfernen und den alten installieren soll.

Ich habe versucht, einen 'pacman -Rsn-Kernel26 [Firmware | Header] zu erstellen, aber OSS (Soundsystem) hat sich beschwert, dass * Header als Abhängigkeit erforderlich sind.

Ist es sicher, nur den alten Kernel26 * (Firmware, Header, Base) zu installieren und dann den Strom zu entfernen? Wie mache ich das? : /


quelle
OSS beschwert sich, weil es sich um eine Reihe von Kerneltreibern handelt. Ersetzen Sie den Kernel, und Sie müssen auch die Treiber ersetzen.
Quacksalber Quijote
Bedeutet das also, OSS zu entfernen und das auch herunterzustufen? Ich musste noch nie Pakete downgraden ... Ich habe keine Ahnung, wie das geht: /
Es ist möglich, alle Pakete (einschließlich des Kernels) zu einem bestimmten Datum wiederherzustellen, indem Sie die Pacman-Spiegelliste wiki.archlinux.org/index.php/…
joelostblom

Antworten:

2

Nach meiner Erfahrung ist es sicher, den Kernel herunterzustufen. Ich musste es in letzter Zeit viel tun, wegen eines Problems mit lirc und neuen Kernel-Versionen. Meine Hauppauge PVR-250-Fernbedienung funktioniert nach der Installation einer aktuellen Kernel-Version einfach nicht mehr. Eigentlich habe ich es erst vor ein paar Stunden gemacht;).

Neuinstallation der alten Kernel-Version:

Voraussetzung: Sie müssen das Binärpaket des alten Kernels tatsächlich überall finden. Wenn Sie es nicht haben, haben Sie ziemlich viel Pech (wenn Sie die alten Pakete nicht selbst kompilieren möchten).

Oh mein Gott, woher bekomme ich das alte Paket, fragst du? Es gibt einige Möglichkeiten, die im Wiki-Link aufgeführt sind und in einer der anderen Antworten veröffentlicht sind. Normalerweise halte ich mich an die Möglichkeit, den Pacman-Paket-Cache (/ var / cache / pacman / pkg) zu durchsuchen. Ich habe auch immer eine aktuelle Sicherung dieses Verzeichnisses, so dass keine Pakete verloren gehen, wenn ich den Cache lösche.

Wenn Sie das alte Kernel-Paket haben, können Sie es mithilfe von installieren pacman -U package-name.pgk.tar.gz. Danach wird höchstwahrscheinlich ein Abhängigkeitsfehler angezeigt. Jedes Paket, das in diesem Fehler aufgeführt ist, muss ebenfalls heruntergestuft werden. Kehren Sie also zum Paket-Cache zurück, suchen Sie das genannte Paket in einer älteren Version und versuchen Sie, es zu installieren, indem Sie pacman erneut aufrufen, diesmal mit dem alten Kernel und dem neu gefundenen Paket ( pacman -U package-name.pgk.tar.gz other-package.pkg.tar.gz).

Sie müssen diese Schritte wiederholen, bis der Pacman-Lauf erfolgreich ist. Danach sollten Sie in der Lage sein, Ihr System neu zu starten, und der neue (eigentlich der alte) Kernel wird geladen. Wenn pacman Ihnen mitteilt, dass ein mit dem alten Kernel nicht kompatibles Paket nicht entfernt werden kann, müssen Sie es manuell entfernen ( pacman -Rd conflicting-package.pkg.tar.gz), bevor Sie den alten Kernel installieren. Aber seien Sie vorsichtig mit diesem Schritt, es kann Ihr System beschädigen.

In meinem Fall muss ich 7 Pakete downgraden, einschließlich Kernel, Glibc, Kernel-Header, Lirc und zwei Pakete meines NVIDIA-Treibers.

Der einzige große Fehler in Archlinux ist das Problem der Herabstufung. Wenn Sie Ihren Paket-Cache geleert haben, kann es sehr schwierig sein, das gewünschte Binärpaket zu finden. Es ist mir nie gelungen, das benötigte Paket auf einem der Spiegelserver zu finden.

Da Archlinux eine sehr innovative Distribution mit sehr aktuellen Paketen und häufigen Veröffentlichungen ist, benötige ich die Downgrade-Funktion sehr oft. Ich hoffe wirklich, dass die Jungs von Archlinux einen Weg finden, dies in Zukunft ein bisschen einfacher zu machen.

Customizer
quelle
1
Haben Sie Downgrader oder Downgrade ausprobiert? aur.archlinux.org/packages.php?ID=50246 aur.archlinux.org/packages.php?ID=31937
slf
Ich bin gerade nach langer Zeit hierher zurückgekommen. Ich glaube, Downgrader gab es 2010 nicht, als ich meine Antwort schrieb. Aber bis heute war mir nicht bewusst, dass es ein solches Werkzeug jetzt gibt. Vielen Dank für die Erwähnung, ich werde es bald überprüfen. Bearbeiten: Tatsächlich scheint zumindest ein Downgrade seit 2009 in den AUR-Repositories zu sein.
Customizer
1

Dies sollte beschreiben, wie ein Paket mit Pacman heruntergestuft wird . Ich weiß, dass ich es einmal gemacht habe (wahrscheinlich vor zwei Jahren) und es hat gut funktioniert (soweit ich mich erinnern kann).

Fragen, die für Arch spezifisch sind, werden wahrscheinlich besser im Arch Linux- Forum gestellt oder in ihrem Wiki nachgeschlagen , da sie Arch-spezifisch sind und dort die Arch Linux-Experten zu finden sind.

shf301
quelle
1
Ich habe mir diese Wiki-Seite angesehen, aber sie geht nicht auf Details zum Downgrade des Kernels ein. Es scheint, dass ich Modulprobleme haben muss (insbesondere OSS) und welche Pakete entfernt / neu hinzugefügt werden müssen. Ich schätze, ich gehe zum Arch-Forum ... Ich hatte nur gehofft, etwas Zeit zu sparen, wenn ich mich für ein Forum-Konto anmelde, wenn ich hier nur eine kurze Frage abschießen könnte.
Ich bin mit shf einverstanden, ich bin nur ein Noobie-Ubuntu-Benutzer, könnte man sagen :), mein Trick hätte in Ubuntu jederzeit funktioniert, wenn --purge oder aptitude remove nicht verwendet wird, viel Glück bei der Beantwortung Ihrer Frage
Jeffrey Vandenborne
0

Wenn Sie die älteren Kernel noch nicht bereinigt haben, sollten sie weiterhin im Grub-Menü verfügbar sein. Ich hatte auch dieses Problem, als ich den neuen Kernel installierte, funktionierte mein Treiber ebenfalls nicht. Eine einfache Lösung besteht darin, die Standardoption im Grub-Menü auf den rechten Kernel zu setzen.

Wenn Sie Grub 2 verwenden, können Sie auf diese Weise die Standardoption überprüfen.

jeffrey @ ubuntu-linux: ~ $ head / etc / default / grub

Wenn Sie diese Datei ändern, führen Sie anschließend 'update-grub' aus, um /boot/grub/grub.cfg zu aktualisieren.

GRUB_DEFAULT = 0

GRUB_HIDDEN_TIMEOUT = 0

GRUB_HIDDEN_TIMEOUT_QUIET = true

Sie können den grub_default-Wert sehr einfach ändern. 0 würde die erste Option anzeigen. 2 sollte ein zuvor verwendeter Kernel sein.

gksudo gedit /etc/default/grub

Ändern Sie den Wert, speichern Sie ihn und führen Sie ihn aus

sudo update-grub

Wenn Sie eine ältere Grub-Version verwenden

Sie sollten diese Datei bearbeiten: /boot/grub/menu.lst

Führen Sie die gleichen Schritte aus, aber grub_default ist in dieser Datei einfach "Standard". Führen Sie das Update-Grub-Skript aus, starten Sie es neu und los geht's.

Jeffrey Vandenborne
quelle
Meine einzigen Optionen in Grubs Menü sind der Standardkernel und ein 'Fallback-Kernel'. Das Booten in den Fallback-Kernel gibt mir nur 2.6.32
Eigentlich ist dies die Ubuntu-Methode, um solche Dinge zu tun. Diese Methode funktioniert in Archlinux nicht.
Customizer
0

Ich habe auch festgestellt, dass es ein Problem mit meinem RT2860-Chip und dem Kernel 2.6.32 gibt. Beim Ausführen von dmesg wird der folgende Fehler angezeigt:

--> Error 2 opening /etc/Wireless/RT2860STA/RT2860STA.dat

Mir ist auch aufgefallen, dass der Chip von ra0 in wlan0 umbenannt wurde. Zuerst haben diese Änderung und ein Neustart meine Fehler behoben, und der Chip hatte die ganze Zeit eine Verbindung. Aus irgendeinem unbekannten Grund ist es jedoch ..... Ok, gut, ich bin verwirrt. Während der Eingabe wurde plötzlich eine Internetverbindung auf meinem anderen Computer hergestellt. Es hält Verbindung, und nun, ich bin verwirrt.


quelle