Câu trả lời:
Cách dễ nhất và thân thiện với băng thông nhất, nếu bạn muốn làm điều này nhiều lần, sẽ là sao chép kho git của kernel và kiểm tra phiên bản bạn muốn dựa trên thẻ của nó. Có lẽ tốt nhất để sao chép repo ổn định linux , vì điều đó sẽ bao gồm các thẻ cho tất cả các bản phát hành ổn định:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
cd linux
git checkout v2.6.36.2
Để sau này chuyển sang phiên bản khác, thật dễ dàng:
git checkout v3.5.2
Để cập nhật kho lưu trữ của bạn để bao gồm tất cả các thẻ và cam kết mới nhất:
git fetch
--depth
và --branch
cũng có thể làm giảm đáng kể kích thước bản sao: unix.stackexchange.com/a/473373/32558
Có, kernel.org có tất cả các phiên bản đã phát hành , bao gồm 2.6.36.2 . Tuy nhiên, lưu ý rằng hầu hết các bản phân phối Linux đều áp dụng các bản vá riêng cho nguồn nhân vanilla.
Nếu bạn không muốn tải xuống toàn bộ lịch sử cam kết của kernel (cao hơn 1 GiB), bạn chỉ có thể tải xuống một phần như vậy của repo kernel Git dẫn đến chi nhánh mong muốn của bạn. Ví dụ: để kiểm tra cục bộ kernel Ubuntu trong phiên bản 4.5, bạn sẽ làm:
git clone --depth 1 --single-branch --branch v4.5 git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack
Bằng cách này, bản sao là khoảng 150 MiB.
--depth
ngụ ý --single-branch
BTW, theo man git-clone
.
Nếu bạn chỉ muốn lấy một thẻ để biên dịch nhanh, hãy làm:
git clone --depth 1 --branch v4.18 \
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
--depth 1
một bản sao nông, làm giảm đáng kể thời gian nhân bản và sử dụng đĩa.
Nó chỉ hoạt động cho các thẻ hiện không may, không phải là các cam kết tùy ý, do cách máy chủ cgit git hoạt động và được định cấu hình. Xem thêm: /programming/3361173/how-to-clone-git-reposeective-with-specific-revision-changeset
Xem thêm: Tại sao bản sao git của mã nguồn nhân Linux lớn hơn nhiều so với tar.xz được giải nén?