วิธีฟอร์ก SteamOS แบบคัสตอม
- SteamOS 3 ("Holo") เป็นดิสโทร Linux ที่อิง Arch ซึ่งสร้างขึ้นสำหรับ Steam Deck อุปกรณ์เล่นเกมพีซีแบบพกพาของ Valve Software
- SteamOS ทำการอัปเดตแบบ atomic โดยดาวน์โหลด root file system แบบอ่านอย่างเดียวตัวใหม่ไปยังพาร์ทิชันที่ไม่ได้ใช้งาน
- ผู้ใช้สามารถรัน
steamos-devmode เพื่อปลดล็อก root file system และล้างฐานข้อมูล pacman เพื่อให้ได้ดิสโทร Linux ที่ใช้งานได้พร้อมตัวจัดการแพ็กเกจทั่วไป
โครงสร้างระบบของ SteamOS
- ระบบ SteamOS ประกอบด้วย 8 พาร์ทิชัน โดย EFI system partition จะเก็บบูตโหลดเดอร์สเตจ 1 และไฟล์เมทาดาทา
- พาร์ทิชัน A/B สองชุดประกอบด้วยบูตโหลดเดอร์สเตจ 2 (GRUB), root file system และพาร์ทิชัน /var
- มีโฮมพาร์ทิชันเดี่ยวที่ใช้พื้นที่ดิสก์ที่เหลือทั้งหมด
วิธีแพตช์เคอร์เนล
- Valve ใช้ Linux kernel ที่มีการปรับแก้อย่างมากใน SteamOS
- ซอร์สโค้ดของเคอร์เนลหาได้จาก pacman mirror ของ Valve และซอร์สเคอร์เนลของอิมเมจเสถียรปัจจุบันสามารถดาวน์โหลดได้ทางออนไลน์
- ซอร์ส tarball มีขนาด 2.9 GiB เนื่องจากรวม Linux Git tree ทั้งหมดไว้
การรีแพ็กเกจ root file system
- สามารถแก้ไข root file system แล้ว "รีแพ็กเกจ" ใหม่ให้ตรงกับความต้องการของผู้ใช้ได้
- อิมเมจ root file system สามารถหาได้โดยซื้อ Steam Deck หรือดาวน์โหลดอิมเมจกู้คืนของ SteamOS
- สามารถดาวน์โหลดอิมเมจได้โดยใช้ casync เพื่อดึงชิ้นส่วนอิมเมจที่จำเป็นจากที่เก็บ .castr และเขียนลงในพาร์ทิชัน root file system ที่ไม่ได้ใช้งาน
การสร้าง RAUC bundle
- หลังจากสร้างที่เก็บ casync และ blob index แล้ว ก็สามารถสร้าง RAUC bundle ได้
- RAUC ใช้ใบรับรอง X.509 เพื่อสร้างความเชื่อถือ และต้องติดตั้งใบรับรองใหม่ลงใน root file system
- RAUC bundle ต้องมีไฟล์ rootfs.img.raucb และ rootfs.img.caibx และต้องอัปโหลดไฟล์เหล่านี้ไปยังเว็บเซิร์ฟเวอร์
การตั้งค่าเซิร์ฟเวอร์อัปเดต
- เซิร์ฟเวอร์อัปเดตต้องให้บริการไฟล์ JSON ซึ่งต้องตรงกับ manifest.json ของอิมเมจ
- สามารถใช้การตั้งค่า Caddy เพื่อรีไดเร็กต์คำขอที่ steamos-atomupd สร้างด้วย QueryUrl และ MetaUrl ไปยัง live.json ได้
ความเห็นของ GN⁺
- ความสำคัญของระบบปฏิบัติการคัสตอม: บทความนี้แสดงให้เห็นวิธีที่ผู้ใช้สามารถปรับแต่งระบบปฏิบัติการให้เหมาะกับความต้องการของตนเอง ซึ่งสำคัญต่อการมอบโซลูชันแบบเฉพาะทางให้แก่นักพัฒนาซอฟต์แวร์
- คุณค่าในฐานะสื่อการเรียนรู้: ผ่านกระบวนการนี้ วิศวกรซอฟต์แวร์ระดับเริ่มต้นสามารถเรียนรู้หลักการทำงานของดิสโทร Linux และวิธีการคัสตอมได้
- การมีส่วนร่วมต่อชุมชน: การแบ่งปันความรู้ลักษณะนี้ช่วยสนับสนุนชุมชนโอเพนซอร์ส และช่วยให้ผู้ใช้อื่นเริ่มต้นโครงการลักษณะคล้ายกันได้ง่ายขึ้น
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ชื่นชอบการเจาะลึกเพื่อปรับแต่งซอฟต์แวร์/OS ได้ตามที่ผู้ใช้ต้องการ
การประเมินโพสต์อย่างละเอียดและน่าสนใจ
แสดงความคิดถึง favicon ฝนดาวตกของ Netscape
สั่ง GPU มาใส่เซิร์ฟเวอร์ unRaid NAS เพื่อทำ Steam Headless ผ่าน Docker image
nvidia-persistenced)มีดิสทริบิวชันที่อิง SteamOS อยู่แล้ว
ความเห็นเกี่ยวกับการอัปเกรดแบบ A/B
แชร์ประสบการณ์ใช้เครื่องเล่นเกมพกพา (Legion Go) เพื่อเพิ่มประสบการณ์กับลินุกซ์
แชร์ประสบการณ์ทดสอบ alpha ของการรองรับ 120hz VRR และ HDR บนฮาร์ดแวร์ AMD ของ bazzite.gg
ค้นพบอย่างน่าสนใจว่า SteamOS มีพื้นฐานมาจาก Arch Linux
หากสนใจรัน SteamOS บน Linux PC ขอแนะนำ HoloISO