1 puan yazan GN⁺ 2025-01-10 | 1 yorum | WhatsApp'ta paylaş
  • 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

 
GN⁺ 2025-01-10
Hacker News Yorumu
  • NetBSD sürücülerini özel bir çekirdeğe uyarlamak görece kolay. SerenityOS geliştiricileri bu yaklaşımı değerlendirebilir. Cihaz sürücüleri, yeni bir işletim sistemi geliştirmede en büyük engellerden biridir.
  • Her şeyin aleyhinde olduğu bir durumda bunu çalıştırmak için gerçekten çok iyi bir "hack" becerisi gerekmiş; etkileyici.
  • Sürücü ve işletim sistemi alanına nasıl başlayabileceğimi merak ediyorum. Aşırı karmaşık; nereden başlanacağını anlamak güç.
  • SerenityOS ve Ladybird tarayıcısının fikrini seviyorum, bu projenin ilerlemesinden memnuniyet duyuyorum.
  • Chromebook hack'ine yardım gerekiyorsa, chromium-os-dev posta listesinde destek istenebilir; CCD'nin çalışması konusunda yardımcı olabilirler.
  • Depthcharge önyükleyicisi, TFTP üzerinden ağ bootunu destekler. Kendi başına derlenmeli ve SPI'ye flashlanmalı. Çekirdek iterasyonlarında çok faydalı bir özellik.
  • “Serenity Now” başlığını kaçırmış olmam üzücü.
  • SerenityOS'un gerçek donanımda çalıştığını sanıyordum; hâlâ sadece QEMU içinde mi çalıştırıldığını merak ediyorum.
  • Karmaşık bir kod örneği paylaşılıyor. Böyle karmaşık bir kodu bekliyordum.
  • Özetlerde sdomi.pl sitesinin Microsoft Windows'u övdüğü ve Linux'u beğenmediğini (hatta sevmeyip beğenmediğini) belirttiği söylenmiş. Bunun gerçekten böyle olup olmadığını ya da bir şaka mı olduğunu merak ediyorum.