• [^] # Re: réponse aux questions

    Posté par (site web personnel) . En réponse au message Etude d'un système ARM et reverse. Évalué à 3.

    Ayant en ma disposition u-boot, uImage (zImage + vmlinux), j'aimerai, à l'aide de ces fichiers, comprendre ce qu'il se passe pendant le boot, cad ce qu'ils font exactement, ce qu'ils chargent. Pour pouvoir après modifier un kernel déjà existant (RPI par exemple, simplement celle que j'ai dans mon tiroir) et de "merger/adapter" certaines fonctions spécifiques qui seraient chargé en bas niveau.

    Tu peux lire le code source du noyau ou de u-boot (et éventuellement leur doc ou des livres à ce sujet), ce sera plus digeste que d'essayer de décompiler pour comprendre.

    De plus, le vendeur de ta carte doit te mettre à disposition les correctifs qu'ils ont apporté à U-boot et au noyau pour le rendre utilisable sur la carte. Donc tu pourrais voir ce qui est réellement liée à la plateforme que tu utilises.

    De manière générale, le point d'entrée est situé sur le raccourci "init" ? Cad uImage vient tapé dans Init ?

    Oui, cela peut être changé au démarrage en envoyant un paramètre au noyau pour lui demander de lire un autre logiciel par défaut. Mais en général c'est le programme "init".

    Dans le noyau 4.7 tu peux le voir par exemple ce qu'il cherche par défaut : https://elixir.bootlin.com/linux/v4.7/source/init/main.c#L969

    Pour rejoindre ce que dit Arvil, au final, si je charge le kernel du RPI, standard, (qui englobe plus de fonctionnalités que nécessaire pour mon ancien système donc), cela peut il fonctionner avec mon ancien rootFS ? En mode dégrader probablement? Ce qui m'évite de "decompiler" le l'ancien noyau... (j'allais essayé dans la semaine

    Ça peut fonctionner, oui.
    Globalement le seul risque est que le logiciel que tu cherches à utiliser dépende trop du matériel, et donc éventuellement de certains pilotes qui n'existent plus ou qui ont changé.

    Si c'est le cas, le noyau plus récent et différent du RPi peut le rendre peu fonctionnel. Sinon pas de raisons particulières que cela ne fonctionne pas.