sbsky33A mobilos felület Mir-t használ, és kb. 0 grafikus desktop alkalmazás kompatibilis vele. Persze a processzor architektúrája is problémát okozhat, bár a tárolóban levő nyílt forráskódú programok java részének azért van ARM-re fordított változata is (amely architektúrának is több, egymással nem kompatibilis generációja létezik). De alapvetően a PC-kben és a mobilokban levő processzorok nem kompatibilisek egymással, így a futtathatóság nem éppen magától értetődő.
A PC-k rendelkeznek egy úgynevezett alapszoftverrel, ezt nevezik BIOS-nak, illetve újabban UEFI-nek. Ezek egy szabványos felületet nyújtanak az operációs rendszereknek, hogy azok be tudjanak töltődni. Ezzel szemben a mobiltelefonok nem rendelkeznek semmi hasonlóval ami általánosan megoldhatná a rendszerbetöltést, hanem hardverspecifikus kódot kell írni gyakorlatilag minden egyes készülékhez, ez a bootloader. Szóval amennyiben ez a szoftveres felület zárt (vagyis nem lehet átírni a kódot), akkor a külső fejlesztők nem tudnak saját rendszert indítani (de egyes esetekben még hardveres védelem is van ami ellenőrzi, hogy nem történt-e módosítás). Illetve mivel minden egyes mobilt külön kell támogatni, nem lesz senki aki a több ezer variánssal foglalkozni fog.
Ráadásul a különféle eszközök nagyszámú hardveres varianciával rendelkeznek, és igen nagy feladat lenne egyetlen rendszerben megoldani mindegyik megfelelő működését úgy, hogy a magasabban levő szoftveres felületek is maximálisan igazodjanak ezekhez (lásd pl. a desktop rendszereket).
Ezért van az, hogy gyakorlatilag minden egyes modell saját, egyedi képfájlt kap. A CyanogenMod által támogatott eszközöknek is van egy közös kódjuk, de amellett mindegyikhez van egy-egy eszköz-specifikus repo is, amikben található a bootloader, a kernel és a többi, hozzájuk szabott kód.