Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
| docs:guide-user:installation:generic.backup [2019/03/09 17:20] – [Generic Backup] Improved description vgaetera | docs:guide-user:installation:generic.backup [2022/07/11 15:06] – Add instructions for how to explore MTD backups spookyuser | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Generic | + | ====== Generic |
| * This guide describes how to perform block-level backup/ | * This guide describes how to perform block-level backup/ | ||
| - | * Follow [[docs: | + | * Follow [[docs: |
| - | Please have a look at [[docs: | + | <WRAP center round important 60%> |
| + | NAND-based devices should use [[docs: | ||
| + | </ | ||
| + | |||
| + | Please have a look at [[docs: | ||
| + | The **[[docs: | ||
| If something should go wrong and the data on these partition gets unexpectedly corrupted, you will not be able to replace it via public OpenWrt sources! | If something should go wrong and the data on these partition gets unexpectedly corrupted, you will not be able to replace it via public OpenWrt sources! | ||
| Line 10: | Line 15: | ||
| Otherwise, in case you lose that data, you would have to go to the forum, ask somebody to make a backup of his and send it to you, then you would have to replace the MAC address, and then flash it via [[docs: | Otherwise, in case you lose that data, you would have to go to the forum, ask somebody to make a backup of his and send it to you, then you would have to replace the MAC address, and then flash it via [[docs: | ||
| - | ===== 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 '' | + | 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 '' | ||
| <code bash> | <code bash> | ||
| - | dd if=/dev/$(grep -i '" | + | dd if=/dev/$(sed -n -e '/:.*" |
| </ | </ | ||
| Line 27: | Line 34: | ||
| Then copy your backup-file via scp or ssh to your PC and keep them safe for the time when you may need them. | Then copy your backup-file via scp or ssh to your PC and keep them safe for the time when you may need them. | ||
| - | ===== Create | + | ===== Create |
| - | This script assumes a working | + | This script assumes a working |
| - | If you've changed your router' | + | If you've changed your router' |
| - | + | This will backup your mtd contents to a compressed tarball file '' | |
| - | 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 (./ | + | |
| - | If running on unix-like system, give this file execution privileges (chmod u+x mtdbk.sh) and then execute it (./ | + | |
| - | This will backup your mtd contents to a compressed tarball file "mtd_backup.tgz" | + | |
| - | Make sure to use bash. (Don't do sh ./mtdbk.sh) | + | |
| <code bash> | <code bash> | ||
| + | cat << " | ||
| #!/bin/bash | #!/bin/bash | ||
| Line 95: | Line 98: | ||
| echo -e "\nMTD backup complete. Extract the files using:\ntar xzf \" | echo -e "\nMTD backup complete. Extract the files using:\ntar xzf \" | ||
| + | EOF | ||
| + | chmod +x mtdbk.sh | ||
| + | ./mtdbk.sh | ||
| </ | </ | ||
| - | ===== Create | + | ===== Create |
| The method above works great, but only if you have SSH root access to you router. | The method above works great, but only if you have SSH root access to you router. | ||
| In some cases when you don't have SSH root access to router, but can connected from UART console. | In some cases when you don't have SSH root access to router, but can connected from UART console. | ||
| Line 132: | Line 138: | ||
| </ | </ | ||
| - | ===== Create | + | ===== Create |
| - | Sometimes it might be necessary to backup settings/ | + | Sometimes it might be necessary to backup settings/ |
| + | 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 144: | Line 153: | ||
| Writing dumps to tftp or nfs. | Writing dumps to tftp or nfs. | ||
| - | ===== Restore | + | ===== Restore |
| Many bootloader allow you to work with mtd partition, but beware: they do not have to be identical with the Kernel mtd partitions! | Many bootloader allow you to work with mtd partition, but beware: they do not have to be identical with the Kernel mtd partitions! | ||
| Also, with some bootloaders, | Also, with some bootloaders, | ||
| In the latter case, it is probably a good idea to write down these correct offsets when you make the backups. | In the latter case, it is probably a good idea to write down these correct offsets when you make the backups. | ||
| - | ===== Restore | + | ===== Restore |
| <code bash> | <code bash> | ||
| mtd write art.backup art | mtd write art.backup art | ||
| Line 156: | 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:// | ||
| + | |||
| + | <code bash> | ||
| + | jefferson mtd4_rootfs_data.backup -d rootfs | ||
| + | </ | ||
| + | |||
| + | Where the mtd4_rootfs_data.backup file is the mtd block you want to explore. Likely this will be > | ||