News for hackers. Stuff that matters.
Re:Android 12 forces you to choose a default browser unless ... by mschuster91 on Tuesday March 15, 2022 @09:09AM (#30684758)
The problem is not the operating system itself, the problem is the secrecy of the manufacturers and the complete lack of standardization in the ARM environment. It's trivial to make a (tiny) operating system for PCs as all the early initialization is done by the BIOS/UEFI and the interface that calls the OS from there is clearly defined. And in theory you don't even need to write hardware-specific drivers for basic system functionality - video, storage access, mouse and keyboard are all abstracted by the BIOS/UEFI. If you want, you can write a "hello world"-capable "OS" in a day or two - it's about 20 lines of ASM code [1] that you put onto an USB stick and that's it.

For ARM, everyone ships their own bootloader that has certain expectations on the hardware built-in (especially flash layout), there are no standards at all that serve as some sort of fallback... it's an utter wild west. And Google seems for whatever reason very reluctant to force the manufacturers as part of the Google Services license to adhere to at least some standards (=following the open source mandate for the kernel and other GPL-licensed parts, publishing device trees, allowing access for people to flash their own OS).

As a result, to even get started on ARM you need at the very least information from the platform vendor how memory is structured, where to place the image, how to flash it, how to bring up CPU cores... and that's only going to give you a serial port at best. You then need to develop at least basic functionality to initialize the graphics processor, and only then the user can actually see something.

[1]: http://mikeos.sourceforge.net/write-your-own-os.html

Re:Android 12 forces you to choose a default browser unless ... by stragies on Tuesday March 15, 2022 @11:36AM (#30686627)
I still want to read up more on the subject, but I was under the impression, that the EFI-support in U-Boot was/is supposed to remove most pain-points from the above list of valid points.

The boot-sequence (I thought) that is becoming the new "standard" is: B1 ... U-Boot -> grub-arm-efi -> whatever_OS.

Re:Android 12 forces you to choose a default browser unless ... by mschuster91 on Tuesday March 15, 2022 @01:08PM (#30687904)
That applies for ARM-based appliances which in most if not all cases run U-Boot... the problem is, in literally every appliance whose firmware I touched for one or the other reason the respective fork of U-Boot was extremely old, and the vendors did not publish the sources at all or lacking the configuration used.

In the mobile sector, most don't ship u-boot but some other bootloader, in this case mostly because u-boot doesn't support GUI operation/output which is vital for a phone.