Je veux utiliser une image de noyau non compressée et démarrer le BeagleBoard. En général, j'utilise uImage pour démarrer le noyau qui est au format compressé. Comment utiliser une image de noyau non compressée?
Je veux utiliser une image de noyau non compressée et démarrer le BeagleBoard. En général, j'utilise uImage pour démarrer le noyau qui est au format compressé. Comment utiliser une image de noyau non compressée?
Réponses:
Pour autant que je sache, U-Boot ne peut pas démarrer directement une image ELF «brute» ( vmlinux
). Vous devez le transformer au uImage
format, qui contient le comprimé vmlinux
plus quelques octets supplémentaires de métadonnées qui décrivent l'adresse de chargement du noyau. U-Boot FAQ 2.19 explique comment générer uImage
; c'est assez simple, en utilisant l' mkimage
utilitaire dans l'arborescence des sources U-Boot:
mkimage -A arm -O linux -T kernel -C gzip … -d vmlinux uImage
(Vous devrez peut-être des paramètres supplémentaires indiquant l'adresse de chargement.)
Si vous utilisez Buildroot, sélectionnez un uImage
fichier de sortie du noyau ( BR2_LINUX_KERNEL_UIMAGE=y
). Compilez normalement et Buildroot créera également un vmlinux
fichier dans une étape intermédiaire. Bien que le vmlinux
fichier ne soit pas copié dans le /output/images
répertoire, il peut être trouvé dans ./output/build/linux-custom/
(ou en exécutant find . -name "vmlinux"
).