This isn’t a rip on RISC-V but it’s something I notice a lot with ARM and RISC SBCs compared to x86, which seems to support Linux, Windows, MacOS regardless of the device specs.

On other platforms, the developers have to build special iso images for each device, even though the underlying OS supports the whole architecture.

If I wanted to move to a new device (say, upgrade my Raspberry pi 4B to an Orange Pi, or other RISC-V alternatives) I’d have to ensure the new device had support from my OS choice, download a new image for it, and manually port stuff across. (as far as I can tell).

What’s the technical reason that x86 can configure the OS on the fly but ARM/RISC can’t?