Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
docs:guide-user:installation:generic.backup [2019/04/06 03:35] – links updated vgaeteradocs:guide-user:installation:generic.backup [2022/07/11 15:06] – Add instructions for how to explore MTD backups spookyuser
Line 1: Line 1:
-====== Generic backup ======+====== Generic NOR backup ======
   * This guide describes how to perform block-level backup/restore via [[docs:guide-quick-start:sshadministration|CLI]].   * This guide describes how to perform block-level backup/restore via [[docs:guide-quick-start:sshadministration|CLI]].
-  * Follow [[docs:guide-user:troubleshooting:backup_restore|Back up and restore]] for file-level backup/restore.+  * Follow [[docs:guide-user:troubleshooting:backup_restore|Backup and restore]] for file-level backup/restore. 
 + 
 +<WRAP center round important 60%> 
 +NAND-based devices should use [[docs:techref:flash#nand-specific_tools_for_reading_and_writing_to_raw_nand|NAND-aware utilities]], as ''dd'' does not properly handle the error correction or bad-block marking of NAND flash. 
 +</WRAP>
  
 Please have a look at [[docs:techref:file_system]] and the [[docs:techref:flash.layout#Details|flash layout details]] and take notice, that OpenWrt covers only the ''firmware'' part. Please have a look at [[docs:techref:file_system]] and the [[docs:techref:flash.layout#Details|flash layout details]] and take notice, that OpenWrt covers only the ''firmware'' part.
Line 12: Line 16:
  
 ===== Create ART backup ===== ===== Create ART backup =====
-If your ART-partition got corrupted, you would still be able to boot OpenWrt and only your wireless would not function correctly any longer. Easy fix with ''[[docs:techref:mtd]]''.+If your ART-partition got corrupted, you would still be able to boot OpenWrt and only your wireless would not function correctly any longer. 
 +Easy fix with ''[[docs:techref:mtd]]''. 
 <code bash> <code bash>
-dd if=/dev/$(grep -'"art"' /proc/mtd | cut -c 1-4) of=/tmp/art.backup+dd if=/dev/$(sed -n -e '/:.*"art"/s///p' /proc/mtd) of=/tmp/art.backup
 </code> </code>
  
Line 29: Line 35:
  
 ===== Create full MTD backup ===== ===== Create full MTD backup =====
-This script assumes a working bash and SSH on the host (4.0 or newer for ControlMaster support)+This script assumes a working Bash and SSH in native Unix-like or WSL environment
-If you've changed your router's IP address, change the "OPENWRT variable value to the hostname/IP of your OpenWRT router+If you've changed your router's IP address, change the OPENWRT variable value to the hostname/IP of your OpenWrt router. 
- +This will backup your mtd contents to a compressed tarball file ''mtd_backup.tgz'' in the same folder as the script.
-On your local PC (not on the router), using a bash terminal (not Windows Command Prompt, Windows 10 Linux subsystem bash terminal is fine) create a new file (eg. ~/mtdbk.sh) containing the below script. +
-If running on windows, make sure to save the text file as UNIX (LF) encoded, otherwise you'll get syntax errors, and then execute it (./mtdbk.sh). +
-If running on unix-like system, give this file execution privileges (chmod u+x mtdbk.sh) and then execute it (./mtdbk.sh)+
-This will backup your mtd contents to a compressed tarball file "mtd_backup.tgzin the same folder as the script. +
-Make sure to use bash. (Don't do sh ./mtdbk.sh)+
  
 <code bash> <code bash>
 +cat << "EOF" > mtdbk.sh
 #!/bin/bash #!/bin/bash
  
Line 96: Line 98:
  
 echo -e "\nMTD backup complete. Extract the files using:\ntar xzf \"${OUTPUT_FILE}\"" echo -e "\nMTD backup complete. Extract the files using:\ntar xzf \"${OUTPUT_FILE}\""
 +EOF
 +chmod +x mtdbk.sh
 +./mtdbk.sh
 </code> </code>
  
Line 134: Line 139:
  
 ===== Create backup from bootloader ===== ===== Create backup from bootloader =====
-Sometimes it might be necessary to backup settings/partitions from original firmware. Depending on the bootloader, different strategies might be possible.+Sometimes it might be necessary to backup settings/partitions from original firmware. 
 +Depending on the bootloader, different strategies might be possible. 
 + 
 +The flash-chip is mapped to a start address. 
 +With uboot it should be in the following settings:
  
-The flash-chip is mapped to a start address. With uboot it should be in the following settings: 
 <code bash> <code bash>
 printenv printenv
Line 157: Line 165:
 Then you must flash this to you device, boot it, and now the partition should be writable. Then you must flash this to you device, boot it, and now the partition should be writable.
  
 +===== Exploring MTD Backups =====
 +If you want to explore the contents of an MTD backup on your computer, without restoring it to openwrt, you can use [[https://github.com/sviehb/jefferson|jefferson]] with the command
 +
 +<code bash>
 +jefferson mtd4_rootfs_data.backup -d rootfs
 +</code>
 +
 +Where the mtd4_rootfs_data.backup file is the mtd block you want to explore. Likely this will be >rootfs_data as it contains most of the customizations you will have made to openwrt.
  • Last modified: 2023/03/19 10:23
  • by ryanc