|
使用openwrt.cn以來,對我這種喜歡折騰的人來說,一般都安裝了很多的IPK,一直不停的升級、安裝、調試,確實是個很頭痛和很費時間的問題!!
openwrt的系統備份只能備份有關配置文件,其他驅動、軟件還得去重新安裝;尤其是openwrt中文版的內核跟官網的kmod還存一定的兼容問題,有時不得不停的找不同的kmod源,確實很麻煩!
所以一直想找一種比較完整的備份方法,要求就是能將原來系統所安裝的所有驅動、軟件、配置都備份下來,系統升級后,直接恢復就行了!!經過摸索,現在基本找到了實現了完整備份/還原的方法,在此感謝國外網友的指點!!
openwrt backfire 10.03 完整備份的方法:
1、修改系統備份的一鍵備份/恢復方法(安全、推薦!)
進入web圖形界面菜單: 概要--->用戶管理界面--->更新固件時保存下列文件,將默認的保存項目全部刪除,增加一個保存項目:/overlay
如下圖:
也可以直接修改/etc/config/luci 文件中的部分內容如下:效果是一樣的!- config 'extern' 'flash_keep'
- option 'overlay' '/overlay'
-
復制代碼 保存&應用后,你就可以使用“系統”---“ 備份/恢復”菜單進行完整備份和恢復了(包括你在刷固件后你所做的所有安裝改動,如安裝的所有驅動、軟件、配置等)
備份的文件會自動存放在PC上,你可以試試重新刷固件后, 使用“系統---恢復”來將系統進行完全恢復了,還可以在有多臺設備需要同樣安裝設置時進行快速設置了!!
你也可以修改這個文件名并上傳替換為出廠默認備份文件(/etc/backup-.cn.tar.gz ),在系統發生嚴重問題時,利用reset鍵或恢復出廠設置,就可以隨時進行恢復到備份前的正常狀態。
注意:此備份/恢復方法,適用于系統內核不變、刷新固件系統升級的備份/恢復,可以解決刷新固件后免除重新安裝驅動、軟件和調試,還可以方便的在多臺機器上進行快速設置。
如果是備份后進行了安裝驅動和軟件,但沒有重新刷機,那么備份/恢復后,增加部分還是繼續保留在系統中,但有可能引起系統IPK軟件包信息不正確,無法正常調用和卸載!!!
2、Ghost方法 (此方法有變磚風險,未經測試, 新手慎測試)
一直想找出一種像Ghost樣的wholeflash備份方法,但只知道能在JTAG下進行wholeflash備份,TTL下沒找到!!
以下方法來源于openwrt官網,但只是針對WhiteRussian , backfire 10.03下能否有用,還未經測試!估計可能還需要做一些修改才行,所以只是提出來供大家交流,討論!!
原貼:https://forum./viewtopic.php?id=9122
1、WhiteRussian下分區備份和恢復:
----------------------------------
BACKUP
mount -o remount,ro /dev/mtdblock/4 /
dd if=/dev/mtdblock/1 > /tmp/wrt-linux.trx
mount -o remount,rw /dev/mtdblock/4 /
dd if=/dev/mtdblock/3 > /tmp/wrt-nvram.bin
----------------------------------
RESTORE
dd if=/tmp/wrt-nvram.bin of=/dev/mtdblock/3
mount -o remount,ro /dev/mtdblock/4 /
mtd -r write /tmp/wrt-linux.trx linux
----------------------------------
your image will be in /tmp you can saveit to your PC using WinSCP or similar software
!
2、以下為backfire 10.03下的情況:
a、查看Flash里面的MTD 分區情況:- /usr/bin$ cat /proc/mtd
- dev: size erasesize name
- mtd0: 00020000 00020000 "CFE"
- mtd1: 000dff00 00020000 "kernel"
- mtd2: 00ee0000 00020000 "rootfs"
- mtd3: 00a20000 00020000 "rootfs_data"
- mtd4: 00020000 00020000 "nvram"
- mtd5: 00fc0000 00020000 "linux"
復制代碼 b、備份
dd if=/dev/mtd0 of=/tmp/cfe.bin
dd if=/dev/mtd1 of=/tmp/kernel.bin
dd if=/dev/mtd2 of=/tmp/rootfs.bin
dd if=/dev/mtd3 of=/tmp/rootfs_data.bin
dd if=/dev/mtd4 of=/tmp/nvram.bin
dd if=/dev/mtd5 of=/tmp/linux.bin
c、恢復:一直沒找到過完整恢復的說明,只是一些只言片語,目前也沒時間測試! 再次提醒:可能變磚哦!
mtd -r write linux.bin linux
mtd -r write kernel.bin kernel
mtd -r write cfe.bin cfe |
|
|