So wenden Sie Kernel-Patches an


7

Ich habe Kernel aus dem Mainline-Repository installiert - alles einfach dort, nur *.debDateien, man kann es einfach dpkg -imachen. Aber wie kann man die Patches anwenden 0001-base-packaging.patch, 0002-debian-changelog.patch, 0003-configs-based-on-Ubuntu-4.4.0-0.10.patchmanuell?

Antworten:


10

Wie in README auf der Hauptzeile angegeben :

Diese Binärpakete stellen Builds des Haupt- oder stabilen Linux-Kernelbaums beim folgenden Commit dar:

v4.4 (afd2ff9b7e1b367172f18ba7f693dfb62bdcb2dc)

Um die Quelle zu erhalten, aus der sie erstellt wurden, rufen Sie das folgende Commit ab:

git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack v4.4

und bringen Sie die folgenden Patches in der folgenden Reihenfolge oben an:

0001-base-packaging.patch
0002-debian-changelog.patch
0003-configs-based-on-Ubuntu-4.4.0-0.10.patch

Dies bedeutet, dass Sie diese Patches nur anwenden müssen, wenn Sie Ihren Kernel aus dem Quellcode und nicht aus dem Quellcode erstellen *.deb.

Wenn Sie es aus dem Quellcode erstellen, müssen Sie folgende Schritte ausführen:

  1. Installieren Sie diese Pakete:

    sudo apt-get install git build-essential kernel-package fakeroot libncurses5-dev
    
  2. Holen Sie sich den Quellcode:

    mkdir anyname; cd anyname
    git clone git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack v4.4
    
  3. Kopieren Sie die Patches.

  4. Wechseln Sie in das Kernel-Verzeichnis:

    cd v4.4
    
  5. Nehmen Sie benutzerdefinierte Änderungen vor.

  6. Patches anwenden:

    patch -p1 < ~/anyname/0001-base-packaging.patch
    patch -p1 < ~/anyname/0002-debian-changelog.patch
    patch -p1 < ~/anyname/0003-configs-based-on-Ubuntu-4.4.0-0.10.patch
    
  7. Machen:

    cp /boot/config-`uname -r` .config
    gedit .config
    
    make oldconfig
    make menuconfig
    
    make clean
    make -j `getconf _NPROCESSORS_ONLN` deb-pkg LOCALVERSION=-custom
    
  8. Installierte deb installieren:

    sudo dpkg -i ../*.deb
    
  9. Aktualisieren GRUBund neu starten:

    sudo update-grub; sudo reboot
    

Kurz gesagt, wenn ich die *.debDateien verwende, sind bereits Patches vorhanden?
Sergiy Kolodyazhnyy

@Serg - Ja! Recht.
Raphael

Ich denke nicht, dass die Paketliste vollständig ist. Zum Beispiel und ab Kernel 4.3 libssl-devwird benötigt.
Doug Smythies

Nachdem oldconfig ausgeführt wurde, unterscheidet sich die Konfiguration erheblich von der vom Mainline-Kernel bereitgestellten (z. B. Extrahieren von boot / config-xxxx aus linux-image-xxxx.deb). Es wäre wünschenswert, eine identische Konfiguration zu haben wie die, die ausgeliefert wurde.
Kevinf

vergessen, den wichtigen Teil "git checkout v4.4" zu tun, kompilieren Sie den Hauptzweig nicht v4.4
user249654
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.