Saat ini saya memakai 3 komputer sekaligus: PC Windows di samping meja, Mac Mini M1, dan Rock 5B (saya bahas di posting blog ini). Saya memakai monitor Philips 278E 4K, yang memiliki 3 input: DisplayPort (DP), HDMI 1 dan HDMI2. Saya sering kesal: tidak mudah pindah input monitor .
CloneZilla merupakan program cloning disk berbasis Linux yang memiliki banyak sekali fitur. Clone Zilla dapat digunakan untuk clone via USB disk maupun network, mendukung kompresi dan juga enkripsi. Saya tuliskan pengalaman saya memakai program ini cloning laptop di IOI 2022.
IOI 2022 diselenggarakan di sebuah hotel, dan ketika diminta mempersiapkan laptop, belum ada kepastian tentang detail teknis ruangan dan juga networkingnya. Laptop disimpan di salah satu kamar (tidur) hotel, bukan di ruangan khusus. Saya mempersiapkan dua kemungkinan: melakukan cloning via USB atau cloning via network. Sebenarnya clone via network lebih cepat, tapi ternyata jaringan baru bisa disetup mepet sekali ke waktu perlombaan, jadi akhirnya cloning via USB yang dilakukan.
Mensetup Windows secara manual, menginstall satu persatu software yang kita butuhkan, dan mengubah setting setiap software butuh waktu cukup lama. Jika kita perlu melakukan ini pada banyak komputer, maka kita bisa melakukan cloning. Contoh perlunya memakai cloning ini misalnya untuk sebuah kompetisi, untuk dipakai di sekolah, untuk didistribusikan ke karyawan.
Tulisan ini adalah pengalaman cloning laptop di IOI 2022. Baca juga tulisan saya sebelumnya mengenai penggunaan Rasbperry Pi Pico untuk setup UEFI dan IP address. IOI 2022 merupakan lomba yang sifatnya Hybrid: online dan offline di Yogyakarta. Untuk menyamakan environment, semua peserta bekerja di dalam virtual machine Linux. Jadi laptop Windows di sini tujuannya untuk menjalankan VMware yang akan menjalankan Linux.
Radxa Rock 5 Model B (ROCK5B) adalah Single Board Computer dengan SOC (System on a Chip) Rockchip RK3588 dengan pilihan RAM sampai dengan 16 GB. Saya punya terlalu banyak SBC yang tidak saya review karena semuanya mirip, tapi ROCK5B ini menurut saya levelnya sudah mendekati level desktop, jadi layak dibahas.
Radxa Rock 5B
RAM maksimum SBC ini tergolong besar, sampai 16GB (untuk ukuran tahun 2022). RAM Raspberry Pi 4B terbesar saat ini adalah 8GB. CPU ROCK5B ini juga sangat cepat, bisa dicek cek benchmark di sini, atau lihat ringkasannya di tabel di bawah ini.
Benchmark dari sini, saya hanya membandingkan SBC yang saya punya
Kecepatan benda ini sekitar 2-4 kali lebih lambat dari Apple M1 Pro, tapi harganya juga jauh lebih murah (Mac Book M1 Pro, 16 GB minimal sekitar 1200 USD). Dibandingkan Raspberry Pi 4B, ROCK5B ini beberapa kali lebih cepat (dalam kasus tertentu puluhan kali lebih cepat).
USB Rubber Ducky adalah nama produk dari Hack5, bentuknya seperti USB biasa, tapi sebenarnya mengemulasikan keyboard. Ketika dicolok ke USB, benda ini akan bisa mengetikkan berbagai perintah dan menekan shortcut secara otomatis. Benda ini sudah dijual sejak belasan tahun yang lalu, di kalangan security sudah sangat dikenal, dan bisa dipakai untuk bagian dari pentesting ataupun red teaming.
Saya baru menyadari bahwa banyak orang di luar security yang belum kenal benda ini, padahal USB Rubber Ducky ini bisa berguna sekali untuk otomasi setup komputer. Di posting ini saya akan bercerita tentang otomasi yang belum lama saya lakukan di IOI 2022 untuk mensetup laptop untuk perlombaan.
Dalam tulisan ini saya akan membahas UEFI (Unified Extensible Firmware Interface) dari mulai dasarnya, securitynya, dan sekilas cara reverse engineeringnya, dan hal-hal apa yang perlu diperhatikan ketika berurusan dengan UEFI (misalnya ketika melakuan cloning komputer).
Meskipun tulisan ini cukup panjang, tapi ini hanya perkenalan saja. Ada banyak topik yang tidak saya bahas. Ada beberapa topik yang penjelasannya saya sederhanakan sehingga mungkin kurang akurat. Silakan baca berbagai website yang saya link dari artikel ini jika ingin mendapatkan penjelasan lebih dalam. Jika ingin belajar langsung dari sumbernya, spesifikasi UEFI dan source code dari Intel bisa dibaca.
Setting UEFI
Secara awam UEFI adalah pengganti BIOS (Basic Input Output System). BIOS sendiri adalah software yang sudah tertanam di komputer yang menyediakan akses dasar ke hardware. Sebagai informasi: BIOS hanya ada di arsitektur x86, sedangkan di arsitektur lain, fungsi BIOS ini digantikan oleh software lain. Software low level yang menempel ke hardware ini disebut juga sebagai firmware.
Ketika sebuah komputer dinyalakan, perlu ada firmware yang bisa meload sistem operasi dari suatu media, entah itu dari disk (macam-macam, bisa flash disk, micro sd, harddisk, SSD, NVME, dsb) dari network, atau mungkin dari sumber lain. Di dunia PC, firmware ini dulunya adalah BIOS, tapi sudah belasan tahun ini digantikan oleh UEFI.
Sedikit Sejarah
BIOS untuk x86 usianya sudah sangat tua (dari jaman PC XT), dan memiliki banyak keterbatasan (misalnya hanya bisa berjalan di mode 16 bit). Jadi untuk sistem operasi 32 atau 64 bit, boot loader atau sistem operasi perlu beralih mode dari 16 ke 32/64 bit setelah diload oleh BIOS.
Saya dulu pernah membuat sendiri OS sederhana dari nol, dan proses bootnya cukup panjang: mengimplementasikan kode MBR (yang otomatis diload oleh BIOS, ukurannya maksimal 512 byte), yang akan meload boot loader (memanggil fungsi/interrupt BIOS untuk mengakses disk), lalu boot loadernya meload kernel, switch ke mode 32 bit, lalu baru melakukan jump ke mode 32 bit. Detail proses booting klasik bisa dibaca di sini.
Saat ini kebanyakan gadget elektronik bisa memiliki umur yang panjang, dan biasanya masalah utamanya adalah batere. Kadang batere menjadi menggelembung, atau kadang baterenya tiba-tiba mati. Saat ini sebagian batere bisa mudah dicari gantinya, dan proses penggantiannya juga kadang tidak sulit.
Sudah beberapa kali saya mengalami masalah pada batere, baik itu di ponsel atau di gadget yang lain. Batere Lithium ini memang rawan bisa tiba-tiba mati, atau menggelembung. Jika mengalami masalah seperti ini sebaiknya jangan gunakan devicenya, terutama jika menggelembung karena ada kemungkinan bisa meledak.