while tinkering with a Zyxel NSA325 with stock UBoot and a working Arch Linux ARM installation, I tried to update UBoot to latest version using
$this->bbcode_second_pass_code('', 'pacman -S uboot-nsa325')
and I quickly discovered that the package installation isn't working as described here https://archlinuxarm.org/forum/viewtopic.php?f=53&t=8857&start=50#p48421.
So I quickly switched to trying to installed as described here https://archlinuxarm.org/forum/viewtopic.php?f=53&t=8857&start=50#p48437 but I almost surely forgot to execute the command
$this->bbcode_second_pass_code('', ' 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)')
and once rebooted the NSA325 was bricked: no signal on the serial console.
I downloaded and unpacked uboot-nsa325 package and did a UART Boot with kwboot like described here https://forum.doozan.com/read.php?3,12381,17420#msg-17420 (but with UBoot from the ALARM package.
Once the NSA325 booted and from UBoot I used a FAT formatted USB key with the same UBoot to flash it to the NAND using fatload and nand write (do not remember exact commands anymore).
UBoot was finally restored and working, but missing environment and showing the
$this->bbcode_second_pass_code('', '*** Warning - bad CRC, using default environment')
message when powering up.
I ignored that and, on a laptop with XUbuntu I worked my way through this steps:
- inserted a USB key
- formatted with a single primary partition with ext2 (actually tried ext4 first but ALARM UBoot didn't like it

- mounted it under /tmp
- unpacked boot image and rootfs taken from here http://fl.us.mirror.archlinuxarm.org/os/nsa3x0/ onto the key
- inserted into one of the rear NSA325 ports
- switched NSA325 on
- watched NSA325 loading boot image and then booting root fs
Everything seemed fine, but the missing UBoot environment means ethaddr isn't set and the booted ALARM does not get an ip address since the eth0 MAC address is 00:00:00:00:00:00 as shown by the "ip addr" command output:
$this->bbcode_second_pass_code('', '
[root@alarm ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether [color=#FF0000][b]00:00:00:00:00:00[/b][/color] brd ff:ff:ff:ff:ff:ff
')
Now I actually have no idea how to sort things out and get things properly set: anyone willing to help?
Thanx for your support!
Paolo