
So you're proposing to use Linux to copy U-Boot environment. But on a new board (picked from the shelf) I don't have Linux and I should set some U-Boot variables to run it.
So you might prefer setting them as predefined in you configuration file, so when the u-boot binary finds no environment on flash (crc error) and it will use those values, until you saveenv new values.
I was thinking of a "U-Boot only" procedure, like md.b (to run on the source board) and cp.b (to run on the destination board).
You can unprotect, erase, and cp.b to the flash sector(s), once you have the binary image of the environment. You can extract such image from /dev/mtd in the running board and then use tftp (as you suggested) on the new board.
hope this helps /alessandro