Minggu lalu karena kombinasi beberapa hal, saya memutuskan ingin membeli Thinkpad bekas dan ngoprek FreeBSD di laptop itu. Laptopnya dipesan hari Minggu dan sampai hari Rabu siang lalu. Saat ini laptop ini sudah berhasil: diganti SSD-nya, ditambah RAM-nya, diinstall Coreboot (software open source pengganti BIOS), dan sudah diinstall FreeBSD 12 dengan segala setting yang membuat semuanya berjalan normal.
Kalau dipikir-pikir sebenarnya nggak ada alasan yang kuat untuk harus beli laptop dan install FreeBSD, cuma seneng aja ngoprek di hardware langsung. Sekitar 10 tahun yang lalu saya pernah ngoprek FreeBSD, di Virtual Machine. Porting kernel ARM untuk NAS yang dulu saya miliki. Dibandingkan virtual machine, ngoprek langsung di hardware punya tantangan sendiri.
Sebenarnya yang saya pesan dari Shopee adalah Thinkpad X220, tapi ternyata malah dikirim X230 (yang lebih baik), jadi ya saya terima aja. Spesifikasinya: Core i5-3320M 2.6 Ghz, RAM 4 G, HDD 300 GB. Laptopnya memiliki lisensi Windows 7. Ketika sampai, saya test bahwa semua hardware berjalan normal (kecuali suara, entah kenapa tidak ada suara di Windows 7, sepertinya masalah driver). Secara umum kondisi laptop cukup baik, yang agak mengganggu hanya ada cacat di layar, ada noda agak terang tapi relatif kecil. Saya punya SSD lama 60 GB yang tidak saya pakai, jadi saya ganti saja dengan SSD supaya lebih cepat sebelum saya install FreeBSD (60 GB sudah lebih dari cukup buat sistem yang lengkap).
Instalasi FreeBSD bisa saya lakukan cepat sekali, dan setelah mengikuti beberapa tutorial di Internet untuk mengubah berbagai konfigurasinya, semua bisa berjalan normal. Ini mengingatkan saya jaman dulu memakai laptop Linux, harus banyak konfigurasi berbagai hal supaya berbagai fitur bisa jalan. Saat ini kalau saya memakai Linux, semua fitur sudah jalan tanpa perlu dioprek. Berbagai fitur yang langsung dicoba adalah: WIFI, Sound, Power management (termasuk juga berbagai shortcut untuk meredupkan layar, close lid untuk hibernate, dsb).
Hal berikutnya yang ingin saya lakukan adalah menginstall Coreboot (dulu namany LinuxBIOS). Coreboot adalah proyek open source pengganti BIOS. Salah satu turunan proyek ini adalah Libreboot yang lebih strict dari coreboot, sama sekali tidak memakai “blob” proprietary.
Untuk menginstall coreboot pada X230 kita perlu membongkar dulu laptopnya dan memakai SPI Flash Programmer. Beberapa jenis Thinkpad yang lebih lama tidak butuh programmer ini, tapi versi X230 dan beberapa versi yang lebih baru sudah diproteksi sedemikian rupa sehingga tidak bisa dilakukan dengan software saja. Langkah yang diperlukan adalah mengekstrak BIOSnya, mengambil beberapa komponennya, mengganti sisanya dengan coreboot dan menuliskan kembali hasilnya ke chip tersebut. Langkah ini cuma diperlukan sekali saja, karena setelah itu BIOS akan bisa diflash langsung dari OS Linux/FreeBSD.
Membaca SPI Flash biasanya saya lakukan dari Raspberry PI (seperti ketika hacking Pokemon Go), tapi tidak berhasil ketika saya coba membaca BIOS Thinkpad ini. Kemungkinan besar masalahnya adalah kabelnya terlalu panjang. Karena kabel dari klip SPI-nya memang panjang sekali, saya mencoba mencari cara lain, dan teringat bahwa saya pernah membeli SPI Flasher berbasia CH341 yang belum pernah saya pakai. Ternyata dengan SPI Flasher ini BIOS-nya langsung terbaca.
Waktu membongkar laptopnya, saya lihat bahwa RAM-nya adala 1 x 4 GB DDR3, dan masih ada satu slot kosong. Saya teringat masih punya DDR3 lama dari laptop dulu, dan ternyata masih bisa dipakai. Sekarang total RAM-nya laptop ini adalah 6 GB. Ada peringatan di halaman Coreboot bahwa RAM bisa tidak terdeteksi. Tapi ternyata booting bisa berjalan dengan baik, dan bisa masuk ke FreeBSD.
Sekarang ada masalah baru: batere tidak terdeteksi oleh sistem operasi sehingga tidak diketahui kapasitasnya. Sebelum memakai coreboot, saya sudah cek bahwa baterenya masih bisa dipakai sekitar 3 jam, yang biasanya lebih dari cukup karena saya memakai laptop ini terutama ketika mengantar Jonathan Tae Kwondo, dengan waktu ganti baju dsb, akan selesai sekitar 2 jam.
Status batere adalah hal yang sangat penting untuk sebuah laptop, jadi saya baca-baca apa masalahnya. Ternyata ada banyak yang mengalami, dan solusinya adalah dengan compile kernel development terbaru. Setelah saya cek, ternyata patchnya sangat kecil, jadi saya patch saja kernel saat ini. Kompilasi kernel FreeBSD sangat mudah. Kompilasi pertama kali agak lama karena butuh ‘buildworld’ yang akan mengcompile semua requirement untuk kompilasi kernel dan semua tool standar sistem, setelah itu kita hanya perlu ‘make buildkernel’ dan ‘make installkernel’.
Saya mengecek di AliExpress dan Shopee Thailand, ternyata masih banyak yang menjual berbagai parts dan aksesori untuk Thinkpad. Komponen pengganti standar seperti Batere, Layar LCD, Keyboard masih banyak dijual. Bahkan karet penyangga “kaki” laptop yang sering lepas juga masih bisa dicari di AliExpress. Card tambahan untuk 3G/4G/GPS juga masih dijual, walaupun saat ini saya belum tertarik untuk memakainya.
Dari sisi software, banyak software Linux bisa berjalan di FreeBSD, bahkan Wine juga tersedia untuk menjalankan aplikasi Windows. Kebetulan saya butuh Wine karena gagal mengkompilasi ucblogo untuk FreeBSD dan butuh solusi cepat. Saya memakai ucblogo karena Jonathan selesai membaca komik Secret Coders, yang mengajarkan pemrograman dengan bahasa LOGO dan implementasi yang dipakai adalah ucblogo. Saya perlu memahami beberapa hal dasar yang tidak obvious (seperti mengedit/menyimpan file) agar Jonathan bisa membuat karya yang disimpan.
Beberapa hal yang tidak bisa dilakukan saat ini adalah: menonton Netflix karena masalah DRM (meski Chromium bisa diinstall tapi tidak bisa meload plugin Netflix). Untuk developer: Docker juga tidak ada di FreeBSD. VirtualBox seharusnya bisa berjalan, tapi saat ini hang ketika saya jalankan. Tapi berbagai kelemahan ini saat init tidak mengganggu bagi saya karena saya bisa menonton Netflix di HP atau komputer lain, dan saya tidak harus memakai docker (kalaupun sangat butuh, bisa SSH ke server lain).
Seiring bertambahnya usia, kebanyakan orang akan makin malas ngoprek hal-hal seperti ini, tapi bagi saya hal-hal seperti ini sangat menyenangkan. Saya jadi teringat dulu waktu saya ngoprek Linux di laptop di dekade lalu. Saya juga senang ternyata masih ingat dengan berbagai hal di FreeBSD walaupun jarang menyentuh OS ini. Tulisan iseng ini diketik dan diposting dari Thinkpad X230.