なぜLinuxは、各ディストリごとにソースコードを
コンパイルしないといけない仕組みなのか理解に苦しむ。

CPUが同じなら、同じコードが動くはずだろう?
APIが違うわけでもあるまいし。