I am working on a build for a Seagate blackarmor nas220. The stock bootloader is an old version of u-boot
U-Boot 1.1.4 (Aug 17 2009 - 10:16:51) Marvell version: 3.4.14
That does not support UBI which as far as I can tell is needed on this NAND device to run openwrt. I have patched u-boot to match the flash partitions I'd like for openwrt and have u-boot and an early version of openwrt running at this point.
When the newer build of u-boot runs the first time I got
U-Boot 2020.07-rc4-00063-g0b3a92dfa3-dirty (Jun 19 2020 - 00:24:44 +0000)
NAS 220
SoC: Kirkwood 88F6281_A0
DRAM: 128 MiB
NAND: 32 MiB
Loading Environment from NAND... *** Warning - bad CRC, using default environment
This results in u-boot setting env based on whatever I compiled in. The trick is it can't see the MAC addr which is in the u-boot environment partition. This means the MAC has to be manually set in u-boot environments to get networking. Ideally I like to keep all the original u-boot env values if I can. Is there anyway to have the new u-boot read the existing parition without a CRC failure?