KIRGO Posté(e) 13 avril 2013 Share Posté(e) 13 avril 2013 (modifié) Bonjour, Ayant fait un peu de linux embarqué en cours, je me suis intéressé à titre personnel au boot d'android. Mon objectif serait de rajouter une entrée dans le bootloader d'android (lorsqu'on démarre en fastboot mode, rajouter d'autres options que "start", "recovery", "restart bootloader"...). Ainsi, on pourrait faire réellement du dual boot. J'ai donc récupéré le code source d'android, mais je n'arrive pas à trouver le code source du bootloader, par exemple pour le nexus 4. J'ai trouvé dans le code source le morceau de code chargé de générer les informations qui apparaissent sur l'écran du bootloader: l'appareil, la version du bootloader, ce genre de chose, mais pas la configuration du bootloader en lui-même. Il n'existe visiblement aucun fichier similaire au menu.lst de grub legacy par exemple. Quelqu'un dispose-t-il de plus d'informations sur le bootloader du nexus 4? J'aimerais trouver son code source, merci d'avance =) KIRGO EDIT: Je suis tombé sur un petit sujet sympa sur xda, mais je ne sais pas si je vais réussir à décompacter le .img, j'ai déjà réussi avec le boot.img avec des scripts en perl, mais là... Modifié 13 avril 2013 par KIRGO Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
KIRGO Posté(e) 16 avril 2013 Auteur Share Posté(e) 16 avril 2013 (modifié) Bon, j'ai finalement réussi à décompacter ce fichier-là: bootloader-mako-makoz10o.img, je vous fais part des infos que j'ai trouvé à propos du bootloader du coup: Le header est composé d'une chaîne de 8 caractères, suivi de 3 Unsigned int : # char magic[bOOTLDR_MAGIC_SIZE]; # unsigned int num_images; # unsigned int start_offset; # unsigned int bootldr_size; Le BOOTLDR_MAGIC_SIZE vaut 8, pour contenir la string 'BOOTLDR !' La taille totale du header vaut donc 20 bytes (1*8 + 3*4) En ouvrant le bootloader.img en hexadécimal, on a donc les informations suivantes : num_images = 6 start_offset = 512 bootldr_size = 2240208 Le header est suivi par des informations concernant chaque image # struct { # char name[64]; # unsigned int size; # } img_info[]; La structure totale vaut donc 68 bytes, on en déduit donc les informations suivantes : Les 6 images se nomment : sbl1 sbl2 sbl3 tz rpm aboot Pour cette version du bootloader, les valeurs de ces différentes parties sont les suivantes: (attention, elles sont spécifiques au fichier bootloader-mako-makoz10o.img!!) taille de sbl1 : 94440 taille de sbl2 : 145448 taille de sbl3 : 1430152 taille de tz : 190572 taille de rpm : 144892 taille de aboot : 234704 La somme de toutes ces parties fait bien 2240208 La taille totale du fichier bootloader-mako-makoz10o.img vaut 2240720, le header fait donc bien 512 comme cela est indiqué dans la variable start_offset Je finalise mon script Perl (mon premier script en Perl xD) et je le diffuserai, si jamais ça peut servir à quelqu'un. Le seul truc vraiment intéressant que j'ai pu trouver en explorant tout cela, c'est à propos de la partie "aboot": il existe en effet un bootloader développé par Google et par les personnes du forum Code Aurora, qui a été développé pour la tablette Touchpad de HP à partir du "little kernel" de Travis Geiselbrecht. Ce bootloader s'appelle "moboot" pour Mobile Open Bootloader, et il avait pour ambition d'être utilisé pour d'autres appareils. Depuis, grand silence. Je suis tombé dessus, car il existe un fichier "aboot.c" dans l'arborescence de ce projet, je vous laisse vous amuser: https://code.google..../source/browse/ Modifié 17 avril 2013 par KIRGO Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité Américo Da Silva Posté(e) 13 août 2013 Share Posté(e) 13 août 2013 (modifié) salut, un sujet qui m'interpelle au plus haut point en ce moment. En effet, voulant flasher une rom cyanogenmod dernièrement, quelle ne fût pas ma surprise en apprenant que mon bootloader est indéverrouillable!!! Réponse d'un agent infiltré du constructeur ;) Les mobiles avec roms opérateur n'ont en effet pas de bootloader dé-verrouillable. Nous ne pouvons pas intervenir, c'est une demande de leur part. Si vous souhaitez utiliser votre smartphone de manière avancée il est conseillé de s'orienter vers des modèles nus, qui eux seront ouverts. Pour répondre à vos questions, nous ne sommes pas autorisés à effectuer de changement de statut à l'heure actuelle. Je n'ai pas d'informations concernant un éventuel changement de cette politique, mais le plus simple serait de leur demander directement. Les ententes ne se font pas entre Sony et les opérateurs, mais bien entre les opérateurs et leurs clients, de notre côté si on nous demande d'ouvrir les parcs nous n'avons rien contre. Que pensez de cette “politique" qui ne me permet pas d'utiliser mon appareil librement et qui m'attache définitivement à un opérateur (y compris hors simlockage et hors garantie évidemment)? Que pensez d'un constructeur qui renvoie l'utilisateur chez l'opérateur alors que cela concerne un problème matériel?Je comprends que l'opérateur veuille protéger son logiciel mais moi, je ne veux pas de son logiciel (pas plus que celui du constructeur), je souhaite juste récupérer le matériel que j'ai acheté. auriez-vous une solution pour que je puisse utiliser mon matériel librement et supprimer ou modifier ce bootloader non-déverouillable? Merci de vos réponses. Cheers. PS: voici un lien pour déverouiller les bootloaders déverouillable (et oui, ça ne s'invente pas) http://unlockbootloader.sony et un autre, qui propose même une rémunération pour cette mission impossible http://forum.xda-dev/sht=2287897 :D Modifié 16 août 2013 par Américo Da Silva Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Delewer Posté(e) 28 septembre 2013 Share Posté(e) 28 septembre 2013 Des nouvelles ?? Ce sujet m'intéresse vraiment ! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité Américo Da Silva Posté(e) 29 septembre 2013 Share Posté(e) 29 septembre 2013 Oui c'est même étrange, le noyau d'amorçage (bootloader) devrait passionner tout le monde car c'est le modérateur du système (si l'on compare avec la hiérarchie d'un forum) et personne ne s'y intéresse, voir ne connais même pas son existence Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.