「オリジナルfirmwareへの復旧方法/TFTP転送/(2)バックアップ済firmwareを加工してTFTP転送(Buffalo)」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
Buffaloの一部の機種はバックアップ済みのfirmwareを加工することで起動時にTFTPにてインストール可能です
[[TFTPでのインストール方法(3)OpenWRT-BHR-4GRV編]] 等で&bold(){インストール前に自前に取得しておいた}flashメモリのバックアップデータからリストア出来ます。
そのままの戻しはできず、少々の加工が必要です。加工方法は機種によって若干の違いがあります。
※加工方法はOpenWrt-ImageBuilderに含まれるmakeファイルを参考にしています。
*WZR-HP-G300NH/WZR-HP-G450H/BHR-4GRVの場合
**必要なもの
-/dev/mtdblock/6 のバックアップデータ
linux kernel と rootfs が連結されたデータが必要です。
事前のcat /proc/mtd で"firmware"となっている領域部分です。
mtd3 "linux" と mtd4 "rootfs" をcatで結合したデータでもOKです。
-Linux/UNIX環境で作業する場合
ddコマンドが使用できればOKです。(CentOS6.4 x86_64版で実績あります)
-Windows上だけで作業する場合
上記ヘッダ部分のバイナリデータ &ref(WZR_TFTP_headder.bin)
**加工方法
-Linux/UNIX環境で作業する場合
mtd6.dd のデータを送り、shell consoleから以下のコマンドを実行し、ヘッダを付加します。
[bash ~]$ ( echo -n -e "# Airstation Public Fmt1\x00\x00\x00\x00\x00\x00\x00\x00"; dd if=mtd6.dd ) > stockfw-tftp.bin
-Windows上で作業する場合
copy コマンドでヘッダとmtd6.dd を結合します。(バイナリデータを扱う &bold(){/B} がポイント)
C:\copy /B WZR_TFTP_headder.bin+mtd6.dd stockfw-tftp.bin
**インストール方法
生成されたstockfw-tftp.binをOpenWrtのTFTPインストール方法と同様の方法でインストールします。
OpenWrt本体のものと比較するとファイルサイズが大きいので完了まで5分程度はかかります。
なお、事前にuboot変数 accept_open_rt_fmt に 1 が設定されている必要があります。
*WHR-G300Nの場合
**必要なもの
-OpenWrt ImageBuilder に含まれる buffalo-tftp
[[OpenWrt-ImageBuilder-ramips_rt305x-for-linux-x86_64.tar.bz2>https://downloads.openwrt.org/barrier_breaker/14.07/ramips/rt305x/]]
-64bit Linux環境(x86_64版)
ImageBuilder がx86_64版のため。SDKからbuildする場合にはこの限りではありません
-/dev/mtdblock/3 と/dev/mtdblock/4 のバックアップデータ
linux kernel と rootfs のデータが必要です。
事前のcat /proc/mtd で "linux" "rootfs" と表示されている領域部分です。
**準備
linux 環境に mtd3.dd , mtd4.dd のデータを送り、shell consoleから以下のコマンドで結合データを作ります。
[bash ~]$ cat mtd3.dd mtd4.dd > mtd3_4.tmp
OpenWrt ImageBuilderをダウンロードし、展開します。
[bash ~]$ wget https://downloads.openwrt.org/barrier_breaker/14.07/ramips/rt305x/OpenWrt-ImageBuilder-ramips_rt305x-for-linux-x86_64.tar.bz2
[bash ~]$ tar jxf OpenWrt-ImageBuilder-ramips_rt305x-for-linux-x86_64.tar.bz2
**加工方法
shell consoleから以下のコマンドを実行してデータにヘッダを付加します。
[bash ~]$ ( echo -n -e "# Airstation FirmWare\nrun u_fw\nreset\n\n" | dd bs=512 count=1 conv=sync; dd if=mtd3_4.tmp; ) > stockfw-tftp.tmp
buffalo-tftp コマンドでデータをTFTP用に変換します。
[bash ~]$ ~/OpenWrt-ImageBuilder-ramips_rt305x-for-linux-x86_64/staging_dir/host/bin/bundled/buffalo-tftp -i stockfw-tftp.tmp -o stockfw-tftp.bin
**インストール方法
生成されたstockfw-tftp.binをOpenWrtのTFTPインストール方法と同様の方法でインストールします。
WHR-G300N の場合には PC側を事前に192.168.11.2 にしておけば
MACアドレスをスタティック登録する必要はありません。
*事前バックアップを取っていなかった場合
Buffaloからダウンロードできるアップデート用ファームウェアから必要データを抽出する方法があるようです。
ただし、該当ファームウェアの事前のmtd領域のデータサイズ情報(cat /proc/mtd の情報)が必要ですので、それすらない場合には困難を極めるでしょう。
2ch DD-WRTスレ10 183さんの[[こちらの blog>http://www.drvlabo.jp/wp/openwrt-buffalo-wzr-agl300nh_abst/openwrt-buffalo_convert_update2rom]] を参考にしてみてください。
なお、blog中で使用されている buffalo-enc はSDK以外にもImageBuilderにも含まれています。
得られた stock_fw.bin にはヘッダ情報が含まれていないので、WZR-HP-G300NH/WZR-HP-G450Hの場合にはヘッダ追加が必要です。
Buffaloの一部の機種はバックアップ済みのfirmwareを加工することで起動時にTFTPにてインストール可能です
[[TFTPでのインストール方法(3)OpenWRT-BHR-4GRV編]] 等で&bold(){インストール前に自前に取得しておいた}flashメモリのバックアップデータからリストア出来ます。
そのままの戻しはできず、少々の加工が必要です。加工方法は機種によって若干の違いがあります。
※加工方法はOpenWrt-ImageBuilderに含まれるmakeファイルを参考にしています。
*WZR-HP-G300NH/WZR-HP-G302H(RevA2A0)/WZR-HP-G450H/BHR-4GRVの場合
**必要なもの
-/dev/mtdblock/6 のバックアップデータ
linux kernel と rootfs が連結されたデータが必要です。
事前のcat /proc/mtd で"firmware"となっている領域部分です。
mtd3 "linux" と mtd4 "rootfs" をcatで結合したデータでもOKです。
-Linux/UNIX環境で作業する場合
ddコマンドが使用できればOKです。(CentOS6.4 x86_64版で実績あります)
-Windows上だけで作業する場合
上記ヘッダ部分のバイナリデータ &ref(WZR_TFTP_headder.bin)
**加工方法
-Linux/UNIX環境で作業する場合
mtd6.dd のデータを送り、shell consoleから以下のコマンドを実行し、ヘッダを付加します。
[bash ~]$ ( echo -n -e "# Airstation Public Fmt1\x00\x00\x00\x00\x00\x00\x00\x00"; dd if=mtd6.dd ) > stockfw-tftp.bin
-Windows上で作業する場合
copy コマンドでヘッダとmtd6.dd を結合します。(バイナリデータを扱う &bold(){/B} がポイント)
C:\copy /B WZR_TFTP_headder.bin+mtd6.dd stockfw-tftp.bin
**インストール方法
生成されたstockfw-tftp.binをOpenWrtのTFTPインストール方法と同様の方法でインストールします。
OpenWrt本体のものと比較するとファイルサイズが大きいので完了まで5分程度はかかります。
なお、事前にuboot変数 accept_open_rt_fmt に 1 が設定されている必要があります。
*WHR-G300Nの場合
**必要なもの
-OpenWrt ImageBuilder に含まれる buffalo-tftp
[[OpenWrt-ImageBuilder-ramips_rt305x-for-linux-x86_64.tar.bz2>https://downloads.openwrt.org/barrier_breaker/14.07/ramips/rt305x/]]
-64bit Linux環境(x86_64版)
ImageBuilder がx86_64版のため。SDKからbuildする場合にはこの限りではありません
-/dev/mtdblock/3 と/dev/mtdblock/4 のバックアップデータ
linux kernel と rootfs のデータが必要です。
事前のcat /proc/mtd で "linux" "rootfs" と表示されている領域部分です。
**準備
linux 環境に mtd3.dd , mtd4.dd のデータを送り、shell consoleから以下のコマンドで結合データを作ります。
[bash ~]$ cat mtd3.dd mtd4.dd > mtd3_4.tmp
OpenWrt ImageBuilderをダウンロードし、展開します。
[bash ~]$ wget https://downloads.openwrt.org/barrier_breaker/14.07/ramips/rt305x/OpenWrt-ImageBuilder-ramips_rt305x-for-linux-x86_64.tar.bz2
[bash ~]$ tar jxf OpenWrt-ImageBuilder-ramips_rt305x-for-linux-x86_64.tar.bz2
**加工方法
shell consoleから以下のコマンドを実行してデータにヘッダを付加します。
[bash ~]$ ( echo -n -e "# Airstation FirmWare\nrun u_fw\nreset\n\n" | dd bs=512 count=1 conv=sync; dd if=mtd3_4.tmp; ) > stockfw-tftp.tmp
buffalo-tftp コマンドでデータをTFTP用に変換します。
[bash ~]$ ~/OpenWrt-ImageBuilder-ramips_rt305x-for-linux-x86_64/staging_dir/host/bin/bundled/buffalo-tftp -i stockfw-tftp.tmp -o stockfw-tftp.bin
**インストール方法
生成されたstockfw-tftp.binをOpenWrtのTFTPインストール方法と同様の方法でインストールします。
WHR-G300N の場合には PC側を事前に192.168.11.2 にしておけば
MACアドレスをスタティック登録する必要はありません。
*事前バックアップを取っていなかった場合
Buffaloからダウンロードできるアップデート用ファームウェアから必要データを抽出する方法があるようです。
ただし、該当ファームウェアの事前のmtd領域のデータサイズ情報(cat /proc/mtd の情報)が必要ですので、それすらない場合には困難を極めるでしょう。
2ch DD-WRTスレ10 183さんの[[こちらの blog>http://www.drvlabo.jp/wp/openwrt-buffalo-wzr-agl300nh_abst/openwrt-buffalo_convert_update2rom]] を参考にしてみてください。
なお、blog中で使用されている buffalo-enc はSDK以外にもImageBuilderにも含まれています。
得られた stock_fw.bin にはヘッダ情報が含まれていないので、WZR-HP-G300NH/WZR-HP-G450Hの場合にはヘッダ追加が必要です。