• # Standardiser le boot sur équipements embarqué/arm.

    Posté par . En réponse au journal Petitboot sur ARM, le bon, le bad et le ugly. Évalué à 10.

    Il y a aujourd'hui plusieurs standard en compétition pour standardiser la séquence de boot sur ARM.
    La société ARM pousse avec Linaro pour implémenter la spec UEFI (ou la sous spécification d'UEFI qui est Embedded Base Boot Requirements pour être précis).
    C'est très certainement le "sens" de l'histoire, ARM voulant de plus en plus se positionner aussi dans le monde des serveurs, on veut unifier avec le monde de X86 d'où l'UEFI et aussi de plus en plus de board avec support ACPI à la place des "Device tree".
    Pour une état des lieux du support U-boot associé, ce billet de blog est un bon point de départ :
    https://www.linaro.org/blog/journey-to-systemready-compliance-in-u-boot/

    Je suis pas sur que l'embarqué en sorte gagnant, la moindre spécification UEFI fait 2000 pages et tu vas te retrouver avec des "EFI Stub" à charger et qui tournent en fond et qui seront certainement de beau binaire boite noire.
    Je préfère encore la complexité d'un build custom par board u-boot avec les bon dts à charger. Ce qu'on va gagner en "simplicité (just work)", on va le perdre en capacité à bidouiller.

    Heureusement un autre standard tente de se faire sa place en se reposant sur les mécanisme existant mais récent d'u-boot (FIT et bootflow), il s'agit de "Verified Boot for Embedded" : https://talks.osfc.io/media/osfc2022/submissions/ZTGCJG/resources/osfc22_VBE_-_Verified_Boot_for_Embedded_1BUma3C.pdf

    Ma préférence va pour ce second "standard", j'espère qu'il sera de plus en plus connue et utilisé par les différents vendeurs de SOC.
    Après quand je vois le temps qu'il a fallut pour que le format FIT soit connue et utilisé, la route est encore longue.

    Un autre "standard" a noter est coté systemd (maintenant UAPI) concernant l'auto-discovery de partition : https://uapi-group.org/specifications/specs/boot_loader_specification/