
Gibt es eine Dokumentation zum Erstellen benutzerdefinierter Kernel-Pakete undLaden Sie das Ergebnis in ein PPA hoch? Insbesondere möchte ich hauptsächlich den stabilen Upstream-Kernel (also git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git) mit einem Patch für MPTCP erstellen. Da der MPTCP-Patch eine ganz bestimmte Kernel-Version erfordert, kann ich nicht einfach die Ubuntu-Kernel-Repositories verwenden.
Bisher habe ich Folgendes gefunden:
- Das manuelle Erstellen von Kerneln funktioniert natürlich auch, d. h.: fakeroot make-kpkg clean CONCURRENCY_LEVEL=
getconf _NPROCESSORS_ONLN
fakeroot make-kpkg --initrd --append-to-version=-mptcp \ kernel_image kernel_headers kernel_source kernel_doc kernel_manual kernel_debug
Dann bekomme ich .deb-Pakete. „dpkg -i …“ funktioniert auch, aber ich möchte die Paketverwaltung mit apt-get und einem PPA automatisieren.
make-kpkg generiert keine .changes-Datei, die für dput erforderlich ist. Ich habe natürlich die Dokumentation und Manpage von make-kpkg überprüft und die Quellen des Kernel-Pakets durchsucht -> keine Informationen darüber, wie man die richtige Ausgabe generieren kann.
Einige andere Benutzer (wiehttps://forum.ubuntuusers.de/topic/ppa-mit-custom-kernel-erstellen/) hat es auch nicht geschafft, einen Kernel-PPA-Upload durchzuführen. Zumindest ist keine Dokumentation dazu verfügbar.
Gibt es eine Möglichkeit, mit vertretbarem Aufwand PPA-uploadbare Kernelpakete zu erstellen?
Antwort1
Ich hatte die gleiche Frage und habe endlich eine funktionierende Lösung gefunden.
Folgendes hat bei mir funktioniert. Einige Schritte können sicherlich optimiert werden.
Holen Sie sich den Quellcode für einen Mainline-Build, überprüfen Sie dieQUELLENDatei und alles abrufen:
git clone git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack cd mainline-crack/ git checkout -b v4.7.10 b3afc4525a507f21e98cc7571ea8c3f28484241c wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7.10/0001-base-packaging.patch wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7.10/0002-UBUNTU-SAUCE-add-vmlinux.strip-to-BOOT_TARGETS1-on-p.patch wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7.10/0003-UBUNTU-SAUCE-tools-hv-lsvmbus-add-manual-page.patch wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7.10/0004-UBUNTU-SAUCE-no-up-disable-pie-when-gcc-has-it-enabl.patch wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7.10/0005-debian-changelog.patch wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7.10/0006-configs-based-on-Ubuntu-4.7.0-0.2.patch
Wenden Sie die Patches an:
git am 000*
Build-Dateien in Debian:
debian/Regeln sauber
Erstellen Sie die Quell-Debs (ohne Signatur):
dpkg-buildpackage -us -uc -S
Passen Sie den Wert von „Geändert von:“ in der Datei „.changes“ an Ihr PPA-Uploader-Konto an.
unterschreiben Sie das Paket
deb-sign linux_4.7.10-040710.201610220847_source.changes
hochladen
dput ppa linux_4.7.10-040710.201610220847_source.changes