Fedora Kernel kompilieren: Unterschied zwischen den Versionen

Aus ThinkPad-Wiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(7 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
<div style="margin:0; margin-top:10px; border:3px solid #FF3131; padding: 1em 1em 1em 1em; background-color:#FFF1E3; margin-top:10px;">
{|style="width:100%"
|style="width:90px"|[[Bild:Icon_Loeschantrag.png|80px|left]]
|'''Dieser Artikel wurde zur Löschung vorgeschlagen.'''<br>
Begründung: Veraltet, unvollständig oder nur Test?.<br>
--[[Benutzer:Mornsgrans|Mornsgrans]] ([[Benutzer Diskussion:Mornsgrans|Diskussion]]) 20:52, 8. Mär. 2015 (CET)
|}
</div>
[[Category:Löschkandidaten]]
Anleitung zum erstellen eines selbstgebaute kernel-rpm mit phc-support bei Fedora 17. (Benutzte Quelle: http://fedoraproject.org/wiki/Building_a_custom_kernel
Anleitung zum erstellen eines selbstgebaute kernel-rpm mit phc-support bei Fedora 17. (Benutzte Quelle: http://fedoraproject.org/wiki/Building_a_custom_kernel


Zeile 33: Zeile 44:
=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>
==Build-Dateien vorbereiten==
1.
<pre>cd ~/rpmbuild/SPECS
</pre>
2. Editieren der Datei <code>kernel.spec</code>.
<br>
3. Dem Kernel einen unique-Namen geben.
Change this line:
<pre>
#% define buildid .local
</pre>
To this (note the extra space is removed in addition to the pound sign):
<pre>
%define buildid .<custom_text>
</pre>
==Kernel bauen==
<pre>rpmbuild -bb --with baseonly --with firmware --without debuginfo --target=`uname -m` kernel.spec
</pre>
=Frisch gebackenes Custom-Kernel.rpm installieren=
Die frisch erstellten rpm finden sich in $HOME/rpmbuild/RPMS/<arch>/kernel-<version>.<arch>.rpm
Installieren mit
<pre>su -c 'yum localinstall RPMS/x86_64/kernel-*.rpm'</pre>
[[Category:Linux]]
[[Category:Fedora]]

Aktuelle Version vom 8. März 2015, 19:52 Uhr

Icon Loeschantrag.png
Dieser Artikel wurde zur Löschung vorgeschlagen.

Begründung: Veraltet, unvollständig oder nur Test?.
--Mornsgrans (Diskussion) 20:52, 8. Mär. 2015 (CET)


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

su -c 'yum localinstall RPMS/x86_64/kernel-*.rpm'