- ftapeドライバは、1990年代のバックアップテープ(QIC-80)からデータを復旧できる唯一のLinuxオープンソースカーネルドライバである
- しかしこのドライバは2000年以降保守されておらず、古いLinux環境でしか利用できなかった
- Claude Codeを活用して古いソースコードを最新のLinuxカーネルに合わせてリファクタリングし、スタンドアロンのカーネルモジュールへの変換に成功した
- その過程でClaudeは自動的に旧式の関数や構造体を最新APIへ置き換え、ユーザーは出力結果を手動で分析して一部の設定ミスを修正した
- AIコーディングエージェントの活用経験を通じて、プログラマの能力増幅や新技術・フレームワークへの迅速なオンボーディングについての洞察を得た
背景: 古いバックアップテープの復旧とftapeドライバ
- QIC-80などのテープカートリッジからデータを復旧することが著者の趣味の一つである
- これらのテープの大半では、フロッピーコントローラに接続された特殊なテープドライブが必要になる
- こうしたドライブは主に1990年代に小規模事業者や個人がバックアップ用途で使用していた
- フロッピーコントローラを使う方式は、別途SCSIアダプタなしで安価に実現できた一方、**速度制限(500Kbps)**や非標準プロトコルなど複数の欠点があった
- このテープ装置と通信するには、Linuxではftapeカーネルドライバが必須である
- 純粋な生バイナリデータを読み取れるのがftapeだけであるため、復旧には欠かせない
- しかしftapeドライバは2000年ごろ以降保守されておらず、最新のLinuxカーネルでは利用できなかった
- そのためデータを復旧するたびに、古いLinux(CentOS 3.5など)を直接起動しなければならなかった
Claude Codeでカーネルドライバのモダナイズを開始
- Claude Codeにリポジトリの説明とともに「最新カーネルでビルドできるようドライバをモダナイズしてほしい」と依頼した
- Claudeは現在のカーネルAPIと構造に合わせて、旧式の関数や構造体を見つけて置き換えた
- 複数回のフィードバックと手動補正を経て、エラーなしでコンパイルできるドライバコードが完成した
- 初期コードはカーネル全体のソースツリー内でしかビルドできなかったが、追加の依頼によりスタンドアロンの外部モジュール用ビルドシステムも自動生成した
- これにより
.koファイルとしてカーネルモジュールを個別に作成できるようになり、実機接続テストに進めた
問題解決の過程
- カーネルモジュール自体は正常にロードされたが、ドライブ認識・通信の問題が発生した
sudo権限が必要な作業のためClaudeが直接繰り返し実行することはできず、dmesgログを手動で渡しながら問題を追跡した
- Claudeはログと過去の成功事例の比較から、デフォルトI/Oポートアドレスの未設定とパラメータ初期化に関するバグを発見した
- デフォルト値が-1から0xffffへ変換されて検出に失敗していたため、正しいアドレスに再設定して解決した
- 最終的にモジュールは正常にロードされ、テスト用テープのデータダンプに成功した
AIコーディングエージェントとの協業経験が示すこと
- Claude Codeとのやり取りは、**「ジュニア開発者との協業」**のように実際のエンジニアと働いている感覚に近かった
- ユーザー自身がアーキテクチャの決定、問題発見、方向性の提示を主体的に担う必要があった
- ドメインに特化したキーワードと具体的な依頼をするほど効果的である
- AIエージェントは適した種類の作業が与えられると生産性が急激に高まるため、限界と強みを理解する感覚が必要だ
- 自分の能力をAIが何倍にも増幅してくれた。手作業なら数週間かかったはずの作業を、日常的な対話とフィードバックだけで数日で完了できた
- この過程で現代のカーネル開発プラクティス、x86アーキテクチャ、新しいコマンドラインツールなど実用的なスキルも学べた
- 新しいフレームワーク(Rust、Flutterなど)の初期オンボーディング・適応プロセスを大幅に速めてくれる点も強調している
結論: ftape、再び蘇る
- 25年ぶりにftapeが再び最新のLinuxでビルド・利用可能になった
- 著者は追加の機能改善とテストを進めており、フロッピーベースのドライブに加えてパラレルポートベースの装置も対応を確認している
- 物理デバイスは昔とほとんど変わらないが、OSはCentOS 3.5ではなくXubuntu 24.04へと変化した
参考
- ftapeプロジェクトのソースコードはGitHubで公開されている
- 著者の収集機材一覧などは個人ブログで確認できる
まだコメントはありません。