Nơi để tải xuống mã nguồn Linux Kernel của một phiên bản cụ thể?


24

Có một tài nguyên để tải về một nguồn phiên bản kernel cụ thể không? Ví dụ, tôi muốn lấy 2.6.36.2 nguồn để so sánh với gói này và xem những thay đổi nào đã được giới thiệu?


1
Liên kết trong câu hỏi này dường như bị phá vỡ.
Faheem Mitha

Câu trả lời:


28

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

1
Có manh mối nào tại sao các thẻ nhỏ không hiển thị trên GitHub không? Ví dụ: github.com/torvalds/linux/release/tag/v3.5.2 vs github.com/torvalds/linux/release/tag/v3.5 Cũng trên git.kernel.org/pub/scm/linux/kernel/git/ torvalds / linux.git / refs
Ciro Santilli 改造

1
--depth--branchcũng có thể làm giảm đáng kể kích thước bản sao: unix.stackexchange.com/a/473373/32558
Ciro Santilli新疆改造中心法轮功六四事件


9

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.


1
--depthngụ ý --single-branchBTW, theo man git-clone.
Ciro Santilli 心 心

0

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?

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.