オリジナルfirmwareへの復旧方法 > TFTP転送 > (2)バックアップ済firmwareを加工してTFTP転送(Buffalo)

「オリジナルfirmwareへの復旧方法/TFTP転送/(2)バックアップ済firmwareを加工してTFTP転送(Buffalo)」の編集履歴(バックアップ)一覧はこちら

オリジナルfirmwareへの復旧方法/TFTP転送/(2)バックアップ済firmwareを加工してTFTP転送(Buffalo)」(2017/08/22 (火) 01:32:02) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

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の場合にはヘッダ追加が必要です。

表示オプション

横に並べて表示:
変化行の前後のみ表示: