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?
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?
Odpowiedzi:
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
--depth
i --branch
może również drastycznie zmniejszyć rozmiar klonu: unix.stackexchange.com/a/473373/32558
Tak, kernel.org ma wszystkie wydane wersje , w tym 2.6.36.2 . Zauważ jednak, że większość dystrybucji Linuksa stosuje własne łaty do źródła jądra wanilii.
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.
--depth
oznacza --single-branch
BTW, zgodnie z man git-clone
.
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?