Openmoko u boot6/19/2023 It means the bootloader stores stuff in nonvolatile memory on the PCB and acts different according to what it hides there. These scripts expose a really deadly trap I call "private bootloader state". You don't need any configurability for that if the bootloader can figure out what it's running on and therefore where the memory is and how much there is. Actually, the job of a bootloader is to Load, then Boot Linux. Second, U-Boot thinks it's a good idea to have these environment "scripts", because it's "configurable". Openmoko took it one step further, they mandated a different bootloader binary per PCB revision, so left unchecked there would have been a continuous proliferation of incompatible bootloaders, all basically the same.Īll persistent bootloader private state is EVIL When you have more than a handful of different boards, you are in a maze of incompatible bootloaders. ![]() That should be good though, right? The problem with the config system is that if anything differs from your current config, you must build another incompatible binary with another config and take care of that. ![]() One of the greatest asspains at Openmoko was the various kinds of Hell caused by the U-Boot bootloader and its philosophy, which can be summed up as "I wanna be Linux when I grow up".Ĭonfigure system is a bad alternative to good bootloader designįirst, it has a config system. ![]() Lesson #2: A bootloader is to load and boot Linux On the first day of FOSDEM I sat through a presentation on what could be called another "U-Boot derivative".
0 Comments
Leave a Reply. |