Please also include disabling ipv6 at first boot. It is so difficult to find the IP of the DHCP assigned new system among the long list of devices on my home routers, and ipv6 makes that even more complicated. Additionally, folks often want to wget software from github, and do not know to use wget -4 when the wget times out due to ipv6 incompatibilities.
Another interesting difference setting up the Rock4SE was the different way various OS treat the imaged Rock uSDcard. On my Mac, after flashing with balenaEtcher, the card does not auto mount when re-inserted to the card reader. (This was disconcerting because I could not tell what was on the card after imaging it.) Using “diskutil list” I was able to see the partitions but without auto mounting I could not write any pre-configuration to the card. Inserting the card to my Linux system, did auto mount several partitions and I could have preconfigured things like the disable ipv6 custom rule I added later, or perhaps have preconfigured WiFi if I had known where to apply my changes. (I had never before used the nmcli dev wifi command, but once I found out what ethernet IP was assigned, I was able to ssh in and configure wifi using the wiki instructions.)