Skip to content

Kernel Release Process

WIP

Trang này mới ở mức giới thiệu, sẽ được bổ sung chi tiết sau. Về hiện trạng các bản kernel cụ thể, xem bài Hiện trạng các dòng Linux kernel.

Tổng quan

Linux kernel phát triển theo mô hình time-based release: cứ khoảng 9–10 tuần có một bản mainline mới, không chờ đủ tính năng mới phát hành. Linus Torvalds là người phát hành bản mainline; các subsystem maintainer thu thập patch của mình rồi gửi lên Linus.

Một chu kỳ phát triển

Giai đoạn Thời gian Nội dung
Merge window khoảng 2 tuần Maintainer gửi các tính năng mới đã chuẩn bị sẵn (đã qua linux-next); kết thúc bằng -rc1
Stabilization -rc2 đến -rc7 (đôi khi -rc8), mỗi tuần một bản Chỉ nhận bản sửa lỗi và regression, không nhận tính năng mới
Release cuối chu kỳ Linus tag bản chính thức vX.Y, merge window của bản kế tiếp mở ngay sau đó

Các nhánh (tree) chính

  • Mainline (torvalds/linux.git): nơi phát hành vX.Y và các -rcN.
  • linux-next: tree tích hợp của các subsystem, dùng để phát hiện xung đột trước khi vào merge window.
  • Subsystem tree: tree riêng của từng maintainer (net, mm, drm, ...).
  • Stable: các bản X.Y.Z chỉ chứa bản sửa lỗi, do stable maintainer quản lý.
  • Longterm (LTS): một số bản stable được hỗ trợ lâu hơn, thường mỗi năm có một bản được chọn làm LTS.

Stable và LTS

  • Bản sửa lỗi vào mainline trước, sau đó được backport sang stable. Patch cần backport được đánh dấu Cc: stable@vger.kernel.org và/hoặc có thẻ Fixes:.
  • Bản stable bình thường chỉ được hỗ trợ cho tới khi bản mainline kế tiếp ra đời một thời gian ngắn.
  • Bản LTS được cập nhật trong nhiều năm, phù hợp cho sản phẩm nhúng. Thời hạn từng bản xem tại kernel.org/releases.
  • Dự án CIP (Civil Infrastructure Platform) hỗ trợ một số bản LTS lâu hơn nữa cho hạ tầng công nghiệp.

Đánh số phiên bản

Số phiên bản có dạng X.Y.Z (ví dụ 6.6.30):

  • X.Y: bản mainline.
  • Z: số thứ tự bản stable/LTS.
  • Số major X tăng theo quy ước, không đánh dấu breaking change; kernel giữ nguyên tắc không phá vỡ user space.
  • -rcN: release candidate; -next-YYYYMMDD: snapshot của linux-next.

Chọn kernel cho sản phẩm nhúng

  • Thường chọn bản LTS do vendor SoC/BSP hoặc Yocto cung cấp, rồi cập nhật theo các bản X.Y.Z để nhận bản vá bảo mật.
  • Kernel của vendor thường là bản LTS cộng thêm patch riêng; cần cân nhắc chi phí khi muốn nâng lên bản mới hơn.
  • Theo dõi CVE và bản vá stable thay vì giữ nguyên một bản kernel cố định.

Nội dung sẽ bổ sung

  • Quy trình gửi patch (git send-email, checkpatch.pl, get_maintainer.pl).
  • Cách đọc MAINTAINERS, Documentation/process/.
  • Quy trình backport và kiểm tra stable-rc.
  • Mối liên hệ với Yocto/Petalinux (chọn linux-yocto, linux-xlnx...).

Tài liệu tham khảo