2017-09-23 2 views
1

J'essaye de construire une image de noyau dans LEDE pour les plateformes Atmel at91 SAMA5D3 et le type compressé est XZ. Une fois uImage réussi, j'ai transféré cette image sur ma carte SD et essayé de démarrer avec. Cependant, le haut de démarrage est toujours échoué avec le message suivant:LEDE: Le type de compression uImage n'est pas supporté

Amorçage uImage ... Le type uImage compressif pas pris en charge SD/MMC: Impossible de charger l'image

J'ai essayé avec l'image de quelques autres et qui fonctionnent bien donc je ne suis pas sûr s'il y a une configuration de noyau que je dois aussi activer ou désactiver.

Quelqu'un peut-il m'aider? Merci!

Répondre

1

Le message semble indiquer que quel que soit le programme de démarrage que vous utilisez pour charger le noyau Linux, il n'a aucune capacité de décompression.
Par conséquent, au lieu d'attendre que le programme de démarrage exécute la décompression, vous devez créer une image de noyau qui se décompose automatiquement, c'est-à-dire une image zImage.
Si vous insistez, vous pouvez envelopper zImage dans un en-tête uImage, mais comme le zImage est auto-extractible, l'image doit être marquée comme "non compressée".

Notez que le type de fichier uImage est produit par l'utilitaire U-Boot mkimage, et ce type d'image est au profit de U-Boot.
D'autres programmes de démarrage peuvent ou non reconnaître une uImage.
Les programmes d'amorçage pour ARM doivent prendre en charge zImage.

Votre article est rare en termes de détails.
Si tout ce que vous avez fait était sélectionnez XZ au lieu de la valeur par défaut gzip pour la Kernel compression mode dans menuconfig du noyau, et a fait construire un zImage, le mkimage a été utilisé avec des arguments erronés.
Un zImage dans une image doit être marqué comme "non compressé".

+0

Merci @sawdust! Je l'ai eu, mais y at-il une configuration du noyau pour marquer le type uImage comme non compressé? – user4826904

+0

* "Y at-il une configuration de noyau pour marquer le type" non compressé "?" * - Non, car la configuration du noyau spécifie comment le noyau * doit être construit, et la commande ** mkimage ** est exécutée * après * l'image du noyau (et zImage) a été construite. Étudiez la page ** man ** pour la commande ** mkimage **. Le type de compression utilisé est un argument de la commande ** mkimage **. ** Mais peut-être que vous posez la mauvaise question de suivi. ** Savez-vous exactement quel type d'image de noyau vous avez? – sawdust

+0

Merci. J'ai un uImage pour mon image du noyau, le message d'erreur s'affiche après que la magie a été vérifiée. Alors peut-être que je dois trouver où 'mkimage' est exécuté et vérifier les arguments à droite? – user4826904