Big news from ARM over the past few days. The processor architecture, once strictly an embedded affair for low-power devices, is going big. Not only has ARM announced it's going 64bit, HP has announced it's going to build servers with ARM processors. It seems all the pieces are now in place for ARM.

This means you can't create one generic OS for ARM that works on all ARM systems and continues to work for future ARM systems. Instead you end up creating a special version of the OS to suit each specific ARM system

Which really is not a problem, since nearly no users do install OS. Users use whatever the PC/device comes with, they only install applications. And sometimes even accept (vendor) provided OS updates.

And the OS handles the hardware abstraction, making the hw differences a non issue for the applications.

It's not the only problem though. For PCs (desktop/server) hardware there's a bunch of standards relating to hardware that includes motherboard form factors, power supplies, cases, etc.

Form factors and power supplies are trivial. And the tighter integration of ARM devices with less need for external circuitry, will make the motherboard PCB much simpler than the densely populated x86 boards.

Adding one or more standardized buses like PCI, PCI-E variants are also fairly trivial. You can actually get loads of ARM boards with such slots today.