1 คะแนน โดย GN⁺ 2025-01-10 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • นำ SerenityOS ไปยังฮาร์ดแวร์จริง

    • เหตุผลที่ตัดสินใจเข้าร่วมโปรเจกต์ SerenityOS อย่างจริงจังคือโค้ดเบสสามารถรันได้เฉพาะบน QEMU แต่ไม่สามารถทำงานบนฮาร์ดแวร์จริงได้ เพื่อแก้ปัญหานี้จึงเลือก Dell 3100 Chromebook
  • เหตุผลที่เลือก Chromebook

    • Chromebook มีราคาไม่แพงและหาได้ง่าย อีกทั้งมีชิปรักษาความปลอดภัย Cr50 ซึ่งช่วยให้ดีบักได้แม้ในสถานะปิดและยังเลือก Dell 3100 เพราะราคาถูกและคีย์บอร์ดดีกว่าโมเดลระดับสูง
  • ปัญหา cros_ec

    • แม้ว่า Cr50 ของ Chromebook จะมีประโยชน์ต่อการดีบัก แต่ใน Dell 3100 กลับไม่ทำงานอย่างถูกต้อง พยายาม ‘แฮ็ก’ ฮาร์ดแวร์หลายวิธีแต่ยังไม่สำเร็จ
  • ค้นหาทางเลือก

    • เนื่องจาก Cr50 ใช้งานไม่ได้ จึงสร้างโซลูชันดีบักสำรองด้วยบอร์ด Raspberry Pi Pico และเชื่อมต่อ UART กับ SPI flash เพื่อทำให้การดีบักเป็นไปได้
  • ด้านซอฟต์แวร์

    • ใช้ CircuitPython เชื่อมต่อกับอุปกรณ์ USB และใช้งานโปรโตคอล serprog ผ่าน CircuitPython สำหรับการแฟลช EEPROM
  • การดีบัก SerenityOS

    • เพื่อดีบักเคอร์เนลของ SerenityOS ได้ ได้ตั้งค่า Alpine Linux ขึ้นมาและสร้างสภาพแวดล้อมที่ดาวน์โหลดและทดสอบเคอร์เนลอัตโนัมัติผ่าน GRUB
  • ทำความเข้าใจ 16550 UART

    • 16550 UART คืออินเทอร์เฟซมาตรฐานสำหรับการสื่อสารแบบอนุกรมที่มีอยู่ในแทบทุก PC แต่ Dell 3100 ใช้การติดตั้งแบบ MMIO ซึ่งทำให้เกิดความยากในการดีบักช่วงต้น
  • การพัฒนาไดรเวอร์ eMMC

    • เพื่อพัฒนาไดรเวอร์ eMMC ให้ได้ จำเป็นต้องทำความเข้าใจความแตกต่างระหว่าง SD และ MMC แล้วนำลำดับการเริ่มต้นมาใช้งาน ในตอนท้ายพบว่าปัญหาอยู่ที่การตั้งค่าผิดของรีจิสเตอร์ควบคุมพลังงานและได้แก้ไขมันเรียบร้อยแล้ว
  • สรุป

    • โปรเจกต์นี้ใช้เวลาถึง 6 เดือน และเป็นขั้นตอนสำคัญเพื่อให้ SerenityOS ทำงานบนฮาร์ดแวร์จริงต่อไป ในอนาคตก็ยังจำเป็นต้องมีการดีบักและปรับปรุงเพิ่มเติมต่อเนื่อง

1 ความคิดเห็น

 
GN⁺ 2025-01-10
ความคิดเห็นจาก Hacker News
  • การปรับไดรเวอร์ของ NetBSD ให้เข้ากับเคอร์เนลแบบกำหนดเองค่อนข้างทำได้ง่าย นักพัฒนา SerenityOS อาจพิจารณาวิธีนี้ได้ เพราะไดรเวอร์อุปกรณ์เป็นอุปสรรคใหญ่ในงานพัฒนาระบบปฏิบัติการใหม่ๆ
  • ในสถานการณ์ที่แทบทุกอย่างไม่เป็นใจ ต้องใช้ความสามารถในการแฮกระดับสูงมากเพื่อให้ทุกอย่างทำงานได้ น่าประทับใจมาก
  • ฉันสงสัยว่าจะเริ่มต้นเรียนรู้ด้านไดรเวอร์และระบบปฏิบัติการได้อย่างไร มันดูซับซ้อนมากจนไม่รู้จะเริ่มตรงไหน
  • ชอบแนวคิดของ SerenityOS และเบราว์เซอร์ Ladybird ดีใจที่เห็นความคืบหน้าของโปรเจกต์นี้
  • ถ้าต้องการความช่วยเหลือเรื่องการแฮ็ก Chromebook ให้ลองโพสต์ในเมลลิงลิสต์ chromium-os-dev ได้ รับรองว่าจะช่วยเรื่องการทำให้ CCD ทำงานได้
  • บูตโหลดเดอร์ Depthcharge รองรับการบูตผ่านเครือข่ายผ่าน TFTP ต้อง build แล้ว flash เข้าบน SPI ซึ่งเป็นฟีเจอร์ที่มีประโยชน์มากในงาน iterate เคอร์เนล
  • เสียดายที่พลาดชื่อตอนของ "Serenity Now"
  • คิดว่า SerenityOS รันบนฮาร์ดแวร์จริงแล้ว แต่สงสัยว่าปัจจุบันยังคงรันได้แค่ใน Qemu อยู่หรือไม่
  • มีตัวอย่างโค้ดที่ซับซ้อนถูกโพสต์มา นี่คือสิ่งที่ฉันคาดไว้
  • ได้รับคำสั่งว่าต้องระบุในสรุปว่าไซต์ sdomi.pl ชื่นชม Microsoft Windows และไม่ชอบ Linux ฉันจึงสงสัยว่ามันทำงานจริงหรือเป็นมุขตลก