Cách fork SteamOS tùy biến
- SteamOS 3 ("Holo") là một bản phân phối Linux dựa trên Arch được tạo ra cho Steam Deck, thiết bị chơi game PC cầm tay của Valve Software.
- SteamOS thực hiện cập nhật theo kiểu nguyên tử bằng cách tải hệ thống tệp gốc chỉ đọc mới xuống phân vùng không hoạt động.
- Người dùng có thể chạy
steamos-devmode để mở khóa hệ thống tệp gốc và dọn dẹp cơ sở dữ liệu pacman nhằm có được một bản phân phối Linux hoạt động với trình quản lý gói thông thường.
Cấu trúc hệ thống SteamOS
- Hệ thống SteamOS gồm 8 phân vùng, trong đó phân vùng hệ thống EFI lưu trữ bootloader giai đoạn 1 và các tệp siêu dữ liệu.
- Hai bộ phân vùng A/B chứa bootloader giai đoạn 2 (GRUB), hệ thống tệp gốc và phân vùng /var.
- Có một phân vùng home duy nhất chiếm toàn bộ phần dung lượng đĩa còn lại.
Cách vá kernel
- Valve sử dụng một kernel Linux đã được chỉnh sửa rất nhiều trong SteamOS.
- Mã nguồn kernel có thể được tìm thấy trong mirror pacman của Valve, và mã nguồn kernel của bản image ổn định hiện tại có thể được tải trực tuyến.
- Tarball mã nguồn có kích thước 2.9 GiB vì nó bao gồm toàn bộ cây Git Linux.
Đóng gói lại hệ thống tệp gốc
- Có thể sửa đổi hệ thống tệp gốc để "đóng gói lại" theo nhu cầu của người dùng.
- Image hệ thống tệp gốc có thể lấy bằng cách mua Steam Deck hoặc tải image khôi phục SteamOS.
- Có thể tải image bằng cách dùng casync để tải các mảnh image cần thiết từ kho
.castr và ghi chúng vào phân vùng hệ thống tệp gốc không hoạt động.
Tạo bundle RAUC
- Sau khi tạo kho casync và chỉ mục blob, có thể tạo bundle RAUC.
- RAUC thiết lập độ tin cậy bằng chứng chỉ X.509, và cần cài chứng chỉ mới vào hệ thống tệp gốc.
- Bundle RAUC phải bao gồm các tệp rootfs.img.raucb và rootfs.img.caibx, và chúng phải được tải lên máy chủ web.
Thiết lập máy chủ cập nhật
- Máy chủ cập nhật phải cung cấp một tệp JSON, và tệp này phải khớp với
manifest.json của image.
- Có thể dùng cấu hình Caddy để chuyển hướng các yêu cầu mà steamos-atomupd tạo ra bằng QueryUrl và MetaUrl sang
live.json.
Ý kiến của GN⁺
- Tầm quan trọng của OS tùy biến: Bài viết này cho thấy cách người dùng có thể tùy biến hệ điều hành theo nhu cầu của mình. Điều này quan trọng trong việc cung cấp các giải pháp được thiết kế riêng cho các nhà phát triển phần mềm.
- Giá trị như tài liệu học tập: Thông qua quá trình này, các kỹ sư phần mềm mới vào nghề có thể học cách hoạt động của bản phân phối Linux và cách tùy biến nó.
- Đóng góp cho cộng đồng: Việc chia sẻ kiến thức như vậy góp phần cho cộng đồng mã nguồn mở và có thể giúp những người dùng khác khi bắt đầu các dự án tương tự.
1 bình luận
Ý kiến trên Hacker News
Đam mê khám phá sâu việc tùy biến phần mềm/HĐH theo ý người dùng
Đánh giá kỹ lưỡng và thú vị về bài viết
Bày tỏ sự nhớ nhung với favicon trận mưa sao băng của Netscape
Đang đặt mua GPU cho máy chủ NAS unRaid để triển khai Steam Headless qua Docker image
nvidia-persistencedlà được)Đã có sẵn các bản phân phối dựa trên SteamOS
Ý kiến về nâng cấp A/B
Chia sẻ trải nghiệm dùng máy chơi game cầm tay (Legion Go) để tăng kinh nghiệm với Linux
Chia sẻ trải nghiệm thử nghiệm alpha hỗ trợ 120hz VRR và HDR trên phần cứng AMD của bazzite.gg
Phát hiện thú vị rằng SteamOS dựa trên Arch Linux
Nếu quan tâm đến việc chạy SteamOS trên PC Linux thì nên thử HoloISO