Skip Navigation

Why don't cell phones have BIOS?

Why, instead of safely entering a BIOS setup, does the cell phone brick when installing the Custom ROM wrongly? Wouldn't this protection be better for users? I mean, this could be done through ADB.

Also, do you think it's possible that this way of doing things will come to the computer, with ARM hoping to gain a good share of the market and all?

44 comments
  • They all do, but it's usually custom made by the SoC vendor. Although I wish we had a standard like UEFI on phones..

  • ARM doesnā€™t specify a standard firmware interface like x86 PCs do.

    I mean, they could, but ARM comes from a different era, where interoperability isnā€™t a requirement and devices are disposable instead of upgradeable.

    There no incentive, no IBM PC to be compatible with, not even an Apple, Macintosh, Conmodore Amiga or Atari ST to make peripherals for. ARM devices, even the rPi, are one-and-done.

  • Because ARM was built to be cheap.

    BIOS nowadays is basically a bootloader shim in EEPROM. The majority of the ARM ecosystem wanted flexible and cheap devices. This promoted the use of a small ROM loader burned into the device and a removal of basically all EEPROM from the SoC.

    The flexibility came back through the use of a secondary bootloader layer normally stored in the devices primary storage. Most manufacturers use u-boot or coreboot on an SD card or eMMC. Android standardized this as part of their partitioning scheme. All devices have a dedicated bootloader partition housing the secondary bootloader and any additional boot artifacts.

    Then phones became wildly expensive and invalidated most of this.

    Also, do you think it's possible that this way of doing things will come to the computer, with ARM hoping to gain a good share of the market and all?

    It already has. Most of what ARM is doing to be cheap was already pioneered by PowerPC.

    ARM EBBR specifications attempt to standardize this boot flow somewhat, introducing a standard EFI shell in u-boot. This does not solve the dependency on the secondary bootloader, and it doesn't prevent people from shooting themselves in the foot. It just makes distro interactions with the secondary bootloader more standardized.

44 comments