Gibt es eine Ressource zum Herunterladen einer bestimmten Kernel-Versionsquelle? Zum Beispiel möchte ich 2.6.36.2-Quellen zum Vergleich mit diesem Paket erhalten und sehen, welche Änderungen eingeführt wurden?
Gibt es eine Ressource zum Herunterladen einer bestimmten Kernel-Versionsquelle? Zum Beispiel möchte ich 2.6.36.2-Quellen zum Vergleich mit diesem Paket erhalten und sehen, welche Änderungen eingeführt wurden?
Antworten:
Der einfachste und bandbreitenschonendste Weg, dies mehrmals zu tun, besteht darin, das Git-Repository des Kernels zu klonen und die gewünschte Version anhand des Tags zu überprüfen. Es ist wahrscheinlich am besten, das Linux-stabile Repo zu klonen , da es Tags für alle stabilen Releases enthält:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
cd linux
git checkout v2.6.36.2
Um später zu einer anderen Version zu wechseln, ist es einfach:
git checkout v3.5.2
So aktualisieren Sie Ihr Repository mit den neuesten Tags und Commits:
git fetch
Ja, kernel.org hat alle veröffentlichten Versionen , einschließlich 2.6.36.2 . Beachten Sie jedoch, dass die meisten Linux-Distributionen eigene Patches auf die Vanilla-Kernel-Quelle anwenden.
Wenn Sie nicht den gesamten Kernel-Commit-Verlauf herunterladen möchten (der deutlich über 1 GB liegt), können Sie nur den Teil des Kernel-Git-Repos herunterladen, der zu Ihrem gewünschten Zweig führt. Wenn Sie beispielsweise den Ubuntu-Kernel in Version 4.5 lokal auschecken möchten, tun Sie Folgendes:
git clone --depth 1 --single-branch --branch v4.5 git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack
Auf diese Weise beträgt der Klon etwa 150 MiB.
--depth
impliziert --single-branch
übrigens nach man git-clone
.
Wenn Sie nur ein Tag für die schnelle Kompilierung erhalten möchten, gehen Sie wie folgt vor:
git clone --depth 1 --branch v4.18 \
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
--depth 1
Führt einen flachen Klon durch, der die Klonzeit und den Festplattenverbrauch drastisch reduziert.
Es funktioniert derzeit leider nur für Tags, keine willkürlichen Commits, da der cgit git-Server so funktioniert und konfiguriert ist. Siehe auch: /programming/3489173/how-to-clone-git-repository-with-specific-revision-changeset
Siehe auch: Warum ist der git-Klon des Linux-Kernel-Quellcodes viel größer als die extrahierte tar.xz?