- Driver ftape adalah satu-satunya driver kernel open source Linux yang dapat memulihkan data dari pita cadangan (QIC-80) era 1990-an
- Namun, driver tersebut tidak lagi dipelihara sejak setelah tahun 2000, sehingga hanya bisa digunakan di lingkungan Linux lama
- Dengan memanfaatkan Claude Code, kode sumber lama direfaktor agar sesuai dengan kernel Linux modern, lalu berhasil diubah menjadi modul kernel mandiri
- Dalam prosesnya, Claude secara otomatis mengonversi fungsi dan struct lawas ke API modern, sementara pengguna menganalisis hasil output secara manual untuk memperbaiki beberapa kesalahan konfigurasi
- Melalui pengalaman menggunakan agen coding AI, penulis memperoleh wawasan tentang penguatan kemampuan programmer dan cara onboarding cepat ke teknologi serta framework baru
Latar belakang: pemulihan pita cadangan lama dan driver ftape
- Memulihkan data dari kartrid pita seperti QIC-80 adalah salah satu hobi penulis
- Pita semacam ini umumnya memerlukan drive pita khusus yang terhubung ke floppy controller
- Drive tersebut terutama digunakan oleh usaha kecil atau pengguna perorangan pada 1990-an untuk keperluan backup
- Pendekatan memakai floppy controller bisa diimplementasikan dengan murah tanpa adaptor SCSI terpisah, tetapi memiliki berbagai kelemahan seperti batas kecepatan (500Kbps) dan protokol nonstandar
- Untuk berkomunikasi dengan perangkat pita ini, di Linux driver kernel ftape wajib digunakan
- Hanya ftape yang bisa membaca data biner mentah murni, sehingga mutlak diperlukan untuk pemulihan
- Namun, driver ftape tidak dipelihara lagi sejak sekitar tahun 2000, sehingga tidak bisa dipakai di kernel Linux modern
- Akibatnya, setiap kali ingin memulihkan data, penulis harus mem-boot Linux lawas (seperti CentOS 3.5) secara langsung
Mulai memodernisasi driver kernel dengan Claude Code
- Penulis meminta Claude Code, bersama penjelasan repositori, untuk "memodernisasi driver agar bisa dibangun di kernel terbaru"
- Claude menemukan lalu mengganti fungsi dan struct lawas agar sesuai dengan API dan struktur kernel saat ini
- Setelah beberapa kali umpan balik dan koreksi manual, akhirnya dihasilkan kode driver yang bisa dikompilasi tanpa error
- Kode awalnya hanya bisa dibangun di dalam keseluruhan source tree kernel, tetapi lewat permintaan tambahan Claude juga otomatis membuat sistem build modul eksternal mandiri
- Dengan ini, modul kernel dapat dibuat terpisah sebagai file .ko dan pengujian koneksi ke perangkat keras nyata pun dimulai
Proses pemecahan masalah
- Modul kernel berhasil dimuat, tetapi muncul masalah deteksi drive dan komunikasi
- Karena pekerjaan ini memerlukan hak akses sudo, Claude tidak bisa langsung menjalankan iterasi berulang, sehingga penulis secara manual mengirimkan log dmesg untuk melacak masalah
- Dengan membandingkan log dan contoh keberhasilan sebelumnya, Claude menemukan bug terkait alamat port I/O default yang tidak disetel serta inisialisasi parameter
- Nilai default berubah dari -1 menjadi 0xffff sehingga deteksi gagal; masalah teratasi setelah diatur ulang ke alamat yang benar
- Pada akhirnya, modul termuat dengan normal dan berhasil melakukan dump data dari pita uji
Implikasi dari pengalaman berkolaborasi dengan agen coding AI
- Interaksi dengan Claude Code terasa seperti "berkolaborasi dengan developer junior" dan bekerja dengan engineer sungguhan
- Pengguna tetap harus memimpin keputusan arsitektur, menemukan masalah, dan menentukan arah pengerjaan
- Semakin spesifik kata kunci yang berfokus pada domain dan permintaan yang diberikan, semakin efektif hasilnya
- Produktivitas agen AI meningkat tajam bila diberi jenis tugas yang tepat, sehingga perlu kepekaan untuk memahami batasan dan kekuatannya
- AI menggandakan kemampuan penulis. Pekerjaan yang secara manual akan memakan waktu berminggu-minggu dapat diselesaikan hanya dalam beberapa hari lewat percakapan dan umpan balik sehari-hari
- Dalam proses ini, penulis juga mempelajari keterampilan yang benar-benar berguna seperti praktik pengembangan kernel modern, arsitektur x86, dan tool baris perintah baru
- Ditekankan pula bahwa AI sangat mempercepat onboarding dan proses adaptasi awal terhadap framework baru (Rust, Flutter, dan lain-lain)
Kesimpulan: ftape hidup kembali
- Setelah 25 tahun, ftape kembali bisa dibangun dan digunakan di Linux modern
- Penulis sedang melanjutkan peningkatan fitur dan pengujian tambahan, serta telah memastikan dukungan tidak hanya untuk drive berbasis floppy tetapi juga perangkat berbasis port paralel
- Perangkat fisiknya hampir sama seperti dulu, tetapi sistem operasinya kini berubah dari CentOS 3.5 menjadi Xubuntu 24.04
Referensi
- Kode sumber proyek ftape tersedia di GitHub
- Daftar perangkat koleksi penulis dan lainnya dapat dilihat di blog pribadinya
Belum ada komentar.