Một trong những đề xuất thay đổi gần đây cho Fedora 39 đang được phát triển là cung cấp mkosi-initrd của systemd như một giải pháp thay thế hiện đại và ưu việt hơn cho Dracut để xây dựng các initrd.

Ban đầu, mkosi-initrd được thiết lập để được coi là một công cụ xây dựng thay thế cho Dracot để xây dựng các initrd, nhưng phạm vi ban đầu của nó có thể bị hạn chế. Mục đích của mkosi-initrd là dọn dẹp quy trình xây dựng phức tạp và không hiệu quả hiện đang được Dracut sử dụng. Đề xuất tính năng giải thích:

mkosi-initrd là trình tạo thay thế cho initrds. Nó sẽ được đóng gói trong Fedora để người dùng có thể sử dụng nó để xây dựng initrds cục bộ. Plugin cài đặt nhân sẽ được cung cấp để xây dựng initrd khi gói nhân được cài đặt. Như một mục tiêu kéo dài, các initrd sẽ được xây dựng bằng koji và được phân phối qua các gói vòng/phút. Là một mục tiêu mở rộng hơn nữa, các initrd dựng sẵn sẽ được sử dụng trong Hình ảnh hạt nhân hợp nhất có thể được phân phối qua các gói vòng/phút.

Quá trình chúng tôi tạo initrds rất phức tạp và không hiệu quả. Initrd chứa chức năng trùng lặp và đòi hỏi nhiều nỗ lực của người bảo trì. Mục đích của đề xuất này là giới thiệu một cơ chế tạo initrd đơn giản hóa rất nhiều và nội dung initrd đơn giản hóa.

Dự án mkosi-initrd là một tập hợp các tệp cấu hình cho mkosi. mkosi là một chương trình xây dựng hình ảnh hệ điều hành từ các gói hệ thống. Một initrd được tạo bằng cách gọi mkosi với cấu hình được cung cấp bởi mkosi-initrd.

Thay vì xây dựng các tệp initrd bằng cách loại bỏ hệ thống tệp và tìm ra các phụ thuộc một lần nữa, các gói hiện có và cài đặt gói thông thường qua dnf/rpm được sử dụng để tạo tệp initrd. Điều này cũng có nghĩa là trình quản lý gói chịu trách nhiệm đáp ứng các phụ thuộc. Khi chạy, systemd chịu trách nhiệm thiết lập môi trường thực thi và gọi các chương trình.

Hiện tại, các initrd được xây dựng theo cách này lớn hơn hơn initrds được xây dựng bởi dracut. Chúng cũng có chức năng hạn chế: nhiều loại hệ thống phổ biến chỉ hoạt động tốt, nhưng các cấu hình kỳ lạ hơn không được hỗ trợ.

Mục tiêu của thay đổi này là cung cấp một cơ chế thay thế. Nếu phản hồi là tích cực, chúng tôi có thể cân nhắc sử dụng initrds được tạo bằng mkosi-initrd làm mặc định trong một số trường hợp nhất định. Không có kế hoạch loại bỏ dracut trong tương lai gần. Điều này có nghĩa là đối với bất kỳ trường hợp nào không được hỗ trợ hoặc không hoạt động tốt, dracut vẫn là một dự phòng tự nhiên. Theo cách này, thay đổi này tương tự như Thay đổi/Unified_Kernel_Support_Phase_1, vì nó cung cấp bản xem trước của một công nghệ mới thay thế cho phương pháp đã thiết lập hiện tại.

Thông tin chi tiết về thay đổi được đề xuất này cho Fedora 39 vào mùa thu có thể được tìm thấy qua Wiki Dự án Fedora.
Mkosi-initrd được lưu trữ trong dự án systemd và có thể tìm thấy trên GitHub.

Categories: IT Info