みなさん、こんにちは。
先日、「Raspberry Pi 3A+にNetBSD 10.1をインストールした話」を書きました。
この中で、実は最初にトライして敗走したハードウェアがあったことに触れました。
そう、任天堂の 「Wii U」 です。
OSC福岡2025のNetBSDセッションで講師の蛯原さんが「Wii」に注目されているという話を聞き、「手元のWii U(Wiiモード)なら動くのでは?」と安易に考えた私が、実際に試みて撃沈した記録。そして、調査の過程で判明した「Wiiなら内蔵Wi-FiでNetBSDが動く(かもしれない)」というロマンあふれる手順を、ここに供養として残しておきます。
Wiiの実機をお持ちの勇者の方、ぜひ私のかわりにこの伝説を完遂させてください。
【免責事項・ご注意】
本記事は、任天堂WiiにNetBSDを導入する際の作業予定メモをブログ用に再構成したものです。以下の点にご注意いただき、内容を理解した上で読み進めてください。
- 実機未検証について
- 本記事の内容は、Wiiの実機では動作確認を行っておらず、未検証です。
- 実際の挙動は、記載されている内容と異なる可能性が非常に高いことをご了承ください。
- 改造行為のリスク
- 記載された手順は、メーカーが意図しない本体の改造行為に該当します。
- 実行した場合、Wii本体の故障もしくは重大な影響を及ぼす可能性があります。
- 自己責任の原則
- 万が一、本記事を参考に作業を行った結果、いかなる損害や問題が発生しても、当ブログおよび管理者は一切の責任を負いかねます。
- 作業は、完全に自己責任で実施してください。
上記のリスクを十分にご理解、ご納得いただける方のみ、記事をお読みいただけますようお願い申し上げます。
Wii U からの敗走 – 画面は黒く、沈黙した
事の発端は、「WiiでNetBSDが動くなら、Wii UのWii互換モードでも動くはずだ」という推測でした。
Wiiはハック可能なハードウェアとして有名で、古くからLinux(Wii-Linux)が動くことが知られています。私の手元にあるWii Uには、Wiiモードに「Homebrew Channel(自作ソフトを起動するためのチャンネル)」が導入済みでした。
「これはいける」
そう確信し、意気揚々とNetBSDのWii用イメージをSDカードに焼き、Wii Uに挿入。Homebrew ChannelからNetBSDを選択し、起動ボタンを押しました。
……。
画面は暗転。そのまま、どれだけ待ってもコンソールが表示されることはありませんでした。
調べてみると、Wii UのWiiモードは完全なハードウェアエミュレーションではなく、一部の低レベルなハードウェア制御において実機と挙動が異なる場合があるようです。残念ながら、私のWii Uでの挑戦は、この真っ暗な画面とともに終了しました。
NetBSDを動かしたいなら、やはり「本物のWii」が必要なようです。
2024年の衝撃 – NetBSD公式Wiiサポートと「内蔵Wi-Fi」
実機がないのでここで諦めてもよかったのですが、調べているうちに驚愕の事実に行き当たりました。
なんと、NetBSDがWiiを公式サポートしたのが2024年 のようなのです。 2024年ですよ? つい最近の話です。枯れた技術だと思っていたWii界隈に、NetBSDが新たな命を吹き込んでいたのです。
さらに驚くべきは 「Wi-Fi」です。かつてWiiでLinuxを動かす際、最大のネックだったのが「内蔵Wi-Fiが動かない」ことでした。しかし、NetBSDはその壁を越えようとしています。
2025年1月のメーリングリストの情報によると、カーネルを再構築し、ファームウェアを適切に配置すれば、Wiiの内蔵Wi-Fiで通信ができるとのこと。
実機がない私には試す術がありません。しかし、方法はわかりました。このままこの情報を埋もれさせるのはあまりに惜しい。そこで、未来の挑戦者のために「WiiでNetBSDを動かし、Wi-Fiを有効化するまでの全手順(理論値)」をまとめておきます。
(実機を持っている人へ贈る)WiiへのNetBSDインストール・Wi-Fi有効化手順
ここからは、実機のWiiを持っている方向けの技術メモです。
※WiiへのHomebrew Channelの導入方法は割愛します。「Wii Homebrew Channel」などで検索してください。
1. インストールイメージの準備
まずは公式サイトからWii用のイメージをダウンロードします。
ダウンロードした wii.img.gz を展開し、32GB程度のSDカードに書き込みます。
2. 起動と有線LAN接続
SDカードをWiiに挿入し、Homebrew ChannelからNetBSDを起動します。 無事にブートしたら、まずはネットワークが必要です。Wi-Fiはまだ動かないので、USB接続のイーサネットアダプタを使用します。
Wii純正アダプタは入手困難ですが、「バッファロー LUA3-U2-ATX」などの互換アダプタが使えます。これを挿してネットワークに繋ぎます。
3. 環境構築(SSH接続まで)
コンソールで作業を行います。まずはキーボード設定やユーザー作成を行い、PCからSSHで作業できるようにします。
rootパスワードの設定
passwd
## 新しいパスワードを入力
キーボード設定(日本語配列へ)
vi /etc/wscons.conf
# 以下の行を追加または修正
encoding = jp
タイムゾーンの設定
mv /etc/localtime /etc/localtime.bak
ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
設定反映のため、ここで一度再起動 (reboot) することをお勧めします。
一般ユーザー(例: wii)の作成
useradd -m -s /bin/sh wii
passwd wii
## パスワードを設定
# wheelグループに追加(suできるようにするため)
usermod -G wheel wii
SSHの有効化
vi /etc/ssh/sshd_config
# 以下を確認・修正
PermitRootLogin no
PasswordAuthentication yes
SSHサービスを再起動します。
/etc/rc.d/sshd restart
これでPCから ssh wii@IPアドレス で接続できるはずです。ここからは快適なターミナル作業です。
最難関 – カーネル再構築とWi-Fiの有効化
ここからが本番です。内蔵Wi-Fiを動かすためには、デフォルトのカーネルではなく、最新のソースからカスタマイズしたカーネルをビルドする必要があります。
4. カーネルソースの取得と展開
まず su でrootになり、ソースコードを展開するディレクトリを準備します。一般ユーザー wii が書き込めるようにしておきます。
su
# mkdir /usr/src
# chown wii /usr/src
# exit
NetBSDのFTPサーバからソースコード(current)を取得します。
ftp -i ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-current/tar_files/src/
# ログイン不要でゲストログインされます
ftp> mget *.tar.gz
# 大量にダウンロードされるので待ちます...
ftp> quit
ダウンロードしたソースを展開します。
for file in *.tar.gz
do
tar -xzf $file -C /usr
done
5. カーネルのビルド
Wi-Fi対応を含む最新カーネルを作成します。
# ディレクトリ移動
cd /usr/src/sys/arch/powerpc/conf/
# GENERIC設定をコピーして新しい設定ファイルを作成
cp GENERIC CURRENT-KERNEL
ビルドを実行します。Wiiのスペックだと相当時間がかかると思われます。気長に待ちましょう。
cd /usr/src
./build.sh -u kernel=CURRENT-KERNEL
6. 新カーネルのインストール
ビルドが完了したら、新しいカーネルを配置します。
su
# 念のため既存のカーネルをバックアップ
mv /boot/apps/netbsd/boot.elf /boot/apps/netbsd/boot.elf.old
# 新しいカーネルを配置(ビルドされたパスはログを確認してください。通常は以下のような場所です)
mv sys/arch/evbppc/compile/CURRENT-KERNEL/netbsd /boot/apps/netbsd/boot.elf
# 再起動
shutdown -r now
7. Wi-Fiファームウェアの導入
再起動後、まだ終わりではありません。Wi-Fiチップ(Broadcom製)を動かすためのファームウェアが必要です。ライセンスの関係か、DragonFly BSDのサイトから取得する方法がNetBSDのメーリングリストに載っていました。
su
# ファームウェアのダウンロード
ftp http://leaf.dragonflybsd.org/~sephe/bwi/v3.tbz
# ディレクトリ作成と展開
mkdir -p /libdata/firmware/bwi
tar -C /libdata/firmware/bwi -jxvf v3.tbz
8. ついにWi-Fi接続へ
これで準備は整いました。wpa_supplicant を設定して接続を試みます。
# 設定ファイルの作成
wpa_passphrase myssid mypassword >> /etc/wpa_supplicant.conf
# 起動時に有効化
echo 'wpa_supplicant=YES' >> /etc/rc.conf
# サービスの開始
service wpa_supplicant start
もし、これで ifconfig を叩き、Wi-FiインターフェースにIPアドレスが割り当てられていれば……成功です!
おめでとうございます! USBイーサネットアダプタを外し、真のワイヤレスWii NetBSDライフを楽しんでください。
まとめ – 誰か、このロマンを完成させて
Wiiという2006年のハードウェアで、最新のNetBSD 10系が動き、あまつさえWi-Fiまで繋がる。これは単なるOSのインストールではなく、ハードウェアとソフトウェアの対話であり、技術者たちの執念の結晶です。
私の手元には実機がなく、Wii Uという壁に阻まれましたが、もし家の押入れに白いWiiが眠っている方がいたら、ぜひ挑戦してみてください。そして、「動いたよ!」という報告をいただければ、私の失敗の供養にもなります。
「Of course it runs NetBSD.(もちろん動くよ、NetBSDならね。)」
その言葉を信じて。
本日も最後までお読みいただきありがとうございました。
それでは、よいNetBSDライフを!
参考情報:



