Somehow this does not work for me. I wonder what I have missed.
I have Debian running on my Zero 3E with SD Card 1 (mmcblk1)
radxa@radxa-zero3:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
mmcblk1 179:0 0 28.9G 0 disk
├─mmcblk1p1 179:1 0 16M 0 part /config
├─mmcblk1p2 179:2 0 300M 0 part /boot/efi
└─mmcblk1p3 179:3 0 28.5G 0 part /
zram0 254:0 0 489.6M 0 disk [SWAP]
radxa@radxa-zero3:~$ ls
openwrt-rockchip-armv8-radxa_zero-3e-ext4-sysupgrade.img.gz
Then I plug in SD Card 2 (sdb) using a card reader:
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 1 59.5G 0 disk
├─sdb1 8:17 1 16M 0 part
├─sdb2 8:18 1 300M 0 part
└─sdb3 8:19 1 4.2G 0 part
mmcblk1 179:0 0 28.9G 0 disk
…
And I used your command to flush the SD Card 2:
radxa@radxa-zero3:~$ sudo bash -c ‘gzip -dc openwrt-rockchip-armv8-radxa_zero-3e-ext4-sysupgrade.img.gz > /dev/sdb’
[sudo] password for radxa:
gzip: openwrt-rockchip-armv8-radxa_zero-3e-ext4-sysupgrade.img.gz: decompression OK, trailing garbage ignored
radxa@radxa-zero3:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 1 59.5G 0 disk
├─sdb1 8:17 1 16M 0 part
└─sdb2 8:18 1 104M 0 part
mmcblk1 179:0 0 28.9G 0 disk
…
Finally I shutdown the device reboot from SD Card 2, but the device stuck on solid green light.