Hi All!
First of all thanks to bodhi for all your work!
Today I tried flashing Uboot to my NSA310 by following instructions from https://forum.doozan.com/read.php?3,12381
Everything went well until I rebooted and it didn't come back up. I hope someone can point me in a direction that brings this thing back to live.
The device turns on, but I do not get any packages from it at all when I on my computer tcpdump on the interface directly connected to the device (I would at least expect an arp lookup of the netconsole server ip).
The USB drive that I am trying to boot from has Debian-4.12.1-kirkwood-tld-1-rootfs-bodhi.tar.bz2 installed.
Here is a log of what I did:
First of all thanks to bodhi for all your work!
Today I tried flashing Uboot to my NSA310 by following instructions from https://forum.doozan.com/read.php?3,12381
Everything went well until I rebooted and it didn't come back up. I hope someone can point me in a direction that brings this thing back to live.
The device turns on, but I do not get any packages from it at all when I on my computer tcpdump on the interface directly connected to the device (I would at least expect an arp lookup of the netconsole server ip).
The USB drive that I am trying to boot from has Debian-4.12.1-kirkwood-tld-1-rootfs-bodhi.tar.bz2 installed.
Here is a log of what I did:
$ telnet 192.168.87.253 nsa310 login: root Password: BusyBox v1.17.2 (2016-03-11 17:11:16 CST) built-in shell (ash) Enter 'help' for a list of built-in commands. ~ # mount rootfs on / type rootfs (rw) /proc on /proc type proc (rw,relatime) /sys on /sys type sysfs (rw,relatime) none on /proc/bus/usb type usbfs (rw,relatime) devpts on /dev/pts type devpts (rw,relatime,mode=600) /dev/mtdblock6 on /zyxel/mnt/nand type yaffs2 (ro,relatime) /dev/sda1 on /zyxel/mnt/sysdisk type ext2 (ro,relatime,errors=continue) /dev/loop0 on /ram_bin type ext2 (ro,relatime,errors=continue) /dev/loop0 on /usr type ext2 (ro,relatime,errors=continue) /dev/loop0 on /lib/security type ext2 (ro,relatime,errors=continue) /dev/loop0 on /lib/modules type ext2 (ro,relatime,errors=continue) /dev/ram0 on /tmp/tmpfs type tmpfs (rw,relatime,size=5120k) /dev/ram0 on /usr/local/etc type tmpfs (rw,relatime,size=5120k) /dev/ram0 on /usr/local/var type tmpfs (rw,relatime,size=5120k) /dev/mtdblock4 on /etc/zyxel type yaffs2 (rw,relatime) /dev/md0 on /i-data/ea498e69 type ext4 (rw,noatime,barrier=0,data=writeback,usrquota) /dev/md0 on /usr/local/zy-pkgs type ext4 (rw,noatime,barrier=0,data=writeback,usrquota) /dev/md0 on /etc/zyxel/zy-pkgs type ext4 (rw,noatime,barrier=0,data=writeback,usrquota) /dev/md0 on /usr/local/apache/htdocs/adv,/pkg type ext4 (rw,noatime,barrier=0,data=writeback,usrquota) nfsd on /proc/fs/nfsd type nfsd (rw,relatime) /dev/md0 on /usr/local/apache/web_framework/data/cache type ext4 (rw,noatime,barrier=0,data=writeback,usrquota) /dev/mtdblock4 on /usr/local/apache/web_framework/data/config type yaffs2 (rw,relatime) ~ # cat /etc/fstab /dev/ram0 / ext2 defaults 0 0 none /proc proc defaults 0 0 none /sys sysfs defaults 0 0 none /dev/pts devpts defaults 0 0 ~ # cat /proc/cpuinfo Processor : Feroceon 88FR131 rev 1 (v5l) BogoMIPS : 1199.30 Features : swp half thumb fastmult edsp CPU implementer : 0x56 CPU architecture: 5TE CPU variant : 0x2 CPU part : 0x131 CPU revision : 1 Hardware : Feroceon-KW Revision : 0000 Serial : 0000000000000000 ~ # cat /proc/meminfo MemTotal: 247952 kB MemFree: 7704 kB Buffers: 23540 kB Cached: 166952 kB SwapCached: 0 kB Active: 49508 kB Inactive: 157528 kB Active(anon): 6928 kB Inactive(anon): 26376 kB Active(file): 42580 kB Inactive(file): 131152 kB Unevictable: 14812 kB Mlocked: 0 kB SwapTotal: 524280 kB SwapFree: 524280 kB Dirty: 0 kB Writeback: 0 kB AnonPages: 31388 kB Mapped: 12796 kB Slab: 13796 kB SReclaimable: 2984 kB SUnreclaim: 10812 kB PageTables: 1004 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 648256 kB Committed_AS: 315308 kB VmallocTotal: 385024 kB VmallocUsed: 608 kB VmallocChunk: 382828 kB ~ # dmesg Linux version 2.6.31.8 (root@BuildMachine) (gcc version 4.3.2 (sdk3.3-ct-ng-1.4.1) ) #2 Fri Mar 11 17:35:20 CST 2016 CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977 CPU: VIVT data cache, VIVT instruction cache Machine: Feroceon-KW Using UBoot passing parameters structure Memory policy: ECC disabled, Data cache writeback On node 0 totalpages: 65536 free_area_init_node: node 0, pgdat c0849988, node_mem_map c0868000 Normal zone: 512 pages used for memmap Normal zone: 0 pages reserved Normal zone: 65024 pages, LIFO batch:15 Built 1 zonelists in Zone order, mobility grouping off. Total pages: 65024 Kernel command line: console=ttyS0,115200 mtdparts=nand_mtd:0x100000(uboot),0x80000(uboot_env),0x80000(key_store),0x80000(info),0x200000(etc),0x600000(kernel_1),0x37C0000(rootfs1),0x600000(kernel_2),0x37C0000(rootfs2) root=/dev/nfs rw init=/init PID hash table entries: 1024 (order: 10, 4096 bytes) Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) Memory: 256MB = 256MB total Memory: 244992KB available (5304K code, 300K data, 2804K init, 0K highmem) Hierarchical RCU implementation. NR_IRQS:128 Console: colour dummy device 80x30 Calibrating delay loop... 1199.30 BogoMIPS (lpj=5996544) Mount-cache hash table entries: 512 CPU: Testing write buffer coherency: ok NET: Registered protocol family 16 Feroceon L2: Enabling L2 Feroceon L2: Cache support initialised. CPU Interface ------------- SDRAM_CS0 ....base 00000000, size 256MB SDRAM_CS1 ....disable SDRAM_CS2 ....disable SDRAM_CS3 ....disable PEX0_MEM ....base e0000000, size 128MB PEX0_IO ....base f2000000, size 1MB PEX1_MEM ....no such PEX1_IO ....no such INTER_REGS ....base f1000000, size 1MB NFLASH_CS ....base fa000000, size 2MB SPI_CS ....base f4000000, size 16MB BOOT_ROM_CS ....no such DEV_BOOTCS ....no such CRYPT_ENG ....base f0000000, size 2MB Marvell Development Board (LSP Version KW_LSP_5.1.3_patch18)-- RD-88F6281A Soc: 88F6281 A1 LE Detected Tclk 200000000 and SysClk 400000000 Marvell USB EHCI Host controller #0: c8040740 PEX0 interface detected Link X1 pci 0000:00:01.0: reg 10 io port: [0xf0000000-0xf00000ff] pci 0000:00:01.0: reg 18 64bit mmio: [0x40000000-0x40000fff] pci 0000:00:01.0: reg 20 64bit mmio: [0x40004000-0x40007fff] pci 0000:00:01.0: reg 30 32bit mmio: [0x000000-0x00ffff] pci 0000:00:01.0: supports D1 D2 pci 0000:00:01.0: PME# supported from D0 D1 D2 D3hot D3cold pci 0000:00:01.0: PME# disabled PCI: bus0: Fast back to back transfers disabled mvPexLocalBusNumSet: ERR. Invalid PEX interface 1 bio: create slab <bio-0> at 0 SCSI subsystem initialized usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb cfg80211: Calling CRDA to update world regulatory domain NET: Registered protocol family 2 IP route cache hash table entries: 2048 (order: 1, 8192 bytes) TCP established hash table entries: 8192 (order: 4, 65536 bytes) TCP bind hash table entries: 8192 (order: 3, 32768 bytes) TCP: Hash tables configured (established 8192 bind 8192) TCP reno registered NET: Registered protocol family 1 rtc mv_rtc: rtc core: registered kw-rtc as rtc0 RTC registered cpufreq: Init kirkwood cpufreq driver cpufreq: High frequency: 1200000KHz - Low frequency: 400000KHz cpufreq: Setting CPU Frequency to 1200000 KHz cpufreq: Setting PowerSaveState to off XOR registered 4 channels XOR 2nd invalidate WA enabled mvCesaInit: sessions=640, queue=64, pSram=f0000000 Warning: TS unit is powered off. gpio_dev = fd00000 LED_SET_CTL_IOC_NUM= 6702 High gpio polarity = 50 High gpio polarity = 70 Enable Interrupt mv88f6281_wdt: Watchdog Timer timeout = 8 sec. mv88f6281_wdt: HW Watchdog timeout = 15 sec. VFS: Disk quotas dquot_6.5.2 Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) Installing knfsd (copyright (C) 1996 okir@monad.swb.de). JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc. fuse init (API version 7.12) SGI XFS with security attributes, large block/inode numbers, no debug enabled SGI XFS Quota Management subsystem yaffs built Mar 11 2016 17:19:52 Installing. YAFFS-WARNING CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED selected. msgmni has been set to 478 alg: No test for cipher_null (cipher_null-generic) alg: No test for ecb(cipher_null) (ecb-cipher_null) alg: No test for digest_null (digest_null-generic) alg: No test for compress_null (compress_null-generic) alg: No test for stdrng (krng) Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252) io scheduler noop registered io scheduler cfq registered (default) Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33) is a 16550A console [ttyS0] enabled brd: module loaded loop: module loaded Integrated Sata device found IRQ 21/mvSata: IRQF_DISABLED is not guaranteed on shared IRQs Wake up disk0...... Wake up disk1...... scsi0 : Marvell SCSI to SATA adapter scsi1 : Marvell SCSI to SATA adapter scsi 0:0:0:0: Direct-Access WD5000AVDS-63U7B 01.0 PQ: 0 ANSI: 5 EnablePowerSaving PowerSavingTime = 15 sd 0:0:0:0: [sda] Sector size 0 reported, assuming 512. sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/465 GiB) sd 0:0:0:0: [sda] 0-byte physical blocks sd 0:0:0:0: Attached scsi generic sg0 type 0 sd 0:0:0:0: [sda] Write Protect is off sd 0:0:0:0: [sda] Mode Sense: 23 00 10 00 Loading Marvell Ethernet Driver: o Cached descriptors in DRAM o DRAM SW cache-coherency o 0 Giga ports supported o Single RX Queue support - ETH_DEF_RXQ=0 o Single TX Queue support - ETH_DEF_TXQ=0 o TCP segmentation offload (TSO) supported o Large Receive offload (LRO) supported o Receive checksum offload supported o Transmit checksum offload supported o Network Fast Processing (Routing) supported - (Disabled) o Driver ERROR statistics enabled o Proc tool API enabled o SKB Reuse supported - (Disabled) o SKB Recycle supported - (Disabled) o Rx descripors: q0=128 o Tx descripors: q0=532 o Loading network interface(s): mvFpRuleDb (c8f5a000): 2048 entries, 8192 bytes Counter=0, opIdx=6, overhead=16 Counter=1, opIdx=2, overhead=0 Counter=2, opIdx=1, overhead=18 Counter=3, opIdx=2, overhead=0 NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB 3,3V 8-bit) Scanning device for bad blocks Bad eraseblock 962 at 0x000007840000 9 cmdlinepart partitions found on MTD device nand_mtd Using command line partition definition Creating 9 MTD partitions on "nand_mtd": 0x000000000000-0x000000100000 : "uboot" sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, supports DPO and FUA sd 0:0:0:0: [sda] Sector size 0 reported, assuming 512. 0x000000100000-0x000000180000 : "uboot_env" 0x000000180000-0x000000200000 : "key_store" 0x000000200000-0x000000280000 : "info" sda: 0x000000280000-0x000000480000 : "etc" 0x000000480000-0x000000a80000 : "kernel_1" 0x000000a80000-0x000004240000 : "rootfs1" 0x000004240000-0x000004840000 : "kernel_2" sda1 sda2 0x000004840000-0x000008000000 : "rootfs2" sd 0:0:0:0: [sda] Sector size 0 reported, assuming 512. ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver ehci_marvell ehci_marvell.70059: Marvell Orion EHCI ehci_marvell ehci_marvell.70059: new USB bus registered, assigned bus number 1 sd 0:0:0:0: [sda] Attached SCSI disk ehci_marvell ehci_marvell.70059: irq 19, io base 0xf1050100 ehci_marvell ehci_marvell.70059: USB 2.0 started, EHCI 1.00 usb usb1: configuration #1 chosen from 1 choice hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver uhci_hcd: USB Universal Host Controller Interface driver usbcore: registered new interface driver usblp Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. usbcore: registered new interface driver ums-datafab usbcore: registered new interface driver ums-freecom usbcore: registered new interface driver ums-jumpshot usbcore: registered new interface driver ums-sddr09 usbcore: registered new interface driver ums-sddr55 usbcore: registered new interface driver ums-usbat mice: PS/2 mouse device common for all mice i2c /dev entries driver hwmon-vid: Unknown VRM version of your CPU md: linear personality registered for level -1 md: raid0 personality registered for level 0 md: raid1 personality registered for level 1 cpufreq: Setting CPU Frequency to 1200000 KHz cpufreq: Setting PowerSaveState to off sdhci: Secure Digital Host Controller Interface driver sdhci: Copyright(c) Pierre Ossman mmc0: mvsdio driver initialized, lacking card detect (fall back to polling) usbcore: registered new interface driver hiddev usbcore: registered new interface driver usbhid usbhid: v2.6:USB HID core driver TCP cubic registered NET: Registered protocol family 10 lo: Disabled Privacy Extensions Mobile IPv6 IPv6 over IPv4 tunneling driver sit0: Disabled Privacy Extensions ip6tnl0: Disabled Privacy Extensions NET: Registered protocol family 17 RPC: Registered udp transport module. RPC: Registered tcp transport module. rtc mv_rtc: setting system clock to 2019-02-28 17:10:02 UTC (1551373802) Freeing init memory: 2804K usb 1-1: new high speed USB device using ehci_marvell and address 2 In hub_port_init, and number is 0, retry 0, port 1 ..... usb 1-1: configuration #1 chosen from 1 choice hub 1-1:1.0: USB hub found hub 1-1:1.0: 4 ports detected r8168 Gigabit Ethernet driver 8.023.00-NAPI loaded r8168 0000:00:01.0: no MSI. Back to INTx. Set LED ... eth%d: RTL8168B/8111B at 0xd0900000, 50:67:f0:52:9e:d9, IRQ 9 r8168: This product is covered by one or more of the following patents: US5,307,459, US5,434,872, US5,732,094, US6,570,884, US6,115,776, and US6,327,625. eth0: Identified chip type is 'RTL8168D/8111D'. r8168 Copyright (C) 2011 Realtek NIC software team <nicfae@realtek.com> This program comes with ABSOLUTELY NO WARRANTY; for details, please see http://www.gnu.org/licenses/. This is free software, and you are welcome to redistribute it under certain conditions; see http://www.gnu.org/licenses/. r8168: egiga0: link down ADDRCONF(NETDEV_UP): egiga0: link is not ready yaffs: dev is 32505862 name is "mtdblock6" ro yaffs: passed flags "" yaffs: Attempting MTD mount of 31.6,"mtdblock6" yaffs_read_super: isCheckpointed 0 r8168: egiga0: link up ADDRCONF(NETDEV_CHANGE): egiga0: link becomes ready r8168: egiga0: link up yaffs: dev is 32505860 name is "mtdblock4" rw yaffs: passed flags "" yaffs: Attempting MTD mount of 31.4,"mtdblock4" yaffs_read_super: isCheckpointed 0 NTFS driver 2.1.29 [Flags: R/O MODULE]. tntfs: module license 'Commercial. For support email ntfs-support@tuxera.com.' taints kernel. Disabling lock debugging due to kernel taint Tuxera NTFS driver 3011.12.23 [Flags: R/W MODULE]. PPP generic driver version 2.4.2 PPP MPPE Compression module registered PPP Deflate Compression module registered NET: Registered protocol family 24 PPP BSD Compression module registered egiga0: no IPv6 routers present md: md0 stopped. md: bind<sda2> md0: detected capacity change from 0 to 499577782784 md0: unknown partition table EXT4-fs (md0): barriers disabled kjournald2 starting: pid 1588, dev md0:8, commit interval 5 seconds EXT4-fs (md0): warning: checktime reached, running e2fsck is recommended EXT4-fs (md0): internal journal on md0:8 EXT4-fs (md0): delayed allocation enabled EXT4-fs: file extents enabled EXT4-fs: mballoc enabled EXT4-fs (md0): mounted filesystem with writeback data mode DisablePowerSaving TimerState = 1 EnablePowerSaving PowerSavingTime = 15 Adding 524280k swap on /i-data/.zyxel/swap_ul6545p. Priority:-1 extents:4 across:542712k svc: failed to register lockdv1 RPC service (errno 97). Uncached vma c231c5f8 (addr 40b3c000 flags 080000ff phy 04970000) from pid 5286 Uncached vma c231c548 (addr 40b3f000 flags 080000ff phy 04970000) from pid 5286 Uncached vma c231c548 (addr 406fe000 flags 080000ff phy 04970000) from pid 1367 Uncached vma c231c548 (addr 406fe000 flags 080000ff phy 04970000) from pid 1367 nfsd: peername failed (err 107)! // Step 1. ~ # cat /etc/fw_env.config # Configuration file for fw_(printenv/saveenv) utility. # Up to two entries are valid, in this case the redundand # environment sector is assumed present. # Notice, that the "Number of sectors" is ignored on NOR. # MTD device name Device offset Env. size Flash sector size Number of sectors # NAND example /dev/mtd1 0x0000 0x20000 0x20000 4 ~ # cat /proc/mtd dev: size erasesize name mtd0: 00100000 00020000 "uboot" mtd1: 00080000 00020000 "uboot_env" mtd2: 00080000 00020000 "key_store" mtd3: 00080000 00020000 "info" mtd4: 00200000 00020000 "etc" mtd5: 00600000 00020000 "kernel_1" mtd6: 037c0000 00020000 "rootfs1" mtd7: 00600000 00020000 "kernel_2" mtd8: 037c0000 00020000 "rootfs2" // Step 2. /i-data/ea498e69/nfs/nas/uboot-update/tools # ./fw_printenv bootargs=console=ttyS0,115200 mtdparts=nand_mtd:0x100000(uboot),0x80000(uboot_env),0x80000(key_store),0x80000(info),0x200000(etc),0x600000(kernel_1),0x37C0000(rootfs1),0x600000(kernel_2),0x37C0000(rootfs2) root=/dev/nfs rw init=/init bootcmd=nand read.e 0x2000000 $(kernel_addr) 0x600000; bootm 0x2000000 bootdelay=2 baudrate=115200 loads_echo=0 eth1addr=00:19:CB:00:51:82 ipaddr=10.4.50.165 serverip=10.4.50.5 rootpath=/mnt/ARM_FS/ netmask=255.255.255.0 nandEcc=1bit kernel_addr=480000 PRODUCT_NAME=NSA-310 FEATURE_BIT=00 CONTRY_TYPE=FF VENDOR_NAME=ZyXEL Communications Corp. run_diag=yes ethaddr=50:67:F0:52:9E:D9 MODEL_ID=A203 // Step 3. /i-data/ea498e69/nfs/nas/uboot-update/tools # ./nanddump --noecc --omitoob -l 0x80000 -f mtd0 /dev/mtd0 Block size 131072, page size 2048, OOB size 64 Dumping data starting at 0x00000000 and ending at 0x00080000... /i-data/ea498e69/nfs/nas/uboot-update/tools # md5sum mtd0 428d03817291278c9cec6468af72f4ff mtd0 /i-data/ea498e69/nfs/nas/uboot-update/dump # ../tools/nanddump --noecc --omitoob -f mtdtd2 /dev/mtd2 Block size 131072, page size 2048, OOB size 64 Dumping data starting at 0x00000000 and ending at 0x00080000... /i-data/ea498e69/nfs/nas/uboot-update/dump # ../tools/nanddump --noecc --omitoob -f m-f mtd3 /dev/mtd3 Block size 131072, page size 2048, OOB size 64 Dumping data starting at 0x00000000 and ending at 0x00080000... /i-data/ea498e69/nfs/nas/uboot-update/dump # ../tools/nanddump --noecc --omitoob -f mtd3 /d4 /dev/mtd4 Block size 131072, page size 2048, OOB size 64 Dumping data starting at 0x00000000 and ending at 0x00200000... /i-data/ea498e69/nfs/nas/uboot-update/dump # ../tools/nanddump --noecc --omitoob -f mtd4 /d5 /dev/mtd5 Block size 131072, page size 2048, OOB size 64 Dumping data starting at 0x00000000 and ending at 0x00600000... /i-data/ea498e69/nfs/nas/uboot-update/dump # ../tools/nanddump --noecc --omitoob -f mtd5 /d6 /dev/mtd6 Block size 131072, page size 2048, OOB size 64 Dumping data starting at 0x00000000 and ending at 0x037c0000... /i-data/ea498e69/nfs/nas/uboot-update/dump # ../tools/nanddump --noecc --omitoob -f mtd mtd7 /dev/mtd7 Block size 131072, page size 2048, OOB size 64 Dumping data starting at 0x00000000 and ending at 0x00600000... /i-data/ea498e69/nfs/nas/uboot-update/dump # ../tools/nanddump --noecc --omitoob -f mtd7 /d8 /dev/mtd8 // Step 4. /tmp # dmesg | grep mtd Kernel command line: console=ttyS0,115200 mtdparts=nand_mtd:0x100000(uboot),0x80000(uboot_env),0x80000(key_store),0x80000(info),0x200000(etc),0x600000(kernel_1),0x37C0000(rootfs1),0x600000(kernel_2),0x37C0000(rootfs2) root=/dev/nfs rw init=/init 9 cmdlinepart partitions found on MTD device nand_mtd Creating 9 MTD partitions on "nand_mtd": yaffs: dev is 32505862 name is "mtdblock6" ro yaffs: Attempting MTD mount of 31.6,"mtdblock6" yaffs: dev is 32505860 name is "mtdblock4" rw yaffs: Attempting MTD mount of 31.4,"mtdblock4" // Step 5./6. /tmp # ./flash_erase /dev/mtd0 0 4 Erasing 128 Kibyte @ 60000 -- 100 % complete /tmp # nandwrite /dev/mtd0 uboot.2017.07-tld-1.nsa310.mtd0.kwb Writing data to block 0 Writing data to block 20000 Writing data to block 40000 Writing data to block 60000 /tmp # fw_printenv Warning: Bad CRC, using default environment bootargs=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=nand read.e 0x2000000 $(kernel_addr) 0xA00000; bootm 0x2000000 bootdelay=2 baudrate=115200 nandEcc=1bit kernel_addr=480000 MODEL_ID=A203 PRODUCT_NAME=NSA-310 FEATURE_BIT=00 CONTRY_TYPE=FF VENDOR_NAME=ZyXEL Communications Corp. // Step 8. // The guide says 'As described in step 1, u-boot envs must be defined in /etc/fw_env.config as' ..., so I updated /etc/fw_env.config to that: /tmp # cat /etc/fw_env.config # MTD device name Device offset Env. size Flash sector size Number of sectors /dev/mtd0 0xc0000 0x20000 0x20000 /tmp # ./flash_erase /dev/mtd0 0xc0000 1 Erasing 128 Kibyte @ c0000 -- 100 % complete /tmp # nandwrite -s 786432 /dev/mtd0 uboot.2016.05-tld-1.environment.img Writing data to block c0000 /tmp # fw_setenv arcNumber 4022 /tmp # fw_setenv machid /tmp # fw_setenv ethaddr '50:67:F0:52:9E:D9' /tmp # fw_setenv eth1addr '00:19:CB:00:51:82' /tmp # fw_setenv mtdparts 'nand_mtd:0x100000(uboot),0x80000(uboot_env),0x80000(key_store),0x80000(info),0x200000(etc),0x600000(kernel_1),0x37C0000(rootfs1),0x600000(kernel_2),0x37C0000(rootfs2)' ~ # fw_setenv dtb_file '/boot/dts/kirkwood-nsa310.dtb' /tmp # fw_setenv preboot_nc 'setenv nc_ready 0; for pingstat in 1 2 3 4 5; do; sleep 1; if run if_netconsole ; then setenv nc_ready 1; fi; done; if test $nc_ready -eq 1; then run start_netconsole; fi' /tmp # fw_setenv preboot 'run preboot_nc' /tmp # fw_setenv ipaddr '192.168.11.253' /tmp # fw_setenv serverip '192.168.11.200' ~ # fw_printenv 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 $loa d_initrd_addr; fi; else if run load_dtb; then bootm $load_uimage_addr - $load_dtb_addr; else bootm $load_uimage_addr; fi; fi bootcmd=run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec bootcmd_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi bootdelay=10 bootdev=usb device=0:1 devices=usb ide mmc disks=0 1 2 3 ethact=egiga0 if_netconsole=ping $serverip led_error=orange blinking led_exit=green off led_init=green blinking load_dtb_addr=0x1c00000 load_initrd_addr=0x1100000 load_uimage_addr=0x800000 load_dtb=echo loading DTB $dtb_file ...; load $bootdev $device $load_dtb_addr $dtb_file load_initrd=echo loading uInitrd ...; load $bootdev $device $load_initrd_addr /boot/uInitrd load_uimage=echo loading uImage ...; load $bootdev $device $load_uimage_addr /boot/uImage mainlineLinux=yes mtdids=nand0=orion_nand partition=nand0,2 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 $di sknum: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 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=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_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 uenv_read=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 $uenv_addr /boot/uEnv.txt; then setenv uenv_loaded 1; fi usb_ready_retry=15 arcNumber=4022 ethaddr=50:67:F0:52:9E:D9 eth1addr=00:19:CB:00:51:82 mtdparts=nand_mtd:0x100000(uboot),0x80000(uboot_env),0x80000(key_store),0x80000(info),0x200000(etc),0x600000(kernel_1),0x37C0000(rootfs1),0x600000(kernel_2),0x37C0000(r ootfs2) preboot_nc=setenv nc_ready 0; for pingstat in 1 2 3 4 5; do; sleep 1; if run if_netconsole; then setenv nc_ready 1; fi; done; if test $nc_ready -eq 1; then run start_ne tconsole; fi preboot=run preboot_nc ipaddr=192.168.11.253 serverip=192.168.11.200 dtb_file=/boot/dts/kirkwood-nsa310.dtb ~ # reboot