Say, how come this? I’ve installed Linux-based OSs onto laptops without much care in the world, yet I feel like trying a custom ROM on Android requires me to check for ROM compatibiliy with my device and brings risk of bricking
The pc ecosystem is modular by design. The kernel will figure out itself the available hardware, moreover there are only two major CPU manufacturers (in the pc space of course), which means you have only two platforms to support.
Mobile phones instead are not modular, they use SoC. While most common socs are from Qualcomm and mediatek, there are a lot more smaller manufacturers. Plus, even if most often they use the same reference design for compute cores, the rest of the soc is often custom and wildly different from others. All of this to say that the kernel needs to already know exactly how the specific soc of the device works, instead of figuring it out on the fly. Which is why you need to check compatibility.
The brick thing instead is because the bootloaders in these devices are usually very locked down, so sometimes you need to replace the bootloader with a more open one, with all the risks that this entails
I think i’ve read something about (pseudo-)RISC architectures not allowing universal drivers for whole families, each must exactly match to the hardware.
Say, how come this? I’ve installed Linux-based OSs onto laptops without much care in the world, yet I feel like trying a custom ROM on Android requires me to check for ROM compatibiliy with my device and brings risk of bricking
The pc ecosystem is modular by design. The kernel will figure out itself the available hardware, moreover there are only two major CPU manufacturers (in the pc space of course), which means you have only two platforms to support.
Mobile phones instead are not modular, they use SoC. While most common socs are from Qualcomm and mediatek, there are a lot more smaller manufacturers. Plus, even if most often they use the same reference design for compute cores, the rest of the soc is often custom and wildly different from others. All of this to say that the kernel needs to already know exactly how the specific soc of the device works, instead of figuring it out on the fly. Which is why you need to check compatibility.
The brick thing instead is because the bootloaders in these devices are usually very locked down, so sometimes you need to replace the bootloader with a more open one, with all the risks that this entails
Yeah, I really wish it wasn’t like this, but replacing a phone’s OS is a lot more like flashing a custom bios than installing an OS on a hard drive.
I would think the pre-known hardware configuration would make boots near instant. I never understood why this isn’t so.
I think i’ve read something about (pseudo-)RISC architectures not allowing universal drivers for whole families, each must exactly match to the hardware.