Fedora Kernel kompilieren: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
(→Setup) |
||
Zeile 33: | Zeile 33: | ||
=Kernel kompilieren= | =Kernel kompilieren= | ||
==Setup== | ==Setup== | ||
Auspacken des Quellcodes: | |||
<pre>cd ~/rpmbuild/SPECS | |||
rpmbuild -bp --target=$(uname -m) kernel.spec | |||
</pre> | |||
Der Kernel-Quellcode befindet sich jetzt hier: <code>~/rpmbuild/BUILD/kernel-<version>/linux-<version>.<arch></code> | |||
==Kernel patchen== | |||
Kopieren des original-Quellcode-Baum zur Patch erstellung | |||
<pre> | |||
export arch=x86_64 # replace x86_64 with your arch | |||
export ver=3.3 # replace 3.3 with your kernel version | |||
export fedver=fc17 # replace fc17 with your fedora version | |||
cp -r ~/rpmbuild/BUILD/kernel-$ver.$fedver/linux-$ver.$arch ~/rpmbuild/BUILD/kernel-$ver.$fedver.orig | |||
cp -al ~/rpmbuild/BUILD/kernel-$ver.$fedver.orig ~/rpmbuild/BUILD/kernel-$ver.$fedver.new | |||
</pre> | |||
OK, Anleitung funzt net mehr bei fc17. Also Plan B. Kernel 3.2 und 3.3 nutzen die gleiche drivers/cpufreq/acpi-cpufreq.c. Es reicht daher diese Datei durch eine gepachte zu ersetzen. | |||
<pre> | |||
cp ~/rpmbuild/phc-intel.c ~/rpmbuild/BUILD/kernel-3.3.fc17/linux-3.3.0-1.fc17.x86_64/drivers/cpufreq/acpi-cpufreq.c | |||
cp ~/rpmbuild/phc-intel.c ~/rpmbuild/BUILD/kernel-3.3.fc17/vanilla-3.3/drivers/cpufreq/acpi-cpufreq.c | |||
</pre> |
Version vom 25. März 2012, 15:29 Uhr
Anleitung zum erstellen eines selbstgebaute kernel-rpm mit phc-support bei Fedora 17. (Benutzte Quelle: http://fedoraproject.org/wiki/Building_a_custom_kernel
Vorbereitung
Build Umgebung einrichten
Es werden folgende Pakete benötigt:
rpmdevtools
yum-utils
ncurses-devel
su -c 'yum install rpmdevtools yum-utils ncurses-devel'
Anschließend muss die RPM package building environment im Home-Verzeichnis erstellt werden:
rpmdev-setuptree
Dieses Komando erstellt die Verzeichnisse:
${HOME}/rpmbuild/SOURCES
,
${HOME}/rpmbuild/SPECS
,
${HOME}/rpmbuild/BUILD
.
Quellcode download
Vorlage:Admon/warning
Download der kernel-<version>.src.rpm
Datei:
cd ~/rpmbuild
yumdownloader --enablerepo=updates-source --source kernel
Build dependencies installieren
su -c 'yum-builddep kernel-<version>.src.rpm'
Kernel-Quellcode ins repo laden
rpm -Uhv kernel-<version>.src.rpm
Kernel kompilieren
Setup
Auspacken des Quellcodes:
cd ~/rpmbuild/SPECS rpmbuild -bp --target=$(uname -m) kernel.spec
Der Kernel-Quellcode befindet sich jetzt hier: ~/rpmbuild/BUILD/kernel-<version>/linux-<version>.<arch>
Kernel patchen
Kopieren des original-Quellcode-Baum zur Patch erstellung
export arch=x86_64 # replace x86_64 with your arch export ver=3.3 # replace 3.3 with your kernel version export fedver=fc17 # replace fc17 with your fedora version cp -r ~/rpmbuild/BUILD/kernel-$ver.$fedver/linux-$ver.$arch ~/rpmbuild/BUILD/kernel-$ver.$fedver.orig cp -al ~/rpmbuild/BUILD/kernel-$ver.$fedver.orig ~/rpmbuild/BUILD/kernel-$ver.$fedver.new
OK, Anleitung funzt net mehr bei fc17. Also Plan B. Kernel 3.2 und 3.3 nutzen die gleiche drivers/cpufreq/acpi-cpufreq.c. Es reicht daher diese Datei durch eine gepachte zu ersetzen.
cp ~/rpmbuild/phc-intel.c ~/rpmbuild/BUILD/kernel-3.3.fc17/linux-3.3.0-1.fc17.x86_64/drivers/cpufreq/acpi-cpufreq.c cp ~/rpmbuild/phc-intel.c ~/rpmbuild/BUILD/kernel-3.3.fc17/vanilla-3.3/drivers/cpufreq/acpi-cpufreq.c