-
SerenityOS'u Gerçek Donanıma Taşımak
- SerenityOS projesine daha derinden dahil olmaya karar verme nedenim, kod tabanının yalnızca QEMU'da çalışması ve gerçek donanımda çalışmamasıydı. Bunu çözmek için Dell 3100 Chromebook'u seçtim.
-
Chromebook Seçim Nedenleri
- Chromebook'lar uygun fiyatlıdır ve bulmak kolaydır; ayrıca Cr50 güvenlik çipi kapalı durumda bile hata ayıklamayı mümkün kılar. Dell 3100 modeli, ucuz olması ve klavyesinin üst düzey modellerden daha iyi olması nedeniyle seçildi.
-
cros_ec Sorunu
- Chromebook'ın Cr50 çipi hata ayıklama için yararlı olmasına rağmen Dell 3100 modelinde düzgün çalışmıyordu. Bazı donanım hack denemeleri yaptım ama başarılı olamadım.
-
Alternatif Arayışı
- Cr50 çipi çalışmadığı için Raspberry Pi Pico kartını kullanarak alternatif bir hata ayıklama çözümü uyguladım. Bu sayede UART ile SPI flash bağlantısı kurarak hata ayıklamanın önünü açtım.
-
Yazılım Tarafı
- USB cihazı bağlantısını CircuitPython ile kurdum ve EEPROM flash için serprog protokolünü CircuitPython ile uyguladım.
-
SerenityOS Hata Ayıklama
- SerenityOS çekirdeğini hata ayıklamak için Alpine Linux kurdum, GRUB üzerinden çekirdeği otomatik olarak indiren ve test eden bir düzenek oluşturup denedim.
-
16550 UART'i Anlamak
- 16550 UART seri iletişim için standart bir arayüzdür ve çoğu PC'de bulunur. Ancak Dell 3100'de MMIO kullanılarak uygulanmış olduğu için ilk hata ayıklamalarında zorluk yaşandı.
-
eMMC Sürücü Uygulaması
- eMMC sürücüsünü uygulamak için SD ile MMC arasındaki farkları inceledim ve başlatma sıralamasını geliştirdim. Sorunun güç kontrol kaydının yanlış ayarlanmış olması olduğunu keşfederek giderdim.
-
Sonuç
- Bu proje 6 ay sürdü ve SerenityOS'un gerçek donanımda çalışması için önemli bir aşamaydı. İleride daha fazla hata ayıklama ve iyileştirme gerekecek.
1 yorum
Hacker News Yorumu