Ao contrário dos PCs baseados na arquitetura x86, os dispositivos ARM não possuem um método padronizado de inicializar um sistema operacional. Muitas vezes, em dispositivos ARM, o bootstrapping é criptograficamente bloqueado para um sistema operacional específico desenvolvido por um fabricante e, portanto, deve ser desbloqueado para permitir a inicialização de outros sistemas operacionais. Ao contrário dos PCs, esses dispositivos raramente permitem a inicialização de dispositivos de armazenamento externos, o que significa que uma instalação requer "flash" ou a alteração do conteúdo flash embutido com um novo sistema operacional. Isso também não é padronizado de um sistema para outro.
Além disso, os dispositivos ARM não possuem interfaces de hardware padronizadas, como PCs, e, portanto, cada sistema operacional deve ser adaptado para esperar determinados recursos de hardware. Os PCs foram projetados com a detecção automática de hardware em mente, para que os sistemas operacionais pudessem rodar sem problemas em uma ampla variedade de configurações de hardware. Os dispositivos ARM foram projetados para aplicativos específicos e para dispositivos móveis e, portanto, não possuem o mesmo conjunto de padrões de hardware que os PCs, necessitando de uma personalização de um sistema operacional para quase todos os conjuntos de hardware ARM.