FreeBSD di Laptop

Sudah sebulan saya memakai FreeBSD di Laptop Thinkpad X230 dan sepertinya sebentar lagi akan saya ganti menjadi Linux. Secara umum FreeBSD di laptop sudah cukup baik, tapi ada banyak juga kelemahan FreeBSD untuk dipakai sehari-hari.

Ada banyak hal yang menurut saya bagus di FreeBSD: Filesystem ZFS sangat mudah digunakan dan untuk kasus laptop, fitur kompresinya berguna untuk menghemat disk space. Berbagai konfigurasi di FreeBSD sangat mudah dilakukan (mengingatkan pada Linux, terutama sebelum adanya systemd).

Untuk kasus programming: tergantung apa yang ingin Anda lakukan, supportnya bisa benar-benar bagus sampai tidak bisa sama sekali. Contohnya: NodeJS versi terbaru bisa dijalankan dengan mudah (walau tidak dijamin juga masalah modul-modul yang mengandung native code), tapi JDK terbaru (JDK 11) belum diporting ke FreeBSD. Bahkan terakhir yang diporting adalah JDK 9.

Teorinya FreeBSD bisa menjalankan berbagai program Linux tanpa perlu compile ulang. Kenyataannya banyak sekali binary Linux yang tidak jalan, termasuk juga JDK 11 untuk Linux. Alternatif jika ingin menjalankan program Linux adalah dengan Virtual Machine. Sayangnya support terhadap teknologi virtualisasi juga terbatas di FreeBSD.

Support untuk menjadi Xen Host masih terbatas (sampai ada warning mengenai error di dokumentasi resminya). Untungnya masih ada Virtual Box yang bisa dipakai untuk menjalankan Virtual Machine Linux di dalam FreeBSD.

Awalnya saya ingin memahami hal-hal apa saja yang masih kurang bagus di FreeBSD dan kontribusi apa yang bisa saya berikan. Sekitar 10 tahun yang lalu saya pernah berkontribusi, tapi merasa perlu memakai lagi FreeBSD karena tidak tahu state terbaru.

Ternyata hal-hal yang masih bisa diperbaiki sangat banyak sekali, sampai tidak tahu harus mulai dari mana. Di sisi kernel contohnya hibernation belum bisa dilakukan. Di awal saya bisa hidup cukup dengan:

  • emacs
  • browser Firefox dan Chromium
  • telegram
  • octave (untuk mengerjakan beberapa soal Machine Learning Coursera)

Tapi ketika perlu mengerjakan beberapa proyek yang mudah dilakukan di Linux (misalnya mengkompilasi sesuatu untuk ESP32 atau sekedar menginstall tensorflow), hal ini jadi sulit di FreeBSD. Secara umum: untuk hal-hal yang masuk dalam sistem FreeBSD, biasanya supportnya sangat bagus, tapi untuk hal-hal yang di luar FreeBSD (contohnya ESP32 itu) maka supportnya biasanya kurang bagus.

Mungkin di masa depan saya akan mencoba lagi memakai FreeBSD di laptop, tapi saat ini saya berencana untuk menggantinya dengan Linux.
Sekarang ini waktu saya di dalam VM Linux dalam FreeBSD cukup banyak, jadi daripada menghabiskan batere menjalankan VM lebih masuk akan kembali ke Linux. Eksperimen memakai FreeBSD ini cukup menyenangkan, dan kemungkinan besar saya akan menginstall FreeBSD di server saya, sepertinya saat ini FreeBSD memang masih lebih cocok di server dibanding Desktop.

Kernel FreeBSD

Dua hari yang lalu untuk kali pertama, kode program saya masuk ke kernel FreeBSD (versi development). Kode ini bisa diakses di:

http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/arm/econa/

Kode tersebut merupakan port FreeBSD ke platform Cavium Econa CNS11XX. Secara sederhana, artinya sekarang FreeBSD bisa berjalan di device di bawah ini (Emprex NSD-100):

NSD_100_1

Saya kenal Linux dulu kali pertama waktu masuk Informatika ITB tahun 1998. Kami sempat mendapatkan pelatihan menggunakan Linux selama seminggu, dan di salah satu sesinya ada sedikit cerita mengenai sejarah Linux. Sejak saat itu saya tertarik dengan sistem operasi. Sebelum kuliah OS, saya sudah menyelesaikan membaca buku Tannenbaum (Operating System: Design and Implementation). Pernah dulu mau berusaha bikin OS sendiri, tapi ya karena saya tidak sejenius Linus Torvalds, akhirnya saya menyerah dan meninggalkan usaha tersebut.
Lanjutkan membaca “Kernel FreeBSD”