Welcome! Log In Create A New Profile

Advanced

Zyxel NAS326 Installation Instruction

Posted by bodhi 
Re: Zyxel NAS326 Installation Instruction
December 26, 2020 04:44AM
mixpc,

I see. I don't have an answer regarding this, since I never really used stock FW in any meaningful way at all. I've only booted into stock OS a few times to extract information to build the new kernel for it.

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: Zyxel NAS326 Installation Instruction
December 26, 2020 12:24PM
Hi,

I need some help here. I installed OMV, but after I edit any network setting in the web interface, if I reboot, I cannot access the NAS anymore. I connected it by the serial cable and I can see that it can't configure the network during the boot:

[FAILED] Failed to start Wait for Network to be Configured.
See 'systemctl status systemd-networkd-wait-online.service' for details.

after that message it runs the script to set the persistent MAC address.

So using the serial connection, I can run the omv-firstaid to set the network and it works, until the next reboot...

So I am thinking the problem is the persistent MAC address script is running AFTER the the Network Configuration.

Do you know how can I force the persistent MAC address script to run before the Network Configuration?



Edited 2 time(s). Last edit at 12/26/2020 12:29PM by nickba.
Re: Zyxel NAS326 Installation Instruction
December 26, 2020 03:59PM
nickba,

> [FAILED] Failed to start Wait for Network to be
> Configured.
> See 'systemctl status
> systemd-networkd-wait-online.service' for
> details.

> Do you know how can I force the persistent MAC
> address script to run before the Network
> Configuration?

Since you are running systemd, I cannot help you troubleshoot. But the basic idea is you should look for way to setup/modify a systemd target for network service.

And that should be an equivalence of sysvinit /etc/network/interfaces, where you can set the MAC address explicitly (in this case you don't need to use the set_persistent_mac_address script).

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: Zyxel NAS326 Installation Instruction
December 26, 2020 09:13PM
Thanks for replying and for the suggestion. I will keep trying to find a way to make it work. This is the last piece of the puzzle to make OMV5 work...
Re: Zyxel NAS326 Installation Instruction
December 28, 2020 03:33PM
Hello,

Here is an update. I could not make the OMV5 GUI network settings work, but I set up the IP and DNS manually and it worked!!

Now everything is working! But the SMB still slower than the stock firmware. I am getting 60MB/s with OMV5, while the stock firmware transfer speed is about 105MB/s.

I tried to use the stock SMB settings, it didn't make any effect.

Iperf tests shows the same speed in stock firmware and with the OMV5(about 950Mb/s).

I will keep trying to make the SMB transfer speeds at least similar to the stock...
Tasmin
Re: Zyxel NAS326 Installation Instruction
September 23, 2021 01:43AM
Hi, thanks for the great informative page. I was able to boot from a USB drive using method B. I then tried the same method with an external ssd drive but it does not boot the NAS 326 box. Does the ssd need a different preparation to boot from it than a usb drive?
Re: Zyxel NAS326 Installation Instruction
September 23, 2021 02:13AM
Tasmin,

> Hi, thanks for the great informative page. I was
> able to boot from a USB drive using method B. I
> then tried the same method with an external ssd
> drive but it does not boot the NAS 326 box. Does
> the ssd need a different preparation to boot from
> it than a usb drive?

An external SDD with USB interface is the same as an USB flash drive. But it is best to prepare the rootfs as it was a USB drive (meaning with USB cable and attached to a Linux box). And did you use the NAS326 front USB port?

If you have serial console, post the entire boot log.

-bodhi
===========================
Forum Wiki
bodhi's corner



Edited 1 time(s). Last edit at 09/23/2021 02:14AM by bodhi.
Re: Zyxel NAS326 Installation Instruction
September 23, 2021 07:56AM
Hi guys. I'm wondering if Bullseye rootfs image for NAS326 is on the way or it still need a bit time for cooking?

Thanks.
Re: Zyxel NAS326 Installation Instruction
September 23, 2021 02:59PM
yellowbug,

It will be either this weekend or next weekend.

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: Zyxel NAS326 Installation Instruction
September 23, 2021 10:29PM
Heap thanks for your awesome contributions bodhi.

Can't wait for this Lol.
Tasmin
Re: Zyxel NAS326 Installation Instruction
October 07, 2021 06:07PM
Thanks for the reply bodhi.

I figured out the problem with the ssd format. The partition table type was "gpt", and after I wrote the partition table with type "msdos" then created an "ext3" type partition with label "rootfs", and followed the rest of the instructions, I was able to boot NAS326 from it.

Thanks for the great instructions.
Tasmin
Re: Zyxel NAS326 Installation Instruction
October 12, 2021 07:41PM
I made a cockpit add-on for the debian system for NAS326 that shows the CPU temperature and fan speed.


You need to install the cockpit plugin first:

# sudo apt -y install cockpit
# mkdir -p /usr/lib/x86_64-linux-gnu/udisks2/modules
# mkdir -p /usr/lib/arm-linux-gnueabihf/udisks2/modules

cockpit is available at port 9090 :

https://[NAS IP address]:9090

After that, just follow the instructions from my git repo to install the add-on:

https://github.com/tasmin/cockpit-zyxel-NAS326-cpu-plugin
Re: Zyxel NAS326 Installation Instruction
December 11, 2021 09:22AM
I'm running the latest zyxel firmware... so idk if maybe these instructions were meant for an older fw.

NAS326 V5.21(AAZF.9)C0

I attempted the "Instruction for booting the NAS326 with a USB rootfs (setup without serial console)" instructions using Debian-5.13.8-mvebu-tld-1-rootfs-bodhi.tar.bz2

Pretty much the process I used

mkfs -t ext3 /dev/sdg1

mount /media/sdf /dev/sdg1

cd /media/sdf

tar -xjf /root/Debian-5.13.8-mvebu-tld-1-rootfs-bodhi.tar.bz2 .

cd boot/
cp -a zImage-5.13.8-mvebu-tld-1 zImage.fdt
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
~/u-boot-2020.07/tools/mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-5.13.8-mvebu-tld-1 -d zImage.fdt uImage

sync;sync

umount -l /media/sdf

#on zyxel via ssh as root

fw_setenv set_bootargs 'setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts init=/bin/systemd'			
fw_setenv curr_bootfrom 1
fw_setenv next_bootfrom 1
fw_setenv load_dtb_addr 0x1000000
fw_setenv load_initrd_addr 0x2900000
fw_setenv load_image_addr 0x02000000
fw_setenv usb_init 'mw.l f1018100 20420000; mw.l f1018140 003E8800; sleep 3; usb start'
fw_setenv set_bootargs_stock 'setenv bootargs "console=ttyS0,115200 ubi.mtd=4,2048 rootfstype=ubifs root=ubi0:rootfs1 rw rootdelay=2"'
fw_setenv bootcmd_stock_1 'run set_bootargs_stock; echo Booting from NAND kernel 1 ...; nand read 0x2000000 0x00E00000 0xF00000 && bootz 0x2000000'
fw_setenv bootcmd_stock_2 'run set_bootargs_stock; echo Booting from NAND kernel 2 ...; nand read 0x2000000 0x08700000 0xF00000 && bootz 0x2000000'
fw_setenv usb_set_bootargs 'setenv bootargs "console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts earlyprintk=serial"'
fw_setenv usb_bootcmd 'echo Booting from USB ...; setenv fdt_skip_update yes; run usb_init; ext2load usb 0:1 $load_image_addr /boot/zImage; ext2load usb 0:1 $load_dtb_addr /boot/dts/armada-380-zyxel-nas326.dtb; ext2load usb 0:1 $load_initrd_addr /boot/uInitrd; run usb_set_bootargs; bootz $load_image_addr $load_initrd_addr $load_dtb_addr'
fw_setenv bootcmd_custom 'if run usb_bootcmd; then; else if run bootcmd_stock_1; then; else run bootcmd_stock_2; reset; fi; fi'
fw_setenv kernel_addr_1 '0x00000000; run bootcmd_custom; '
fw_setenv change_boot_part 1

#plug in usb into front port
sync;sync;/sbin/reboot


and it won't boot to the usb.

I can chroot into the install, but it always boot's busybox.

cd /
mount -t ext3 /dev/sdc1 /mnt
mount -t proc proc /mnt/proc
mount -t sysfs sys /mnt/sys		

chroot /mnt /bin/bash

I've been doing some comparisons between methods

I've noticed two variances between instructions (i.e. the link to the without dongle says "deprecated" and the one that isn't is referencing 4.9) and this is my best guess as to maybe what I need to include?

fw_setenv load_dtb_addr 0x1000000

fw_setenv usb_bootcmd 'echo Booting from USB ...; setenv fdt_skip_update yes; run usb_init; ext2load usb 0:1 $load_image_addr /boot/uImage; ext2load usb 0:1 $load_initrd_addr /boot/uInitrd; run usb_set_bootargs; bootm $load_image_addr $load_initrd_addr'



Edited 6 time(s). Last edit at 12/11/2021 10:03AM by thistleknot.
Re: Zyxel NAS326 Installation Instruction
December 11, 2021 10:19AM
weird... it wiped my configuration... I tried

#fw_setenv load_dtb_addr 0x1000000
fw_setenv usb_bootcmd 'echo Booting from USB ...; setenv fdt_skip_update yes; run usb_init; ext2load usb 0:1 $load_image_addr /boot/uImage; ext2load usb 0:1 $load_dtb_addr /boot/dts/armada-380-z
yxel-nas326.dtb; ext2load usb 0:1 $load_initrd_addr /boot/uInitrd; run usb_set_bootargs; bootz $load_image_addr $load_initrd_addr $load_dtb_addr'



Edited 1 time(s). Last edit at 12/11/2021 10:22AM by thistleknot.
Re: Zyxel NAS326 Installation Instruction
December 11, 2021 02:09PM
apparently it doesn't boot anymore. Just solid white lights. I was able to factory reset it once, but second try no... I'm going to order one of those cables now.
Re: Zyxel NAS326 Installation Instruction
December 11, 2021 03:49PM
thistleknot,

Looks like you've used the wrong instruction. Note the bold line in the correct instruction below.

Quote

fw_setenv curr_bootfrom 1
fw_setenv next_bootfrom 1
fw_setenv load_initrd_addr 0x2900000
fw_setenv load_image_addr 0x02000000
fw_setenv usb_init 'mw.l f1018100 20420000; mw.l f1018140 003E8800; sleep 3; usb start'
fw_setenv set_bootargs_stock 'setenv bootargs "console=ttyS0,115200 ubi.mtd=4,2048 rootfstype=ubifs root=ubi0:rootfs1 rw rootdelay=2"'
fw_setenv bootcmd_stock_1 'run set_bootargs_stock; echo Booting from NAND kernel 1 ...; nand read 0x2000000 0x00E00000 0xF00000 && bootz 0x2000000'
fw_setenv bootcmd_stock_2 'run set_bootargs_stock; echo Booting from NAND kernel 2 ...; nand read 0x2000000 0x08700000 0xF00000 && bootz 0x2000000'
fw_setenv usb_set_bootargs 'setenv bootargs "console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts earlyprintk=serial"'
fw_setenv usb_bootcmd 'echo Booting from USB ...; setenv fdt_skip_update yes; run usb_init; ext2load usb 0:1 $load_image_addr /boot/uImage; ext2load usb 0:1 $load_initrd_addr /boot/uInitrd; run usb_set_bootargs; bootm $load_image_addr $load_initrd_addr'
fw_setenv bootcmd_custom 'if run usb_bootcmd; then; else if run bootcmd_stock_1; then; else run bootcmd_stock_2; reset; fi; fi'
fw_setenv kernel_addr_1 '0x00000000; run bootcmd_custom; '
fw_setenv change_boot_part 1

Starting with the rootfs Debian-5.2.9-mvebu-tld-1-rootfs-bodhi.tar.bz2, we load uImage and uInitrd, and use bootm. With previous rootfs (Debian-4.9.0-mvebu-tld-12-rootfs-bodhi.tar.bz2), we load zImage and uInitrd, and use bootz.

You did not wait for me to respond to your 1st post :) You could have booted with the rootfs Debian-4.9.0-mvebu-tld-12-rootfs-bodhi.tar.bz2.

So what you did later:

Quote

fw_setenv usb_bootcmd 'echo Booting from USB ...; setenv fdt_skip_update yes; run usb_init; ext2load usb 0:1 $load_image_addr /boot/uImage; ext2load usb 0:1 $load_dtb_addr /boot/dts/armada-380-z
yxel-nas326.dtb; ext2load usb 0:1 $load_initrd_addr /boot/uInitrd; run usb_set_bootargs; bootz $load_image_addr $load_initrd_addr $load_dtb_addr'

has basically soft-bricked the box.

Both the load command and the boot command are now incorrect.

Yes, you need serial console to recover.

-bodhi
===========================
Forum Wiki
bodhi's corner



Edited 1 time(s). Last edit at 12/11/2021 03:54PM by bodhi.
Re: Zyxel NAS326 Installation Instruction
December 11, 2021 03:58PM
Note the current bootcmd_custom env:

fw_setenv bootcmd_custom 'if run usb_bootcmd; then; else if run bootcmd_stock_1; then; else run bootcmd_stock_2; reset; fi; fi'
fw_setenv kernel_addr_1 '0x00000000; run bootcmd_custom; '

While you wait for the serial console, you could try: remove all disk drives, and power up. See if the fallback will boot stock FW again.

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: Zyxel NAS326 Installation Instruction
December 17, 2021 06:37PM
I got the serial dongle. I can see the terminal (thank you valuable experience at Directv)

I'll try the older deprecated instructions, but how do I get it to work with the latest build (5.15)? as found here: https://forum.doozan.com/read.php?2,32146

Also, how do I restore original firmware?

Edit: I found it here: https://forum.doozan.com/read.php?2,27108,33372#msg-33372



Edited 3 time(s). Last edit at 12/17/2021 07:01PM by thistleknot.
Re: Zyxel NAS326 Installation Instruction
December 17, 2021 08:25PM
I can get it to boot to USB, but it drops me to initramfs (following instructions for 5.13 here: https://forum.doozan.com/read.php?2,32146)

I couldn't get it to boot initially from USB until I recalled I wasn't doing this from busybox, but from Marvell, so I ran this from Marvell (which are the instructions for 5.2.9 https://forum.doozan.com/read.php?2,88619,page=1, you'll have to forgive my confusion, the instructions are all over the place (I get it, I do similar). First time doing this, but I don't see differing instructions for 5.13)
setenv curr_bootfrom 1
setenv next_bootfrom 1
setenv load_initrd_addr 0x2900000
setenv load_image_addr 0x02000000
setenv usb_init 'mw.l f1018100 20420000; mw.l f1018140 003E8800; sleep 3; usb start'
setenv set_bootargs_stock 'setenv bootargs "console=ttyS0,115200 ubi.mtd=4,2048 rootfstype=ubifs root=ubi0:rootfs1 rw rootdelay=2"'
setenv bootcmd_stock_1 'run set_bootargs_stock; echo Booting from NAND kernel 1 ...; nand read 0x2000000 0x00E00000 0xF00000 && bootz 0x2000000'
setenv bootcmd_stock_2 'run set_bootargs_stock; echo Booting from NAND kernel 2 ...; nand read 0x2000000 0x08700000 0xF00000 && bootz 0x2000000'
setenv usb_set_bootargs 'setenv bootargs "console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts earlyprintk=serial"'
setenv usb_bootcmd 'echo Booting from USB ...; setenv fdt_skip_update yes; run usb_init; ext2load usb 0:1 $load_image_addr /boot/uImage; ext2load usb 0:1 $load_initrd_addr /boot/uInitrd; run usb_set_bootargs; bootm $load_image_addr $load_initrd_addr'
setenv bootcmd_custom 'if run usb_bootcmd; then; else if run bootcmd_stock_1; then; else run bootcmd_stock_2; reset; fi; fi'
setenv kernel_addr_1 '0x00000000; run bootcmd_custom; '
saveenv

from ol8.3 linux I prep it
mkfs -t ext3 /dev/sdf1
mount /dev/sdf1 /media/sdf
cd /media/sdf
tar -xjf /root/Debian-5.13.8-mvebu-tld-1-rootfs-bodhi.tar.bz2
cd boot
cp -a zImage-5.13.8-mvebu-tld-1 zImage.fdt
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
~/u-boot-2020.07/tools/mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-5.13.8-mvebu-tld-1 -d zImage.fdt uImage
sync
cd ..
umount /media/sdf

What I eventually see

Begin: Running /scripts/local-block ... done.
done.
Gave up waiting for root file system device.  Common problems:
 - Boot args (cat /proc/cmdline)
   - Check rootdelay= (did the system wait long enough?)
 - Missing modules (cat /proc/modules; ls /dev)
ALERT!  LABEL=rootfs does not exist.  Dropping to a shell!


BusyBox v1.30.1 (Debian 1:1.30.1-6+b3) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs)

fyi the link for Debian-4.9.0-mvebu-tld-12-rootfs-bodhi.tar.bz2 is deleted, so I can't use that build

I also tried

setenv curr_bootfrom 1
setenv next_bootfrom 1
setenv load_initrd_addr 0x2900000
setenv load_image_addr 0x02000000
setenv usb_init 'mw.l f1018100 20420000; mw.l f1018140 003E8800; sleep 3; usb start'
setenv set_bootargs_stock 'setenv bootargs "console=ttyS0,115200 ubi.mtd=4,2048 rootfstype=ubifs root=ubi0:rootfs1 rw rootdelay=2"'
setenv bootcmd_stock_1 'run set_bootargs_stock; echo Booting from NAND kernel 1 ...; nand read 0x2000000 0x00E00000 0xF00000 && bootz 0x2000000'
setenv bootcmd_stock_2 'run set_bootargs_stock; echo Booting from NAND kernel 2 ...; nand read 0x2000000 0x08700000 0xF00000 && bootz 0x2000000'
setenv usb_set_bootargs 'setenv bootargs "console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts earlyprintk=serial"'
setenv usb_bootcmd 'echo Booting from USB ...; setenv fdt_skip_update yes; run usb_init; ext2load usb 0:1 $load_image_addr /boot/uImage; ext2load usb 0:1 $load_initrd_addr /boot/uInitrd; run usb_set_bootargs; bootm $load_image_addr $load_initrd_addr'
setenv bootcmd_custom 'if run usb_bootcmd; then; else if run bootcmd_stock_1; then; else run bootcmd_stock_2; reset; fi; fi'
setenv kernel_addr_1 '0x00000000; run bootcmd_custom; '
setenv change_boot_part 1
saveenv

I got, was missing this important piece

e2label /dev/sdf1 rootfs



Edited 5 time(s). Last edit at 12/17/2021 08:56PM by thistleknot.
Re: Zyxel NAS326 Installation Instruction
December 17, 2021 09:53PM
Now that I have this working with the latest kernel. I'm booting from a usb3 flash drive. Is there a nice way to get this to boot from the rear ports?

Could I change usb 0:1 to usb1:1? Or something to that effect?

I know usb 3 has different drivers... so I thought I'd ask first.

The main reason for me wanting to do this is because of the swap file honestly.
shaman
January 10, 2022 04:27PM
Hi bodhi,

First of all, thank you very much for your strong efforts to keep our systems running, updated an alive! I very much appreciate your work here and I'm quietly following your manuals since years! And every manual was working fine, since my NSA325 broke a week ago. I bought a brand new NAS326 as a replacement and want to install a Debian on the box. I followed your instructions (A. with serial console) to set the environment for booting from USB and set up a rootfs USB drive (https://forum.doozan.com/read.php?2,32146). Unfortunately, the USB drive doesn't boot (see below) and the system boots into the stock OS.

After interrupting the timeout during boot process, the following printenv can be captured:
CASset=max
CONTRY_TYPE=FF
FEATURE_BIT=00
MALLOC_len=5
MODEL_ID=B303
MPmode=SMP
PRODUCT_NAME=STG-328
VENDOR_NAME=MitraStar Technology Corp.
autoload=no
baudrate=115200
boot_order=hd_scr usb_scr mmc_scr hd_img usb_img mmc_img pxe net_img net_scr
bootargs=console=ttyS0,115200 ubi.mtd=4,2048 rootfstype=ubifs root=ubi0:rootfs1 rw rootdelay=2
bootargs_dflt=$console $nandEcc $mtdparts $bootargs_root nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip$bootargs_end $mvNetConfig video=dovefb:lcd0:$lcd0_params clcd.lcd0_enable=$lcd0_enable clcd.lcd_panel=$lcd_panel
bootargs_end=:10.4.50.254:255.255.255.0:Armada38x:eth0:none
bootargs_root=root=/dev/nfs rw
bootcmd=nand read 0x2000000 0x00000000; run bootcmd_custom;  0xF00000 && bootz 0x2000000
bootcmd_auto=stage_boot $boot_order
bootcmd_custom=if run usb_bootcmd; then; else if run bootcmd_stock_1; then; else run bootcmd_stock_2; reset; fi; fi
bootcmd_fdt=tftpboot 0x2000000 $image_name;tftpboot $fdtaddr $fdtfile;setenv bootargs $console $nandEcc $mtdparts $bootargs_root nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip$bootargs_end $mvNetConfig video=dovefb:lcd0:$lcd0_params clcd.lcd0_enable=$lcd0_enable clcd.lcd_panel=$lcd_panel; bootz 0x2000000 - $fdtaddr;
bootcmd_fdt_boot=tftpboot 0x2000000 $image_name; setenv bootargs $console $nandEcc $mtdparts $bootargs_root nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip$bootargs_end $mvNetConfig video=dovefb:lcd0:$lcd0_params clcd.lcd0_enable=$lcd0_enable clcd.lcd_panel=$lcd_panel; bootz 0x2000000 - $fdtaddr;
bootcmd_fdt_edit=tftpboot $fdtaddr $fdtfile; fdt addr $fdtaddr; setenv bootcmd $bootcmd_fdt_boot
bootcmd_lgcy=tftpboot 0x2000000 $image_name; setenv bootargs $bootargs_dflt; bootm 0x2000000;
bootcmd_stock_1=run set_bootargs_stock; echo Booting from NAND kernel 1 ...; nand read 0x2000000 0x00E00000 0xF00000 && bootz 0x2000000
bootcmd_stock_2=run set_bootargs_stock; echo Booting from NAND kernel 2 ...; nand read 0x2000000 0x08700000 0xF00000 && bootz 0x2000000
bootdelay=3
cacheShare=no
change_boot_part=0
console=console=ttyS0,115200
core_checksum_1=c782fd9d1adda4a6bac11cb570151a09
core_checksum_2=c782fd9d1adda4a6bac11cb570151a09
curr_bootfrom=1
device_partition=0:1
disaMvPnp=no
eeeEnable=no
enaClockGating=no
enaCpuStream=no
enaFPU=yes
enaMonExt=no
enaWrAllo=no
eth1addr=00:50:43:38:32:25
eth1mtu=1500
eth2addr=00:50:43:38:a6:25
eth2mtu=1500
eth3addr=00:50:43:32:a6:38
eth3mtu=1500
ethact=egiga0
ethaddr=5C:64:8E:A5:41:6B
ethmtu=1500
ethprime=egiga0
fdt_addr=2040000
fdt_skip_update=no
fdtaddr=0x1000000
fdtfile=armada-38x-modular.dtb
fwversion_1=V5.21(AAZF.8)
fwversion_2=V5.21(AAZF.8)
ide_path=/
image_name=uImage
img_checksum_1=dd8adfdfaec6f9560ac52c54b277f5cf
img_checksum_2=dd8adfdfaec6f9560ac52c54b277f5cf
initrd_name=uInitrd
ipaddr=10.4.50.170
kernel_addr=${kernel_addr_1}
kernel_addr_1=0x00000000; run bootcmd_custom; 
kernel_addr_1=0x00E00000
kernel_addr_2=0x08700000
kernel_addr_r=2080000
kernel_mtd_1=3
kernel_mtd_2=5
lcd0_enable=0
lcd0_params=640x480-16@60
lcd_panel=0
load_dtb_=0x1000000
load_imagdr=0x02000000
load_initddr=0x2900000
load_initrd_addr=0x2900000
loadaddr=0x02000000
loads_echo=0
modelid_1=B303
modelid_2=B303
mtdids=nand0=armada-nand
mtdparts=mtdparts=armada-nand:2m(u-boot),2m(env),2m(config),15m(kernel1),110m(rootfs1),15m(kernel2),-(rootfs2)
mvNetConfig=mv_net_config=4,(00:50:43:11:11:11,0:1:2:3),mtu=1500
mv_pon_addr=00:50:43:25:a6:38
nandEcc=nfcConfig=4bitecc
netbsd_en=no
netmask=255.255.255.0
netretry=no
next_bootfrom=1
pcieTune=no
pexMode=RC
pxe_files_load=:default.arm-armadaxp-db:default.arm-armadaxp:default.arm
pxefile_addr_r=3100000
ramdisk_addr_r=2880000
revision_1=51181
revision_2=51181
romfile_checksum_1=B316
romfile_checksum_2=B316
rootpath=/srv/nfs/
sata_delay_reset=0
sata_dma_mode=yes
script_addr_r=3000000
script_name=boot.scr
serial_number=S210Y37062991
serverip=10.4.50.38
set_bootargs_stock=setenv bootargs "console=ttyS0,115200 ubi.mtd=4,2048 rootfstype=ubifs root=ubi0:rootfs1 rw rootdelay=2"
standalone=fsload 0x2000000 $image_name;setenv bootargs $console $nandEcc $mtdparts root=/dev/mtdblock0 rw ip=$ipaddr:$serverip$bootargs_end; bootm 0x2000000;
stderr=serial
stdin=serial
stdout=serial
sysimg_mtd_1=4
sysimg_mtd_2=6
usb0Mode=host
usbActive=0
usbType=2
usb_bootcmd=echo Booting from USB ...; setenv fdt_skip_update yes; run usb_init; ext2load usb 0:1 $load_image_addr /boot/uImage; ext2load usb 0:1 $load_initrd_addr /boot/uInitrd; run usb_set_bootargs; bootm $load_image_addr $load_initrd_addr
usb_init=mw.l f1018100 20420000; mw.l f1018140 003E8800; sleep 3; usb start
usb_set_bootargs=setenv bootargs "console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts earlyprintk=serial"
vxworks_en=no
yuk_ethaddr=00:00:00:EE:51:81
zld_checksum_1=e3da2fd44e82e74d7c15dbeef23be3d0
zld_checksum_2=e3da2fd44e82e74d7c15dbeef23be3d0

Booting with the prepared USB drive, produced the following output:
Booting from NAND flash

General initialization - Version: 1.0.0
Detected Device ID 6810
High speed PHY - Version: 2.0

Init RD NAS topology board SerDes lanes topology details:
 | Lane #  | Speed |  Type       |
 --------------------------------
 |   0    |  06   |  SATA0	|
 |   1    |  05   |  USB3 HOST0	|
 |   2    |  06   |  SATA1	|
 |   5    |  05   |  USB3 HOST1	|
 --------------------------------
High speed PHY - Ended Successfully
DDR3 Training Sequence - Ver TIP-1.26.0
mvSysEnvGetTopologyUpdateInfo: TWSI Read failed
DDR3 Training Sequence - Switching XBAR Window to FastPath Window 
DDR3 Training Sequence - Ended Successfully
Not detected suspend to RAM indication
BootROM: Image checksum verification PASSED

 __   __                      _ _
|  \/  | __ _ _ ____   _____| | |
| |\/| |/ _` | '__\ \ / / _ \ | |
| |  | | (_| | |   \ V /  __/ | |
|_|  |_|\__,_|_|    \_/ \___|_|_|
         _   _     ____              _
        | | | |   | __ )  ___   ___ | |_ 
        | | | |___|  _ \ / _ \ / _ \| __| 
        | |_| |___| |_) | (_) | (_) | |_ 
         \___/    |____/ \___/ \___/ \__| 
 ** LOADER **


U-Boot 2013.01-svn48206 (Dec 03 2015 - 02:50:37) Marvell version: 2014_T3.0p6

Board: RD-NAS-88F6820-DDR3
mvCtrlRevNameGet: Error: Failed to read Revision ID
SoC:   MV88F6810
       running 1 CPUs
CPU:   ARM Cortex A9 MPCore (Rev 1) LE
       CPU 0
       CPU    @ 1332 [MHz]
       L2     @ 666 [MHz]
       TClock @ 200 [MHz]
       DDR    @ 666 [MHz]
       DDR 32 Bit Width, FastPath Memory Access, DLB Enabled, ECC Disabled
DRAM:  512 MiB

Map:   Code:			0x1fed0000:0x1ff95e28
       BSS:			0x1ffef2b4
       Stack:			0x1f9cff20
       Heap:			0x1f9d0000:0x1fed0000
       U-Boot Environment:	0x00200000:0x00280000 (NAND)

NAND:  256 MiB
MMC:   mv_sdh: 0
*** Booting kernel from kernel 1 @0x00000000; run bootcmd_custom;  ***
USB2.0 0: Host Mode
USB3.0 0: Host Mode
USB3.0 1: Host Mode
Board configuration detected:
Net:   
|  port  | Interface | PHY address  |
|--------|-----------|--------------|
| egiga0 |   RGMII   |     0x01     |
egiga0 [PRIME]
Hit any key to stop autoboot:  0 

NAND read: device 0 whole chip
Attempt to read outside the flash area
 0 bytes read: ERROR
Booting from USB ...
(Re)start USB...
USB0:   Port (usbActive) : 0	Interface (usbType = 2) : USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
       scanning usb for ethernet devices... 0 Ethernet Device(s) found
** No boot file defined **
9649885 bytes read in 836 ms (11 MiB/s)
## Booting kernel from Legacy Image at 02900000 ...
   Image Name:   initramfs-5.13.8-mvebu-tld-1
   Created:      2021-09-24   7:54:32 UTC
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    9649821 Bytes = 9.2 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
Wrong Image Type for bootm command
ERROR: can't get kernel image!
Booting from NAND kernel 1 ...

NAND read: device 0 offset 0xe00000, size 0xf00000
 15728640 bytes read: OK
*  kernel: cmdline image address = 0x02000000

Starting kernel ...

Init SATA for SSD ...
Power on HDD1 ...
Power on HDD2 ...

Then, the system proceeds with booting into stock OS. What is wrong? I did notice the following problems, but I can't solve these:
** No boot file defined **
but then, the box recognized a boot file:
## Booting kernel from Legacy Image at 02900000 ...
   Image Name:   initramfs-5.13.8-mvebu-tld-1
   Created:      2021-09-24   7:54:32 UTC
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    9649821 Bytes = 9.2 MiB
...
and uses "empty" load address/ entry point?
   Load Address: 00000000
   Entry Point:  00000000
What's up with my image?
Wrong Image Type for bootm command
ERROR: can't get kernel image!

Can you please help me?

Kind regards,

shaman



Edited 1 time(s). Last edit at 01/10/2022 04:36PM by shaman.
Re: shaman
January 10, 2022 05:18PM
shaman,

Yes, it seems there is something wrong about the rootfs.

1. Mount the USB rootfs on another Linux box (assuming it is mounted at /media/sdb1)

cd /media/sdb1/boot
ls -lart

2. And with the USB rootfs attached, at serial console prompt,

usb start
ext2ls usb 0:1 /boot
ext2load usb 0:1 $load_image_addr /boot/uImage

Please post the log of 2 steps above.

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: Zyxel NAS326 Installation Instruction
January 10, 2022 05:21PM
thistleknot Wrote:
-------------------------------------------------------
> Now that I have this working with the latest
> kernel. I'm booting from a usb3 flash drive. Is
> there a nice way to get this to boot from the rear
> ports?
>
> Could I change usb 0:1 to usb1:1? Or something to
> that effect?
>
> I know usb 3 has different drivers... so I thought
> I'd ask first.
>
> The main reason for me wanting to do this is
> because of the swap file honestly.

Sorry I forgot about this! will come backwith answer a later time.

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: shaman
January 10, 2022 05:33PM
Thanks for your quick answer!

Step 1 results in:
osboxes@osboxes:/media/osboxes/rootfs/boot$ ls -lart
total 51564
drwxrwxrwx 21 root root    4096 Jan 20  2017 ..
drwxr-xr-x  3 root root    4096 Jan 10 22:36 boot-5.13.8
-rw-r--r--  1 root root  205052 Jan 10 22:39 config-5.13.8-mvebu-tld-1
drwxr-xr-x  2 root root    4096 Jan 10 22:39 dts
-rw-r--r--  1 root root 9649821 Jan 10 22:39 initrd.img-5.13.8-mvebu-tld-1
-rw-r--r--  1 root root 7785524 Jan 10 22:39 linux-headers-5.13.8-mvebu-tld-1_1.0_armhf.deb
-rw-r--r--  1 root root 4461631 Jan 10 22:40 System.map-5.13.8-mvebu-tld-1
-rw-r--r--  1 root root 5237781 Jan 10 22:40 uImage
-rw-r--r--  1 root root 9649885 Jan 10 22:40 uInitrd
-rwxr-xr-x  1 root root 5218232 Jan 10 22:40 vmlinuz-5.13.8-mvebu-tld-1
-rwxr-xr-x  1 root root 5218232 Jan 10 22:40 zImage-5.13.8-mvebu-tld-1
drwxr-xr-x  4 root root    4096 Jan 10 22:40 .
-rwxr-xr-x  1 root root 5237717 Jan 10 22:40 zImage.fdt

Step 2 results in:
Marvell>> usb start
(Re)start USB...
USB0:   Port (usbActive) : 0	Interface (usbType = 2) : USB EHCI 1.00
scanning bus 0 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
       scanning usb for ethernet devices... 0 Ethernet Device(s) found
Marvell>> ext2ls usb 0:1 /boot
** Bad device usb 0 **
Marvell>> ext2load usb 0:1 $load_image_addr /boot/uImage
** Bad device usb 0 **

Ok, the problem is definitely the rootfs. But what went wrong, when setting it up?

Kind regards,

shaman



Edited 4 time(s). Last edit at 01/10/2022 05:41PM by shaman.
Re: shaman
January 10, 2022 05:43PM
shaman,

u-boot did not recognize the drive this time:

Quote

scanning usb for storage devices... 0 Storage Device(s) found

usb reset
Do reset a few times to see if it is spun up by u-boot. Sometime the USB drive brand is important for older u-boot (Sandisk is best to use).

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: shaman
January 10, 2022 05:51PM
usb reset comes to the same result.

I know that at the attempts before, there were 2 USB devices found and 1 storage device. Now, it doesn't make any difference, which USB slot I use.

Ok, thank you for your help! I'm setting up a new USB drive!

Kind regards,

shaman



Edited 2 time(s). Last edit at 01/10/2022 06:09PM by shaman.
Re: shaman
January 11, 2022 12:47PM
Ok, problem solved!

The problem was a broken copy&paste:
"load_imagdr=0x02000000" should be "load_image_addr=0x02000000"

Instead of using "usb start", you better have to "run usb_init" in order to execute two mw.l commands. Only this make the USB devices being recognized.

Thank you, bodhi!
Re: shaman
January 11, 2022 04:26PM
> Ok, problem solved!
>
> The problem was a broken copy&paste:
> "load_imagdr=0x02000000" should be
> "load_image_addr=0x02000000"
>

Cool!

-bodhi
===========================
Forum Wiki
bodhi's corner
Author:

Your Email:


Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: