Openwrt:mtd/mtd_write書き込みファームウェア

3115 ワード

文書ディレクトリ

  • 現在のシステムパーティション情報を表示する
  • 2バックアップファームウェアfirmware
  • 3ファームウェアfirmware
  • を復元
  • 4バックアップリカバリOpenwrtルータ構成
  • 5 Openwrtルータのデフォルト設定を復元する
  • 6ルータファームウェア
  • をリフレッシュ
    比較的に簡単で、親測は有効で、途中で電気を切らないで、タイルを変えることに注意します.

    1現在のシステムパーティション情報の表示

    cat /proc/mtd:
    dev:    size   erasesize  name
    mtd0: 00050000 00010000 "u-boot"
    mtd1: 00020000 00010000 "u-boot-env"
    mtd2: 00f80000 00010000 "firmware"
    mtd3: 00107440 00010000 "kernel"
    mtd4: 00e78bc0 00010000 "rootfs"
    mtd5: 00810000 00010000 "rootfs_data"
    mtd6: 00010000 00010000 "art"
    

    ここで、mtd 2はファームウェアパーティション(firmware)である

    2バックアップファームウェアfirmware

    dd if=/dev/mtd2 of=/tmp/firmware_backup.bin
    

    winscpを使用してルータtmpディレクトリにログインし、ファームウェアファイルfirmware_backup.binをコンピュータに保存します.
    dd命令の使用は、端末にman ddを入力し、manマニュアルを表示することができ、本稿では後述しない.

    3ファームウェアfirmwareの復元


    まずwinscpでファームウェアファイルfirmware_backup.binをルータtmpディレクトリに転送し、その後:
    mtd -r write /tmp/firmware_backup.bin firmware
    

    リカバリが完了するとルータが自動的に再起動し、-rのパラメータはrebootの役割を果たします.

    4バックアップリカバリOpenwrtルータ構成


    新しいインストールソフトウェアを含むカスタムルータ情報をバックアップします.
    dd if=/dev/mtd5 of=/tmp/overlay.bin
    

    バックアップ設定を復元して再起動:まずwinscpでバックアップファイルoverlayをバックアップします.binはルータtmpディレクトリにアップロードします(一般的にシステムはreadonlyかもしれませんが、tmpはユーザーに対して読み書き権限があります).
    mtd -r write /tmp/overlay.bin rootfs_data
    

    ルータ構成のみのバックアップ:
    sysupgrade -b /tmp/back.tar.gz
    

    ルータ構成の復元:
    sysupgrade -f /tmp/back.tar.gz
    

    5 Openwrtルータのデフォルト設定を復元する


    /overlayパーティションのすべてのファイルを削除し、再起動するとデフォルト設定を復元します.
    rm -rvf /overlay/* && reboot
    

    mtdを使用して/overlayパーティション情報を消去し、再起動するとデフォルト設定に戻ります.
    mtd -r erase rootfs_data
    

    6ルータファームウェアの更新


    mtdリフレッシュの使用:まずwinscpでファームウェアファイルxxx.binをルータtmpディレクトリに転送し、その後:
    mtd -r write /tmp/xxx.bin firmware
    

    更新が完了すると、ルータは自動的に再起動されます.
    sysupgrade更新を使用して、sysupgrademtdより安全で、レンガを変える可能性は少ないことをお勧めします.まずwinscpでファームウェアファイルxxx.bintmpディレクトリに転送し、その後:
    sysupgrade /tmp/xxx.bin