概要
古い2016年製MacBook ProをFreeBSDの実験台として再利用した体験談。 Broadcom BCM4350 Wi-FiチップのFreeBSD未対応問題に直面。 AI(Claude, Pi, Codex, Gemini等)を活用したLinuxドライバのFreeBSD移植プロジェクト。 AIによる仕様書作成・検証・コーディングの工程とその課題。 最終的にAIだけでFreeBSD用ドライバを完成させた記録。
2016年製MacBook Proの再活用とFreeBSD挑戦
- 古い 2016 MacBook Pro、Flexgate問題で放置していた端末の再利用
- FreeBSD の実験台として使用、長年の夢の実現
- Broadcom BCM4350 Wi-Fiチップ 搭載、FreeBSDでは未対応
- FreeBSDフォーラムの一般的な対策: wifibox (Linux VM経由でWi-Fi利用)
- brcmfmacはLinux用の Broadcom FullMAC用ドライバ、ファームウェア依存設計
- FreeBSD用カーネルモジュールの移植を検討、理論上は単純な“管理”部分の移植で済む想定
Act 1:AIによるドライバ移植の試み
- 「既存コードをAからBに移す」= AI活用 が現代的発想
- Claude Code にbrcmfmacサブツリーをFreeBSD対応に変換させる
- FreeBSDには LinuxKPI 互換レイヤーが存在、iwlwifiドライバを参考に指示
- モジュールは ビルド成功 するが、ハードウェア未認識で動作せず
- ハードウェア認識後に カーネルパニック 発生、AIによる修正と試行錯誤
- LinuxKPIの不足機能 や複雑化するFreeBSD用ラッパー等、困難が増大
Act 2:仕様書生成とAIによる多重校正
- brcmfmacドライバは中規模で複雑、 対象範囲をBCM4350/PCI/クライアント限定 に絞る
- Piエージェント に詳細な仕様書の作成を依頼、読者はクリーンルーム実装者想定
- 11章構成の 仕様書 が完成
- Codexモデル で仕様書のコード整合性をAI校正、複数の修正点・改善案を発見
- Opusモデル 等で再校正、複数AIによるクロスチェック
- Geminiは 幻覚(誤情報) が多い印象、単純なコーディングには有効だが信頼性に課題
Act 3:仕様書から新規FreeBSDドライバ開発
- 仕様書を基に 新規プロジェクト 開始、AIに重要事項や意思決定点の質問を依頼
- プロジェクトドキュメント に意思決定履歴を記録、AGENTS.mdで明示
- 当初はLinuxKPI利用を想定するも、途中で ネイティブFreeBSD実装に方針転換
- SSH経由でAIがビルド・テスト を自動実行、進捗もAIがドキュメント化
- 問題発生時は 別セッションで調査・記録、自己学習サイクルを構築
- 最終的に Wi-Fiスキャン、2.4/5GHz接続、WPA/WPA2認証対応 のFreeBSDカーネルモジュールが完成
- ソースコードは github.com/narqo/freebsd-brcmfmac で公開、著者自身は一切コードを書かず
- 既知の問題点あり、学習用途以外での実用は非推奨
AI開発体験のまとめと今後の課題
- AIによるコード移植・仕様書生成 の可能性と限界
- 複数AIの クロスチェック体制 が品質向上に有効
- AIによる自動化開発 は「退屈なルーチン」化し得るが、意思決定や方針転換は依然人間の役割
- 今後も AIエージェント に課題解決を依頼予定
- 本プロジェクトは AI開発時代の象徴的事例 として位置付け
参考リンク: