t1m0n schrieb:
barcc schrieb:
Die Kritik im dem Artikel kann ich nicht ganz verstehen, die Verwendung von make-kpkg
ist doch eigentlich immer gleich beschrieben und funktioniert auch (zumindest wenn man einen Lucid-Kernel unter Lucid oder einen Hardy-Kernel unter Hardy usw… kompiliert), Backporten von Software (in deinem Fall ein 3.4er Kernel unter Lucid) hingegen ist ofmals keine triviale Angelegenheit.
Ich möchte keinen Lucid-Kernel. Dann würde ich den von Ubuntu ja selbst beziehen. Ich möchte mir den Vanilla-Kernel mit dem RT_PREEMPT-Patch patchen und kompilieren. Ich versuche das nun mit dem Kernel 3.2.
...
Da war von mir etwas unglücklich formuliert, gemeint war: ...wenn man einen Kernel mit einer ähnlichen Versionsnummer unter Lucid ... kompiliert
t1m0n schrieb:
…
Könntest du vielleicht detailiert beschrieben welches Vorgehen du genau hattest?
Ich hatte nun mit mv den Ordner Umbenannt gehabt 3.4.9-rt17. Das funktionierte nicht.
Nun habe ich den Kernel 3.2.28 als Vanilla gezogen, gepatcht und nun nicht umbenannt. Der Ordner hieß daher linux-3.2.28. Nach make-kpkg .... hieß es dann,
linux-image-3.2.28-rt41-rt41 Fehler 255
pre-linux-image-3.2.28-rt41-rt41 Fehler 2
Ich vermute nun eher, dass ich mit der Namensvergabe etwas nicht auf die Reihe bekomme. So ergibt -rt41-rt41 für mich keinen sein, weil ich mit -append-to-version nur -rt41 übergeben habe.
Gruß,
Marcel
Das Vorgehen ist das in dem von dir anfangs zitierten Artikel, und mit der Debian-Methode aus dem Wiki.
Ich habe es gerade mit 3.2.28 in einer Lucid-Chroot-Umgebung ausprobiert:
wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.2.28.tar.bz2
wget http://www.kernel.org/pub/linux/kernel/projects/rt/3.2/patch-3.2.28-rt41.patch.bz2
tar -jxvf linux-3.2.28.tar.bz2
mv linux-3.2.28 linux-3.2.28-rt41
bunzip2 patch-3.2.28-rt41.patch.bz2
cd linux-3.2.28-rt41
patch -p1 <../patch-3.2.28-rt41.patch
Beim Kompilieren kam dann wieder der ominöse Fehler "dpkg-gencontrol: Fehler: Paket linux-image-… nicht in Steuer-Info
".
Ich habe dann folgendes gemacht:
echo >localversion-rt #Die Datei localversion-rt enthält vorher die einzelne Zeile "-rt41"
Dann habe in nochmal kompiliert und das jetzt fehlende "-rt41" zusätzlich an die Version angehängt:
make-kpkg clean
export CONCURRENCY_LEVEL=4
fakeroot make-kpkg --initrd --append-to-version=-patched-rt41 kernel_image kernel_headers
Beim letzten Befehl habe ich alle Fragen zur Konfiguration einfach mit [Enter] beantwortet.
Sieht so aus als hätte es funktioniert:
$ ls -1 ..
linux-3.2.28-rt41
linux-3.2.28.tar.bz2
linux-3.4.9-rt17
linux-3.4.9.tar.bz2
linux-headers-3.2.28-patched-rt41_3.2.28-patched-rt41-10.00.Custom_amd64.deb
linux-image-3.2.28-patched-rt41_3.2.28-patched-rt41-10.00.Custom_amd64.deb
patch-3.2.28-rt41.patch
patch-3.4.9-rt17.patch
Da beim 3.4.9er Kernel die gleiche Fehlermeldung kam, könnte es vielleicht da auch funktionieren.