-
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
Komentar Hacker News