For x86_64 architecture CPU, no matter it is made by Intel, AMD or VIA. The software for this architecture can run on it properly.
However, as for arm64/aarch64(the difference of arm64/aarch64 is here), there are a lot of vendors. For Linux distributions for arm64/arch64 there is a lot of orientation.
Here is the list of arm support platforms of Arch Linux ARM.
But for Debian, there is no such many choice(only arm64 and for little endian there is only armel).
Q1. What is the difference of those support platform of Archlinuxarm?
In order to figure out Q1, I use my mobile phone to try those. My mobile phone's architecture is arm64v7el (4*ARMCortex-A73+4*ARMCortex-A53). I download Archlinuxarm for armv7 - Raspberry Pi 2. And extract the .tar.gz file to a folder in Termux home directory.
Then I open Termux and typed:
proot -r /path/to/my/archlinuxarm/rootfolder/
Unfortunately, it is said that shell interpreter is not executable(in different architecture).
Maybe, it is because the difference of Endian. However, for armv8, there is a download option of archlinuxarm which is Generic.
Q2. If I install a archlinuxarm system for A platform to B platform. Is it just can't be maximum optimized or completely not compatible?
Q3. Are there distribution for different platform just different in their driver or the difference of parameters when compiling Linux kernels?
Q4. What makes me confused is the reason why archlinuxarm community doesn't provide stage rootfs tarball for only arm64 armel and etc. instead of different vendors' different products? Is it means that for example instruction set in DragonBoard 410c is different from Raspberry Pi 3? Or in other word, If I install Archlinuxarm for DragonBoard 410c to Raspberry Pi 3, What will happen? Can it boot properly?