Restore and run from NAND stock June 21, 2020 05:59AM |
Registered: 5 years ago Posts: 4 |
NSA325> ver U-Boot 2017.07-tld-1 (Sep 05 2017 - 00:42:03 -0700) ZyXEL NSA325 2-Bay Power Media Server gcc (Debian 6.3.0-18) 6.3.0 20170516 GNU ld (GNU Binutils for Debian) 2.28 NSA325> NSA325> printenv arcNumber=4495 baudrate=115200 bootargs=console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 nand_mtd:0x100000(uboot),0x80000(uboot_env),0x80000(key_store),0x80000(info),0xA00000(etc),0xA00000(kernel_1),0x2FC0000(rootfs1),0xA00000(kernel_2),0x2FC0000(rootfs2) root=/root rw init=/init bootargs_linux=console=ttyS0,115200 mtdparts=nand_mtd:0x100000(u-boot),0x400000(uImage),0x2000000(rootfs),0xDB00000(data), root=LABEL=rootfs loglevel=8 bootargs_stock=console=ttyS0,115200 mtdparts=nand_mtd:0x100000(uboot),0x80000(uboot_env),0x80000(key_store),0x80000(info),0xA00000(etc),0xA00000(kernel_1),0x2FC0000(rootfs1),0xA00000(kernel_2),0x2FC0000(rootfs2) root=/dev/nfs rw init=/init bootcmd=run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec bootcmd_exec=run load_uimage; if run load_initrd; then if run load_dtb; then bootm $load_uimage_addr $load_initrd_addr $load_dtb_addr; else bootm $load_uimage_addr $load_initrd_addr; fi; else if run load_dtb; then bootm $load_uimage_addr - $load_dtb_addr; else bootm $load_uimage_addr; fi; fi bootcmd_linux=setenv bootargs $(bootargs_linux); mw.l f1010100 0020c000; ide reset; ext2load ide 0:1 $(loadaddr) /boot/uImage; ext2load ide 0:1 0x01100000 /boot/uInitrd; bootm $(loadaddr) 0x01100000 bootcmd_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi bootdelay=10 bootdev=usb console=ttyS0,115200 delete=init_usb device=0:1 devices=usb ide disks=0 1 2 3 dtb_file=/boot/dts/kirkwood-nsa325.dtb ethact=egiga0 ethaddr=00:50:43:00:02:02 fileaddr=800000 filesize=3a5018 if_netconsole=ping $serverip init_ide=ide reset init_mmc=mmc rescan init_usb=usb start ipaddr=192.168.0.200 led_error=orange blinking led_exit=green off led_init=green blinking load_dtb=echo loading DTB $dtb_file ...; load $bootdev $device $load_dtb_addr $dtb_file load_dtb_addr=0x1c00000 load_initrd=echo loading uInitrd ...; load $bootdev $device $load_initrd_addr /boot/uInitrd load_initrd_addr=0x1100000 load_uimage=echo loading uImage ...; load $bootdev $device $load_uimage_addr /boot/uImage load_uimage_addr=0x800000 loadaddr=0x800000 mainlineLinux=yes mtdids=nand0=orion_nand mtdparts=mtdparts=orion_nand:0x100000(uboot),0x80000(uboot_env),0x80000(key_store),0x80000(info),0xA00000(etc),0xA00000(kernel_1),0x2FC0000(rootfs1),0xA00000(kernel_2),0x2FC0000(rootfs2) partition=nand0,2 preboot_nc=run if_netconsole start_netconsole sata_boot=ide reset; mw 0x800000 0 1; ext2load ide 0:1 0x800000 /boot/uImage; if ext2load ide 0:1 0x1100000 /boot/uInitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi sata_bootcmd=run usb_set_bootargs; run sata_boot scan_disk=echo running scan_disk ...; scan_done=0; setenv scan_usb "usb start"; setenv scan_ide "ide reset"; setenv scan_mmc "mmc rescan"; for dev in $devices; do if test $scan_done -eq 0; then echo Scan device $dev; run scan_$dev; for disknum in $disks; do if test $scan_done -eq 0; then echo device $dev $disknum:1; if load $dev $disknum:1 $load_uimage_addr /boot/uImage 1; then scan_done=1; echo Found bootable drive on $dev $disknum; setenv device $disknum:1; setenv bootdev $dev; fi; fi; done; fi; done scan_ide=ide reset scan_mmc=mmc rescan scan_usb=usb start serverip=192.168.0.250 set_bootargs=setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts $custom_params start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version; stderr=serial stdin=serial stdout=serial uenv_addr=0x810000 uenv_import=echo importing envs ...; env import -t $uenv_addr $filesize uenv_init_devices=setenv init_usb "usb start"; setenv init_ide "ide reset"; setenv init_mmc "mmc rescan"; for devtype in $devices; do run init_$devtype; done; uenv_load=echo uenv load...; run uenv_init_devices; setenv uenv_loaded 0; for devtype in $devices; do for disknum in 0; do run uenv_read_disk; done; done; uenv_loaded=0 uenv_read=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 $uenv_addr /boot/uEnv.txt; then setenv uenv_loaded 1; fi uenv_read_disk=if test $devtype -eq mmc; then if $devtype part; then run uenv_read; fi; else if $devtype part $disknum; then run uenv_read; fi; fi usb_boot=echo USB boot... ; run load_dtb; run load_uimage; if run load_initrd; then bootm 0x800000 0x1100000 0x1c00000; else bootm 0x800000 - 0x1c00000; fi usb_ready_retry=15 Environment size: 4474/131068 bytes NSA325>
Re: Restore and run from NAND stock June 21, 2020 04:21PM |
Admin Registered: 14 years ago Posts: 19,425 |
3. Be sure to save your current uBoot image in mtd0, or have a backup image saved somewhere as precaution. And save your current u-boot envs with fw_printenv, or just copy/paste the listing into a text file. Note the nanddump command below allows future restoration to the same box you're backing up, and also can be used to restore a differrent box's mtd0 if needed. Dumping NAND mtd0: nanddump --noecc --omitoob -l 0x80000 -f mtd0 /dev/mtd0So that mtd0 file is the back up stock u-boot.
Re: Restore and run from NAND stock June 22, 2020 04:09AM |
Registered: 5 years ago Posts: 4 |