Fedora Kernel kompilieren: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 80: | Zeile 80: | ||
=Frisch gebackenes Custom-Kernel.rpm installieren= | =Frisch gebackenes Custom-Kernel.rpm installieren= | ||
Die frisch erstellten rpm finden sich in $HOME/rpmbuild/RPMS/<arch>/kernel-<version>.<arch>.rpm | |||
Installieren mit | |||
<pre>yum localinstall RPMS/x86_64/kernel-*.rpm</pre> |
Version vom 25. März 2012, 17:39 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
Build-Dateien vorbereiten
1.
cd ~/rpmbuild/SPECS
2. Editieren der Datei kernel.spec
.
3. Dem Kernel einen unique-Namen geben.
Change this line:
#% define buildid .local
To this (note the extra space is removed in addition to the pound sign):
%define buildid .<custom_text>
Kernel bauen
rpmbuild -bb --with baseonly --with firmware --without debuginfo --target=`uname -m` kernel.spec
Frisch gebackenes Custom-Kernel.rpm installieren
Die frisch erstellten rpm finden sich in $HOME/rpmbuild/RPMS/<arch>/kernel-<version>.<arch>.rpm
Installieren mit
yum localinstall RPMS/x86_64/kernel-*.rpm