amilo-forum.de

Inoffizielles Forum rund um die Notebooks der Amilo- und Lifebook-Serien von Fujitsu

speedstep-centrino.c

Alle Fragen, die sich speziell um Linux oder andere Unix-ähnliche Betriebssysteme drehen.

speedstep-centrino.c

Beitragvon telefonmann295 » 17.09.2005 23:27

Hallo zusammen.

Ich möchte mich in Suse Linux 9.3 einarbeiten, bin ziemlich neu in Sachen Linux. Da mein M1425 sehr laut ist, macht es unter Linux echt keinen Spaß.
Um wie RMClock unter Windows die Spannung herunter zu regeln muss man soweit ich herausgefunden habe die Datei speedstep-centrino.c entsprechend dem Prozessor ändern.

Dazu habe ich dashier gefunden:
topic,1059,-rmclock-mit-suse-linux.html

Leider sind die Erklärungen in diesem Thread sehr sparsam gehalten und für einen Linux Neuling daher nicht zu nachzuvollziehen.

Die Datei habe ich entsprechend geändert, dann hört es aber mit meinen Kenntnissen auf.
Wie stelle ich die Option CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI ein?
Wie kompiliere ich den Kernel neu und installiere ihn dann?
Was mache ich wenn die Spannung zu niedrig war und der Kernel deshalb nicht mehr läuft?

Bitte postet mir nicht irgendwelche Sammlungen von Links, sondern einfach nur Schritt für Schritt was ich tun muss.

Vielen Dank!

Gruß,
Dominik
telefonmann295
 
Beiträge: 12
Registriert: 23.06.2005 13:46

Beitragvon aspettl » 18.09.2005 00:28

Die genauen Schritte kann ich dir nicht 100% nennen, ich versuche aber erstmal zu erklären, wie es im Prinzip funktioniert. Die einzelnen Schritte ohne Hintergrundwissen bringen nämlich auch nichts.

Im Folgenden richte ich mich nicht nur an telefonmann295, sondern allgemein an alle. Deshalb beschränke ich mich auch nicht unbedingt nur auf SuSE 9.3.

Das Problem ist, dass man den Kernel neu kompilieren muss. Der Kernel ist das "Herz" von Linux, d.h. wenn der nicht geht, dann startet dein Linux nicht mehr. Deshalb installiert man zum Standard-Kernel noch einen zweiten - den eigenen - hinzu. Wenn irgendetwas nicht geht, kann man immer den Standardkernel nehmen und alles läuft. Im schlimmsten Fall kann man noch z.B. mit einer Knoppix-CD auf das System zugreifen.

Der Kernel selbst wird kompiliert, d.h. von einem Programm in Maschinencode übersetzt. Das Kompilieren selbst ist die erste Hürde, dafür muss man den Kernel nämlich erst konfigurieren. Nur so "weiß" das Tool "make", was es einbauen soll. Der Kernel selbst wird dann in eine Datei geschrieben. Damit man den Kernel benutzen kann, muss diese Datei im Bootmanager (also meist Grub) eingetragen werden.

root-Rechte
Am einfachsten:
Code: Alles auswählen
su

Dann habt ihr im folgenden immer alle benötigten Rechte (auch um das System kaputtzumachen!).
Ich weiß, dass man die Kernel-Kompilierung auch ohne root-Rechte machen könnte und "sudo" immer vorgestellt werden kann, aber so gehts auf jeden Fall.

Pakete, die man zuvor installiert haben sollte:
- Kernel-Header (geht glaube ich auch ohne, aber schadet nicht)
- Kernel-Source (enthält die speedstep-centrino.c)
- make (z.B. bei SuSE 9.0 Personal standardmäßig nicht dabei)
- ncurses-devel (für Konfiguration des neuen Kernels mit menuconfig)

Kernelquellen "lokalisieren", ggf. entpacken
Der Kernel liegt nun in /usr/src/ . Ob der unter SuSE automatisch entpackt wird, weiß ich nicht. Ggf. also entpacken, so dass er ein eigenes Verzeichnis hat, z.B. /usr/src/linux-2.6.xx (xx ist die genaue Version des Kernels).

Vorbereitungen
Nun wollen wir eine "Verknüpfung" /usr/src/linux anlegen, die auf den neuen Kernel-Pfad zeigt.
Nach /usr/src wechseln:
Code: Alles auswählen
cd /usr/src

Alte entfernen:
Code: Alles auswählen
rm -rf linux

Neue anlegen:
Code: Alles auswählen
ln -s linux-2.6.xx linux

Wechsel in das Verzeichnis:
Code: Alles auswählen
cd /usr/src/linux


speedstep-centrino.c anpassen
Ich gehe jetzt davon aus, dass die speedstep-centrino.c schon mit den neuen Spannungen angepasst wurde.
Ansonsten siehe hier: topic,1059,15,-rmclock-mit-suse-linux.html#9427

Kernel konfigurieren
In der Datei ".config" wird der Kernel konfiguriert. Normal exisitiert diese noch nicht. Man übernimmt am besten die alten Einstellungen:
Code: Alles auswählen
make oldconfig

Nun muss mit
Code: Alles auswählen
make menuconfig
der Kernel so angepasst werden, dass automatisch folgende Module fest einkompiliert werden (also * statt M):
- Unterstützung für reiser-Dateisystem (oft bei SuSE standardmäßig vorhanden)
- Treiber für IDE-Controller
- CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI deaktivieren
- andere Hardware
- ggf. noch mehr? weiß nicht mehr...
Wenn hier etwas falsch ist, dann startet der Kernel später nicht oder hat z.B. keine DMA-Unterstützung für die Festplatte.

Einfacher:
In einem anderen Thread habe ich meine Kernelkonfiguration gepostet: topic,2918,-M1420-dauerhaft-auf-100%25-CPU-mit-SETI%40home.html#20201
Die sollte beim M1405, M1420, M1425, M7405, M7425 gehen...

Wie kompiliert man den Kernel?
Das ist jetzt der Punkt, an dem ich nicht genau weiß, wie man es unter SuSE am einfachsten macht. Vielleicht geht es also einfacher...

Das Tool "make-kpkg" (wahrscheinlich unter SuSE nicht vorhanden, bei Debian-basierenden Distros aber zu empfehlen):
Unter Ubuntu gibt es das Tool make-kpkg, das geht echt super. Da kann man dem Kernel einen eigenen Zusatz geben und so ganz einfach sicherstellen, dass der Standard-Kernel überschrieben wird.
Mit make-kpkg geht es so:
Code: Alles auswählen
make-kpkg --append-to-version=rev1 --revision=rev1 binary

Wenn man --initrd anhängt, wird noch eine Datei erstellt, die verhindert, dass man z.B. den IDE-Controller fest einbauen muss. Genaueres: Google.
Das "rev1" ist der eigene Name. make-kpkg erstellt ein eigenes Paket, das dann bequem installiert werden kann:
Code: Alles auswählen
dpkg -i ../kernel-image-2.6.xx-rev1.deb

(Oder so ähnlich heißt die Datei zumindest.)
Der Bootloader Grub wird mit dieser Variante automatisch um einen Eintrag ergänzt.

Ohne "make-kpkg" (sollte immer funktionieren):
Da muss man einige Dinge von Hand machen, die in oberer Variante von alleine laufen.
Kernel kompilieren:
Code: Alles auswählen
make && make modules_install

Dann wurde der Kernel erstellt und man kopiert ihn an den "neuen" richtigen Ort:
Code: Alles auswählen
cp /usr/src/linux/arch/i386/boot/bzImage /boot/linux-2.6.xx-rev1

Nun muss man ihn im Bootloader Grub einfügen. Dazu bearbeitet man die Datei /boot/grub/menu.lst, z.B. mit nano:
Code: Alles auswählen
nano /boot/grub/menu.lst

Dort gibt es Zeilen, die in etwa so aussehen:
Code: Alles auswählen
title linux
kernel (hd0,2)/boot/vmlinuz root=/dev/hda3 vga=788
initrd (hd0,2)/boot/initrd

Da fügt man den eigenen Kernel hinten einfach an, allerdings ohne initrd, da wir die nicht benötigen:
Code: Alles auswählen
title Linux - Eigener Kernel
kernel (hd0,2)/boot/linux-2.6.xx-rev1 root=/dev/hda3 vga=788

Wie man ohne make-kpkg eine Revision für den Kernel angeben kann weiß ich nicht, ich habe es noch nie benötigt.

Gruß
Aaron

Quellen:
- Meine Erinnerungen :-)
- http://www.linuxeinsteiger.info/anleitu ... /sys15.php
- http://www.pc-erfahrung.de/Index.html?l ... ieren.html
Vor dem Erstellen neuer Themen bitte die Suchfunktion benutzen und Forenregeln lesen!
Bitte trage dein Notebook mit den technischen Daten im Profil ein.
Benutzeravatar
aspettl
Administrator
 
Beiträge: 7188
Registriert: 15.11.2004 12:46
Notebook:
  • Amilo M1420

Beitragvon telefonmann295 » 18.09.2005 10:14

ncurses-devel ist scheinbar nicht auf der DVD, die man sich bei Suse runterladen kann. Deshalb hab ich versucht das Paket irgendwo runterzuladen und zu installieren. Da ich wie gesagt keine Ahnung von Linux habe weiß ich nicht ob es geklappt hat. Wie finde ich heraus ob es richtig installiert ist?

Edit: Es hat nicht geklappt. Wie installiere ich das Paket?
telefonmann295
 
Beiträge: 12
Registriert: 23.06.2005 13:46

Beitragvon nodh » 18.09.2005 11:53

sudo rpm -ivh namedesrpmpaketes.rpms
mfg nodh
nodh
Ehemaliger Moderator
 
Beiträge: 600
Registriert: 21.11.2004 15:38
Wohnort: Österreich
Notebook:
  • Amilo A 1630

Beitragvon telefonmann295 » 18.09.2005 14:18

Habe die Konfiguration mit make xconfig gemacht.
Habe dann versucht den Kernel zu kompilieren und zu installieren, er bootet aber nicht.

Muss jetzt wohl erstmal wieder Windows benutzen, weil Suse mit jedem "Versuch" den ich unternehme schlechter funktioniert (Maus geht nicht mehr nur noch das blöde Touchpad, jetzt funktioniert sogar Internet nicht mehr).

Jedesmal wenn man das ganze aufs neue versucht eine Stunde zu warten bis der Kernel kompiliert ist wird mir langsam echt zu doof.

Könnte mir bitte jemand ganz genau mit richtigen Pfaden usw Schritt für Schritt schreiben wie man das ganze unter Suse 9.3 macht?
telefonmann295
 
Beiträge: 12
Registriert: 23.06.2005 13:46

Beitragvon aspettl » 19.09.2005 10:27

telefonmann295 hat geschrieben:Habe dann versucht den Kernel zu kompilieren und zu installieren, er bootet aber nicht.

Was für eine Meldung kommt denn? Wenn es etwas mit Datei nicht gefunden oder so zu tun hat, fehlt der IDE-Treiber.
Nehme am besten meine .config (d.h. in /usr/src/linux kopieren), da sollte alles schon passen.
Die Anleitung oben enthält außerdem schon eigentlich jeden Schritt. Ich wüsste gerade keinen, der fehlt.

Gruß
Aaron
Vor dem Erstellen neuer Themen bitte die Suchfunktion benutzen und Forenregeln lesen!
Bitte trage dein Notebook mit den technischen Daten im Profil ein.
Benutzeravatar
aspettl
Administrator
 
Beiträge: 7188
Registriert: 15.11.2004 12:46
Notebook:
  • Amilo M1420

Beitragvon telefonmann295 » 19.09.2005 17:16

Habe nochmal alles in Ruhe ganz von vorne probiert und ich glaube es hat funktioniert. Allerdings läuft der Lüfter trotzdem öfter als unter Windows.
telefonmann295
 
Beiträge: 12
Registriert: 23.06.2005 13:46

Beitragvon aspettl » 19.09.2005 18:08

Wenn die Spannungen genau gleich sind, würde ich sagen, dass die MR 9700 die Wärme produziert, da man sie unter Linux meines Wissens nicht Heruntertakten kann.

Ansonsten würde auch die max. Frequenz manuell setzen etwas helfen:
Code: Alles auswählen
su echo 1200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

(für z.B. 1200 MHz)

Gruß
Aaron
Vor dem Erstellen neuer Themen bitte die Suchfunktion benutzen und Forenregeln lesen!
Bitte trage dein Notebook mit den technischen Daten im Profil ein.
Benutzeravatar
aspettl
Administrator
 
Beiträge: 7188
Registriert: 15.11.2004 12:46
Notebook:
  • Amilo M1420

Beitragvon aspettl » 15.10.2005 22:48

Ich habe doch noch einen Weg gefunden ATI-Grafikkarten unter Linux herunterzutakten. Mit der 9600/9700 funktioniert es auf jeden Fall:
http://freshmeat.net/projects/rovclock/

Das Tool ist eigentlich zum Übertakten, aber anders herum funktioniert es genausogut :-)

Mit PCI Express-Karten wie der X700 könnte das Tool aber Probleme machen.

Gruß
Aaron
Vor dem Erstellen neuer Themen bitte die Suchfunktion benutzen und Forenregeln lesen!
Bitte trage dein Notebook mit den technischen Daten im Profil ein.
Benutzeravatar
aspettl
Administrator
 
Beiträge: 7188
Registriert: 15.11.2004 12:46
Notebook:
  • Amilo M1420


Zurück zu Linux / Unix / BSD