ich versuche seit Tagen meine Custom DSDT in den Kernel zu bekommen, aber ich brauche nun hilfe ich komme einfach nicht weiter.
Ich möchte meine Custom DSDT einbinden, damit der Lüfter von meinem HP 625 mal ein bissl die Klappe hält, unter Ubuntu hatte ich das auch geschafft aber unter Debian funktioniert das leider nicht wie bei Ubuntu.
Das hier habe ich im Forum gefunden:
Danach habe ich diese Methode gewählt:
# DSDT.hex in Kernel-Image einbinden: Im Kernel-Source-Verzeichnis "make menuconfig" ausführen.
Zu Untermenü "Device Drivers ---> Generic Driver Options" gehen und beide Einträge abwählen: "Select only drivers that don't need compile-time external firmware" und "Prevent firmware from being built"
Zu Menü "Power management options (ACPI, APM) ---> ACPI (Advanced Configuration and Power Interface) Support" gehen und "Include Custom DSDT" auswählen und in "Custom DSDT Table file to include" den Pfad zur "DSDT.hex" eingeben. (hier habe ich /boot/dsdt.hex eingetragen)
# Kernel compilieren und installieren
funktioniert leider nicht kann es nicht aktivieren, bin wirklich für jeden Tipp dankbar.
So hat es unter Ubuntu geklappt:
Code: Alles auswählen
1.)
Um die DSDT Datei exportieren zu könne, benötigen wir iasl. Installieren tun wir das über den Befehl:
sudo apt-get install iasl
Jetzt exportieren wir die DSDT Datei in unser home Verzeichnis:
sudo cat /proc/acpi/dsdt > dsdt.dat
Jetzt konvertieren wir diese noch in eine lesbare Form:
iasl -d dsdt.dat
2.)
Folgt beim Bearbeiten der .dsl Datei nun dieser Anleitung (nur Punkt 5 und 6): http://www.planet3dnow.de/vbulletin/showpost.php?p=4350678&postcount=225
3.)
Mit folgendem Befehl konvertieren wir nun die .dsl Datei in das .hex Format, das wir später auch benötigen:
iasl -tc /home/<benutzername>/dsdt.dsl
Es sollten keine Errors angezeigt werden. Wenn doch habt ihr beim Editieren einen Fehler gemacht oder in eurer .dsl Datei befindet sich oben ein nicht auskommentierter Kommentar, den ihr dann entfernen müsst.
4.)
Nun geht’s los mit dem Basteln eines eigenen Kernels. Am besten holt ihr euch gleich den aktuellsten Kernel:
apt-get install linux-source
Dann installiert ihr die benötigten Pakete:
sudo apt-get install fakeroot kernel-wedge build-essential makedumpfile
sudo apt-get build-dep linux
sudo apt-get install qt3-dev-tools libqt3-mt-dev
sudo apt-get install kernel-package
5.)
Nun erstellen wir einen Ordner für den Kernel, in diesem Fall nennen wir ihn src, was Abkürzung für Source ist.
mkdir ~/src
cd ~/src
tar xjvf /usr/src/linux-source-<Versionsnummer einfügen>.tar.bz2
cd linux-source-<Versionnummer einfügen>;
6.)
Jetzt kopieren wir unser alten Einstellungen in den neuen Kernel, wir wollen ja schließlich nur die DSDT ändern:
cp -vi /boot/config-`uname -r` .config
Und nun fügen wir die DSDT ein:
make xconfig
Es öffnet sich nun ein Fenster. Das Terminal keinesfalls schließen! In der rechten Spalte geht ihr nun unter Power management and ACPI options Auf ACPI (Advanced ….). In der rechten Spalte findet ihr nun einen Eintrag Custom DSDT table to include:. Mach einen Doppelklick auf diesen und gebt als Pfad /home/<benutzername>/dsdt_table.h ein (Die Datei dsdt.hex in eurem home Verzeichnis müsst ihr dafür noch in dsdt_table.h umbenennen). Oben im Fenster nun auf die Diskette klicken und das Fenster schließen.
7.)
Jetzt kompilieren wir den Kernel. Das dauert ziemlich lange. Den Vorgang nicht abbrechen – eine Dauer von 1-2 Stunden ist vollkommen normal!
fakeroot make-kpkg --initrd --append-to-version=-some-string-here kernel-image kernel-headers
Wenn das Kompilieren abgeschlossen ist, befinden sich zwei .deb Pakete unter /home/<benutzername>/src. Dieser installiert ihr folgendermaßen:
echo vesafb | sudo tee -a /etc/initramfs-tools/modules
echo fbcon | sudo tee -a /etc/initramfs-tools/modules
cd ..
sudo dpkg -i linux-image-<Kompletten Namen bitte im src Ordner nachsehen. Unterscheidet sich teils deutlich>_i386.deb
sudo dpkg -i linux-headers-<Kompletten Namen bitte im src Ordner nachsehen. Unterscheidet sich teils deutlich>_i386.deb