Meilleure Façon De Revenir Pour Supprimer Le Noyau Non Compressé

Voici quelques méthodes simples qui peuvent aider n’importe qui à résoudre le problème du noyau non compressé.

Les balises sont une liste de résultats pour des aspects spécifiques d’un fichier . Cette liste est créée par le chargeur de démarrage précédent avant de charger notre noyau. Le chargeur de démarrage le stocke en tant qu’idées de contact 0x100 et le transmet également pour qu’il soit le noyau via create r2.

La lecture d’un concept de noyau non compressé à partir de la mémoire historique prend plus de temps, même si le temps est noté car aucune décompression n’est requise.

Que le noyau non compressé d’une personne compte ou non comme une victoire en termes de chaussures, chacun de notre temps dépendra de la vitesse à laquelle vous pouvez lire en utilisant une mémoire de sauvegarde donnée et de la vitesse à laquelle vous pouvez lire à partir d’une bonne sauvegarde donnée Mémoire. la vitesse liée à votre processeur (puisqu’une unité centrale plus rapide prend moins de temps à décompresser). Ainsi, avec un processeur rapide et une mémoire d’arrière-plan simple, la compression peut être une autre victoire, et avec une unité centrale lente et une mémoire d’arrière-plan rapide, la compression des informations de données peut être une perte.

La meilleure stratégie à l’avenir consiste à déterminer empiriquement s’il serait préférable pour un nouveau système d’avoir un noyau non compressé ainsi qu’un noyau compressé complet.

noyau non compressé

Remarque : une bonne situation, du programme d’entraînement, est lorsque vous pouvez utiliser DMA pour charger le noyau compressé en fonction des morceaux, décompressant ainsi le single précédent tandis que la chanson suivante est toujours Chargement en cours.

Je suis un débutant au cas où vous voudriez avoir une sorte d’Arche et que vous l’aimez absolument. J’ai récemment commencé à peaufiner la concentration de lancement et, dans le cadre de ce déplacement, à créer mon propre noyau. Maintenant, je veux essayer une image de noyau non compressée. La documentation à ce sujet est vraiment assez concise, mais je pense utiliser les méthodes Kconfig pertinentes que j’ai révélées. Le problème est qu’ils peuvent très bien être presque toujours ignorés pendant la construction, et aussi, je veux demander de quelle approche de compression du noyau j’ai besoin, car le moment de décompresser n’est pas un remède spécifique.

CONFIG_HAVE_KERNEL_GZIP = nCONFIG_HAVE_KERNEL_BZIP2 est égal à nCONFIG_HAVE_KERNEL_LZMA = nCONFIG_HAVE_KERNEL_XZ = nCONFIG_HAVE_KERNEL_LZO équivaut à nCONFIG_HAVE_KERNEL_LZ4 = nCONFIG_HAVE_KERNEL_UNCOMPRESSED = avoirCONFIG_KERNEL_UNCOMPRESSED signifie y

Pourquoi le noyau Linux est-il compressé ?

Le temps nécessaire à la décompression du processeur est inférieur au temps nécessaire à la lecture réelle du système d’E/S. Ce faisant, ils ont tendance à raccourcir le temps de lancement. , Interrupteurs d’éclairage pour la conduite pendant quelques années historiquement. Le noyau Linux compressé lié à l’ancien noyau tient dans un petit disque dur.

J’utilise Arch Build System-Build par mon noyau (dernière version 5.5).

Ceci est un court article – je partagerai mon expérience de la diffusion en continu d’images Linux non compressées, de noyaux tout en véhicule entre les options de compression du noyau, et la compression de ces options n’était pas détaillée. Est

noyau non compressé

Il est parfois utile de prendre une image de noyau non compressée. Bien qu’une image de noyau soit plus haute et prenne plus de temps à écrire au moyen de la mémoire dans la RAM, ces styles de noyau n’ont plus besoin de choisir d’être décompressés, extraits et chargés dans la RAM. Ceci est certainement incroyablement utile pour les systèmes dotés d’un processeur très tortueux ou d’une mémoire RAM très unique en mémoire compressée avec des images non compressées au moment du démarrage. Un cas typique consiste à exécuter des puces de processeur écrites avec des FPGA émulés lors de la conception de la sélection pour commencer avec le silicium survivant. Par exemple, j’ai vu la puce Cortex A15 fonctionner à 12 MHz lors d’une interconnexion Linaro Q2.11 à Budapest. À cette évaluation d’horloge, le chargement d’une image de noyau non compressée peut économiser de nombreuses minutes de temps de démarrage, réduire le temps de développement et de test. Notez qu’écrire une image du noyau dans la RAM avec ces émulateurs matériels est à petit budget, car cela est fait par un émulateur entier particulier à partir d’un rapport spécifié par l’utilisateur avant d’émuler le système hôte.

Qu’est-ce qu’un fichier bzImage ?

image bz. bzImage est un jeton de noyau chargé créé avec make bzImage lors de l’acquisition du noyau. Il est important de vous aider à noter que bzImage n’est pas compacté avec bzip2 !! La ligne téléphonique bz dans bzImage est trompeuse !! Il s’avère que pour “Big Zimage”.

Créer une image de noyau avec peu ou pas de données sur ARM est facile, mais seulement si vous savez où se trouve l’image principale non compressée et quel moyen de faire ! Pour les personnes qui ont déjà fait cela auparavant, je poste ici quelques instructions rapides à ce sujet.

Pour générer une image de noyau non compressée, suivez simplement les instructions générales de make . Le fichier requis est généralement arch versus arm / boot / Image .

Selon le bootloader nécessaire, cela peut être suffisant. Cependant, que vous utilisiez ou non U-Boot, vous devrez probablement mettre cette image dans le package uImage afin que U-Boot connaisse les détails de ce type comme la taille du logo et son contenu réel. le point important est de savoir s’il s’agit de compresser ou non … L’irritation est que vous ne pouvez plus exécuter make uImage qui créera ce conteneur. C’est simplement parce que ARM sur Linux n’a pas d’option de configuration pour enregistrer différents types de noyau non compressé, et une partie du fichier uImage contiendra exactement un noyau compressé.

Est-ce que uImage est compressé ?

Quelle est la différence en eux ? Image : binaire visuel générique du noyau Linux. zImage : Une version auto-extractible condensée unique des photos du noyau Linux. uImage : tout fichier image nécessitant un shell u-boot (installé par l’utilitaire mkimage le plus important), qui contient souvent le type de système d’exploitation et contient toujours des informations sur le chargeur de chaussures.

Par conséquent, vous devez créer uImage mkimage manuellement. Pour ce faire sans avoir à prédire les bonnes déceptions mkimage , je recommande d’exécuter make UImage v = 1 une fois :

$ pour faire V = 1 uImage… Noyau : arc/bras/chaussures/zImage ready /bin/bash/home/mike/linux/scripts/mkuboot.sh -A Arm -O Linux -T Kernel -C -une sorte de None 0x80008000 -elizabeth 0x80008000 -n ‘Linux-3.3.0-rc6-00164-g4f262ac ‘ : g arc / bras par botte / uImageArch / arm – boot / z Nom de l’image : Linux-3.3.0-rc6-00164-g4f262acCréé: Ch , 08 mars 13:54:00 2012Type d’image : perception du noyau Linux ARM (non compressé)Taille des données : 3351272 octets correspond à 3272,73 ko = 3,20 adresse : mb80008000. chargerPoint d’entrée : 80008000 Arc / bras et épaule / botte / uImage est souvent prêt

Ne soyez pas surpris si le message précédent indique que le noyau est à peine compressé (équivalent à -C très peu sur le marché). Si je disais vraiment à U-Boot que l’image serait déjà compressée, tout pensera au déballage et au retour en RAM avant de charger l’image du noyau.

Maintenant que vous savez qu’une majorité de mkimage contrôle ce que vous êtes encouragé à exécuter. Exécutez simplement cette commande dans le dossier Image que vous pouvez de zImage (vous remplacerez probablement immédiatement mkuboot.sh mkimage ) :

$ mkimage -A Range -O Linux -T Kernel -C Vous n’avez pas -a 0x80008000 -electric -n 0x80008000 ‘Linux-3.3.0-rc6-00164-g4f262ac’ -d arch and arm / boot / Image reconnaissez : arc / main / charge versus uImageImage Linux-3.3.0-rc6-00164-g4f262acCréé: jeu, 08 mars 14:02:27 2012Type d’image : sentiment du noyau Linux ARM (non compressé)Taille des données : 6 958 068 octets équivaut à 6 794,99 Ko, ce qui signifie 6,64 adresses : Mo80008000. chargerPoint d’entrée : 80008000

Uncompressed Kernel
Unkomprimierter Kernel
Neszhatoe Yadro
Kernel Descompactado
압축되지 않은 커널
Ongecomprimeerde Kernel
Kernel Sin Comprimir
Okomprimerad Karna
Nieskompresowane Jadro
Kernel Non Compresso