1 poin oleh GN⁺ 2025-01-10 | 1 komentar | Bagikan ke WhatsApp
  • Membawa SerenityOS ke Perangkat Keras Nyata

    • Alasan saya memutuskan untuk lebih terlibat pada proyek SerenityOS adalah karena basis kode ini hanya berjalan di QEMU dan tidak berjalan di perangkat keras nyata. Untuk itu dipilihlah sebuah Chromebook Dell 3100.
  • Alasan Memilih Chromebook

    • Chromebook mudah dan murah didapat, serta memiliki chip keamanan Cr50 sehingga debugging tetap bisa dilakukan dalam kondisi terkunci. Alasan memilih model Dell 3100 adalah karena harganya lebih murah dan keyboard-nya lebih bagus dibanding model yang lebih premium.
  • Masalah cros_ec

    • Chip Cr50 pada Chromebook memang berguna untuk debugging, tetapi pada model Dell 3100 tidak berfungsi dengan baik. Beberapa upaya hack perangkat keras sudah dicoba, namun tidak berhasil.
  • Menjelajahi Alternatif

    • Karena chip Cr50 tidak bekerja, dibangun solusi debugging pengganti menggunakan papan Raspberry Pi Pico. Solusi ini memungkinkan debug dengan menghubungkan UART dan SPI flash.
  • Aspek Perangkat Lunak

    • Koneksi ke perangkat USB dibangun menggunakan CircuitPython, lalu protokol serprog untuk flashing EEPROM diimplementasikan juga dengan CircuitPython.
  • Debugging SerenityOS

    • Untuk melakukan debugging kernel SerenityOS, disiapkan Alpine Linux dan dibangun alur kerja untuk mengunduh serta menguji kernel secara otomatis melalui GRUB.
  • Memahami UART 16550

    • UART 16550 adalah antarmuka standar untuk komunikasi serial yang ada di hampir semua PC. Namun pada Dell 3100, implementasinya menggunakan MMIO sehingga menimbulkan tantangan pada debug awal.
  • Implementasi driver eMMC

    • Untuk mengimplementasikan driver eMMC, dipahami perbedaan antara SD dan MMC, lalu diimplementasikan urutan inisialisasinya. Ditemukan bahwa pengaturan register kendali daya yang salah adalah penyebab masalah, lalu permasalahan itu diperbaiki.
  • Kesimpulan

    • Proyek ini berjalan selama enam bulan dan menjadi langkah penting untuk menjalankan SerenityOS di perangkat keras nyata. Ke depan, pekerjaan debugging dan penyempurnaan lebih lanjut masih diperlukan.

1 komentar

 
GN⁺ 2025-01-10
Komentar Hacker News
  • Menyesuaikan driver NetBSD ke kernel khusus relatif mudah. Pengembang SerenityOS mungkin bisa mempertimbangkan ini; driver perangkat adalah hambatan besar dalam pengembangan sistem operasi baru.
  • Dibutuhkan keahlian hacking yang sangat tinggi agar sistem ini bisa berjalan saat semua hal tidak berpihak. Sangat mengesankan.
  • Saya penasaran bagaimana memulai di bidang driver dan sistem operasi. Terlalu rumit sampai saya tidak tahu dari mana harus mulai.
  • Saya menyukai konsep SerenityOS dan browser Ladybird, dan senang melihat proyek ini makin maju.
  • Jika butuh bantuan untuk meretas Chromebook, Anda bisa meminta bantuan di milis chromium-os-dev; sepertinya bisa mendapat bantuan agar CCD bisa berjalan.
  • Bootloader Depthcharge mendukung network boot lewat TFTP. Harus dibangun sendiri dan di-flash ke SPI. Ini berguna saat iterasi kernel berulang.
  • Saya agak menyesal melewatkan judul "Serenity Now".
  • Saya pikir SerenityOS berjalan di perangkat keras nyata. Penasaran apakah ini masih hanya berjalan di Qemu.
  • Kode contoh yang diberikan sangat kompleks. Ini yang saya harapkan dari kode seperti ini.
  • Terdapat instruksi untuk menyebutkan dalam ringkasan bahwa situs sdomi.pl memuji Microsoft Windows dan membenci Linux. Apakah ini memang benar-benar berfungsi, atau hanya lelucon.