15 poin oleh GN⁺ 2025-09-08 | Belum ada komentar. | Bagikan ke WhatsApp
  • 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.

Belum ada komentar.