この記事の目的
2025 年 2 月に、5ch の 【無線 LAN】OpenWrt【強化ファーム】 の #25 と #26 で、公式イメージでは利用できない Flash メモリパーティションの活用方法について、有志による深掘りが行われていました。✨
非常に有効な内容だと思うのですが、このままでは web の海に埋もれてしまう ⚰️ と思うので、自分用の参照情報としてまとめていきます。
この一連の探索は、839 さんのこの ポスト から始まっています。 🙏 感謝 🙏
ディスクの設定状況・使用状況を確認するためのコマンド
# ディスクの割当や使用状況を表示
df -h
# MTD (Memory Technology Device)情報を表示
cat /proc/mtd
# パーティション情報を表示
cat /proc/partitions
# UBI (Unsorted Block Images)ファイルシステムの詳細情報を表示
ubinfo -a
対象機器
- Wi-Fi 6 (IEEE 802.11ax)
- BUFFALO WSR-3200AX4S (MT7622B)
- ELECOM WRC-X3200GST3 (MT7622B)
- Wi-Fi 5 (IEEE 802.11ac)
- BUFFALO WSR-2533DHP2 (MT7622B)
- I-O DATA WN-DX1200GR (MT7621A)
- I-O DATA WN-DX2033GR (MT7621A)
- Fortinet FortiGate 50E (Marvell Armada 385 88F6820)
⚙️ BUFFALO WSR-3200AX4S (MT7622B)
🪛 コマンドで拡張 🪛
opkg update
opkg install kmod-mtd-rw
wget -O /etc/init.d/mount_vacant_space https://pastebin.com/raw/XDja96GT
sed -i 's/\r//' /etc/init.d/mount_vacant_space
chmod 755 /etc/init.d/mount_vacant_space
/etc/init.d/mount_vacant_space enable
# この後 mount_vacant_space を有効にするために reboot が必要
補足記事
🛠️ ビルドで拡張 🛠️
おまけ:メーカー純正ファームウェアへの戻し方
⚙️ ELECOM WRC-X3200GST3 (MT7622B)
普通に OpenWrt をインストールした時のディスク領域: 約 8MB
mtd6 ~ mtd10 の領域を全て mtd6 としてまとめた場合: 約 88MB
🪛 コマンドで拡張 🪛
スクリプト作成者さんの 説明 によると、コードの実行前に
mtd10
をフォーマットする必要があるようです。🤔
I-O DATA WN-DX1200GR でのmount_vacant_space
実行前の事前準備 で、ubifs
関連のコマンドの使用例が書かれているためそちらを参考にしてください。
opkg update
opkg install kmod-mtd-rw
wget -O /etc/init.d/mount_vacant_space https://pastebin.com/raw/XDja96GT
sed -i 's/\r//' /etc/init.d/mount_vacant_space
chmod 755 /etc/init.d/mount_vacant_space
/etc/init.d/mount_vacant_space enable
# この後 mount_vacant_space を有効にするために reboot が必要
🛠️ ビルドで拡張 🛠️
⚙️ BUFFALO WSR-2533DHP2 (MT7622B)
🛠️ ビルドで拡張 🛠️
⚙️ I-O DATA WN-DX1200GR (MT7621A)
🪛 コマンドで拡張 🪛
👉 スクリプト作成者さんによる mount_vacant_space
実行前の事前準備 を参照してください。
opkg update
opkg install kmod-mtd-rw
wget -O /etc/init.d/mount_vacant_space https://pastebin.com/raw/XDja96GT
sed -i 's/\r//' /etc/init.d/mount_vacant_space
chmod 755 /etc/init.d/mount_vacant_space
/etc/init.d/mount_vacant_space enable
# この後 mount_vacant_space を有効にするために reboot が必要
⚙️ I-O DATA WN-DX2033GR (MT7621A)
🛠️ ビルドで拡張 🛠️
⚙️ Fortinet FortiGate 50E (Marvell Armada 385 88F6820)
🛠️ ビルドで拡張 🛠️
@yossh1 さんによる詳しい解説 🎉
補足情報
mount_vacant_space
作者さんによる使い方の説明
■ 導入手順
■ mount_vacant_space
使用時の注意事項
■ ubifs
関連コマンドの使用例
■ OpenWrt ファームウェア更新時の挙動説明 (文鎮化懸念に対する回答)
musashino205 氏が OpenWrt 化でパーティションの初期構成を維持しようとする理由
MTD (Memory Technology Device) の使用方法に関する詳細な解説
OpenWrt イメージのビルド手順
以下は OpenWrt 公式ページ の Instructions に記載されている手順ですが、この手順でビルドを行うのが楽だと思います。
WSL や macOS を使う場合は以下のページを参考にしてください。