Skąd pobrać kod źródłowy jądra Linux określonej wersji?


24

Czy istnieje zasób do pobrania konkretnego źródła wersji jądra? Na przykład chcę uzyskać źródła 2.6.36.2 w celu porównania z tym pakietem i zobaczyć, jakie zmiany zostały wprowadzone?


1
Link w tym pytaniu wydaje się być zepsuty.
Faheem Mitha

Odpowiedzi:


28

Najłatwiejszym i najbardziej przyjaznym dla przepustowości sposobem, jeśli spodziewasz się zrobić to więcej niż raz, byłoby sklonowanie repozytorium git jądra i sprawdzenie wersji, którą chcesz, na podstawie jego znacznika. Prawdopodobnie najlepiej jest sklonować repozytorium stabilne dla systemu Linux , ponieważ będzie ono zawierać tagi dla wszystkich stabilnych wydań:

git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
cd linux
git checkout v2.6.36.2

Aby później przejść do innej wersji, jest to łatwe:

git checkout v3.5.2

Aby zaktualizować repozytorium, aby zawierało wszystkie najnowsze tagi i zatwierdzenia:

git fetch


1
--depthi --branchmoże również drastycznie zmniejszyć rozmiar klonu: unix.stackexchange.com/a/473373/32558
Ciro Santilli 5 改造 中心 法轮功 六四 事件


9

Jeśli nie chcesz pobierać całej historii zmian jądra (która jest znacznie powyżej 1 GiB), możesz pobrać tylko taką część repozytorium Git repozytorium, która prowadzi do pożądanej gałęzi. Np. Aby lokalnie pobrać jądro Ubuntu w wersji 4.5, wykonaj następujące czynności:

git clone --depth 1 --single-branch --branch v4.5  git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack

W ten sposób klon ma około 150 MiB.


1
--depthoznacza --single-branchBTW, zgodnie z man git-clone.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

0

Jeśli chcesz uzyskać tylko jeden tag do szybkiej kompilacji, wykonaj:

git clone --depth 1 --branch v4.18 \
  git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

--depth 1 wykonuje płytki klon, co drastycznie zmniejsza czas klonowania i zużycie dysku.

Niestety działa tylko dla tagów, a nie dowolnych zatwierdzeń, ze względu na sposób działania i konfiguracji serwera cgit git. Zobacz także: /programming/3489173/how-to-clone-git-repository-with-specific-revision-changeset

Zobacz także: Dlaczego klon git kodu źródłowego jądra Linux jest znacznie większy niż rozpakowany plik tar.xz?

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.