Maison / Tutoriels Windows / Un aperçu des fonctionnalités du noyau Android. Mise à jour du noyau Linux vers une nouvelle version Firmware sur le noyau 3.10 65 w3bsit3-dns.com

Un aperçu des fonctionnalités du noyau Android. Mise à jour du noyau Linux vers une nouvelle version Firmware sur le noyau 3.10 65 w3bsit3-dns.com

Utilisateurs appareils mobiles pas toujours satisfait du travail et des capacités de leurs gadgets. Pour cette raison, les utilisateurs recherchent la meilleure façon de flasher le noyau système opérateur Android. D'une part, une telle action peut être facilement réalisée avec votre tablette ou votre smartphone. Des milliers d'utilisateurs ont réussi à flasher le noyau sans aucune difficulté ni problème. Mais, d'un autre côté, toute erreur au cours de ce processus peut entraîner, parmi lesquelles l'échec du gadget et la nécessité d'un service coûteux. À différentes étapes, il existe un risque de choisir la mauvaise version du firmware du noyau, qui est créée par des développeurs non qualifiés, ou qui ne correspond pas à votre appareil mobile. Nous vous recommandons d'être extrêmement prudent lorsque vous effectuez des actions qui modifient la partie logicielle de l'appareil à un niveau bas. Après avoir réussi à flasher le noyau, beaucoup ont le sentiment qu'ils tiennent un tout nouveau périphérique entre leurs mains. Les utilisateurs avancés peuvent ainsi personnaliser le gadget en fonction de leurs besoins et de leurs préférences, tout en acquérant de nouvelles connaissances et expériences sur les technologies mobiles modernes.

Le noyau du système d'exploitation Android et son firmware

Qu'est-ce que le cœur d'un appareil mobile ?

Le noyau du système d'exploitation est la base Logiciel, qui contrôle le matériel de l'appareil. Les principaux paramètres de tout gadget en dépendent. Il convient de noter qu'il se compose de trois composants interdépendants - le noyau Linux, machine verticale Dalvik et divers services et bibliothèques de bas niveau. Si nous parlons de firmware personnalisé, seuls deux composants sont affectés qui vous permettent d'ajouter de nouveaux service système, optimiser les paramètres existants et modifier l'environnement graphique.

Ceux qui souhaitent installer le noyau sur Android doivent comprendre qu'il existe une différence entre les concepts de noyau personnalisé et de firmware personnalisé. Ce dernier est une version non officielle du logiciel. Firmware personnalisé développé par une équipe de spécialistes sous appareils spécifiques. Le noyau personnalisé est basé sur le noyau Linux, représentant sa version non officielle. Souvent, un noyau personnalisé est fourni avec le micrologiciel. Mais il peut être installé séparément après avoir changé le firmware. En fait, il ne remplace pas le noyau natif de l'appareil mobile, qui est le but ultime d'une telle opération.

Flasher le noyau Android est principalement fait pour augmenter le temps de fonctionnement de l'appareil de plusieurs heures en ajustant les paramètres de consommation d'énergie. C'est peut-être la principale raison pour laquelle les utilisateurs effectuent des transformations complexes du logiciel de leurs gadgets. Le firmware vous permettra également de changer la puce vidéo sans conséquences pour votre smartphone ou votre tablette. Les utilisateurs avancés ajustent ainsi l'écran, changeant sa reproduction des couleurs, sa sensibilité. Le micrologiciel du noyau vous permet d'améliorer le son de l'appareil, de mettre à jour les pilotes et d'implémenter la prise en charge des gadgets externes non standard.

Avant de flasher le noyau, nous vous recommandons de vous assurer que vous avez choisi la bonne version, qui a été créée par des développeurs expérimentés. De plus, il est important de s'assurer qu'il correspond à la version de votre firmware Android. Il est conseillé de lire les critiques des personnes qui ont réussi à installer la version appropriée du noyau sur leur téléphone mobile. Les avis peuvent contenir des informations importantes sur les problèmes pouvant survenir lors du micrologiciel ou du fonctionnement ultérieur de l'appareil.

Micrologiciel du gadget via Fastboot

Vous pouvez flasher votre appareil Android à l'aide de Fastboot. Mais vous devez d'abord installer l'utilitaire sur votre gadget. Il existe deux versions de ce programme. La première consiste à télécharger Fastboot en combinaison avec l'officiel Programme Android SDK. La deuxième version implique le téléchargement de l'utilitaire séparément.

Nous vous recommandons de vérifier si votre appareil mobile détecte un ordinateur portable ou un ordinateur. Pour ce faire, vous devez exécuter. Après téléchargement et installation sur un ordinateur, un ordinateur portable fonctionnant sur un système d'exploitation Système Windows, utilitaires de démarrage rapide et connecter un smartphone, vous devez ouvrir la ligne de commande. Pour ce faire, ouvrez Recherche. Sous Windows 8, il vous suffit de pointer le curseur de la souris sur le côté droit de l'écran et de sélectionner la section appropriée. Dans la recherche, vous devez entrer "cmd", après quoi vous verrez ligne de commande. L'appareil doit être mis en mode micrologiciel. Entrez ensuite une commande qui testera l'interaction entre l'ordinateur et l'appareil mobile :

périphériques de démarrage rapide

Si tout fonctionne, vous devez charger la version correcte du firmware du noyau boot.img. Nous ne recommandons pas de flasher le noyau micrologiciel d'origine, car cela peut entraîner des problèmes de fonctionnement du smartphone. Le fichier doit être enregistré sur une partition pré-créée sur le lecteur C appelée "Android". Après cela, vous devez démarrer votre appareil mobile dans Fastboot et le connecter à votre ordinateur. Le message "Fastboot USB" apparaîtra à l'écran.

  • cd C:\Android.
  • fastboot démarrage flash boot.img.
  • cache d'effacement de démarrage rapide.
  • redémarrage rapide.

Il est très important de saisir tous les mots correctement, en tenant compte de la casse et des espaces. La commande cd ouvre le dossier requis, qui contient les fichiers requis. Après cela, un clignotement se produit. La commande fastboot erase cache supprime la partition de cache. La dernière commande - fastboot reboot redémarre l'appareil du mode micrologiciel au mode normal. Si vous avez correctement effectué toutes ces étapes, le processus sera couronné de succès.

Micrologiciel utilisant ClockworkMod Recovery

ClockworkMod Recovery (ou CWM en abrégé) est un système de récupération qui est utilisé à la place de la récupération d'origine. CWM vous permet d'installer nouveau micrologiciel sur un appareil mobile, flasher le noyau, faire sauvegarde fichiers et restaurer le shell. Un tel système peut fonctionner avec des fichiers de mise à jour du micrologiciel au format zip. ClockworkMod est installé dans , remplaçant la récupération d'usine. Pour lancer CWM, vous devez connaître la combinaison de touches adaptée à votre gadget. Dans la plupart des cas, il s'agit d'une combinaison des boutons de réduction du volume et de mise sous tension, qui doivent être enfoncés lors du démarrage de l'appareil.

Pour flasher le noyau, téléchargez l'archive avec l'extension zip. Il doit contenir le dossier META-INF. Ensuite, il y a deux options. Dans le premier cas, vous devez spécifier le fichier du firmware. La deuxième option consiste à placer le fichier du firmware dans le dossier /sdcard. Après cela, vous devez activer ClockworkMod Recovery, y trouver la fonction Appliquer la mise à jour depuis la carte SD et spécifier le fichier requis.

Il convient de noter que le menu ClockworkMod Recovery est pratique et compréhensible pour la plupart des utilisateurs. En plus d'un tel système de récupération pour le firmware, vous pouvez utiliser Récupération TWRP. Cet outil est pratique et populaire parmi les utilisateurs d'Android. L'essentiel est de choisir fichier correct micrologiciel.

Flasher le noyau Android est une procédure à laquelle nous vous déconseillons de recourir si vous êtes entièrement satisfait du fonctionnement du gadget. Ces actions sont motivées par la volonté d'améliorer les performances. téléphone mobile ou tablette. Les utilisateurs avancés ont la possibilité de définir des paramètres à un niveau inférieur. Mais sans certaines connaissances et raisons objectives, il vaut mieux ne pas modifier la partie logicielle de l'appareil mobile, car cela est associé à des risques et des défaillances dans son fonctionnement.

"Et je ... lave le carburateur!"
Plaisanter

Introduction

À la maternelle, des personnes partageant les mêmes idées et moi avons disséqué des sauterelles dans l'espoir de comprendre leur structure. Le récepteur radio "Russie" a été soudé à l'école. À l'institut, c'était au tour des voitures dont les écrous étaient réarrangés à plusieurs reprises. Les intérêts ont changé, mais l'envie de "démonter" se réveille parfois, et aujourd'hui elle s'oriente vers Android.

Combien de fois avez-vous été secouru par la présence de sources Android ? Je ne peux plus être compté. Android est un projet open source, mais malheureusement nous n'avons que la capacité de lire ; éditer le code Android sans être un employé de Google est presque impossible. Pleurons ce moment et téléchargeons le référentiel. Comment faire cela est parfaitement décrit sur le site officiel .


Architecture générale

L'architecture d'Android peut être représentée schématiquement comme suit :

Les ordinateurs de bureau et les ordinateurs portables ont un système bien établi de modes d'alimentation (les processeurs x86 en ont plusieurs) : l'ordinateur fonctionne "à pleine vitesse" lorsqu'une tâche est en cours, et passe en mode d'économie d'énergie lorsque le système est inactif. Le passage en mode "veille" se produit soit après une assez longue période d'inactivité, soit manuellement, par exemple lors de la fermeture du couvercle de l'ordinateur portable.

Sur les téléphones, un mécanisme différent était requis: l'état principal du système est «l'hibernation», sa sortie n'est effectuée qu'en cas de besoin. Ainsi, le système peut se mettre en veille même si une application est active. Dans Android, le mécanisme de wakelock a été implémenté : si une application (ou un pilote) fait quelque chose d'important qui devrait aboutir à sa conclusion logique, elle "capture" le wakelock, empêchant l'appareil de s'endormir.

Les tentatives de portage du mécanisme de wakelock sur le noyau ont provoqué la résistance de nombreux développeurs. Les programmeurs Android ont résolu un problème spécifique, dont la solution était un certain mécanisme. Les conditions de la tâche étaient très étroites. La plate-forme cible est ARM, donc ses fonctionnalités ont été utilisées : les processeurs ARM supposent initialement des changements fréquents dans les modes de veille et de réveil, contrairement au x86. Sous Android, les applications communiquent avec le système de gestion de l'alimentation via PowerManager, mais qu'en est-il des applications client Linux ?

Les développeurs Android n'ont même pas essayé de trouver une solution commune "pour l'avenir", qui s'écoulerait ensuite sans problème dans le noyau principal, n'ont pas consulté la communauté du noyau Linux sur ce problème. Peut-on leur en vouloir ? Malgré tous les problèmes et discussions, comme mentionné ci-dessus, une API est apparue dans le noyau avec une fonctionnalité de mise en veille automatique identique.

Les programmeurs d'applications Android doivent rarement faire face à des wakelocks, car la plate-forme et les pilotes gèrent les obligations qui leur sont assignées, en tenant compte du mode "veille". Cependant, le PowerManager familier aidera à intervenir dans ce processus. Soit dit en passant, l'auteur propose un seul scénario: empêcher le téléphone de s'endormir lorsque le service est démarré à partir de BroadcastReceiver, qui est résolu par la classe auxiliaire de la bibliothèque de support Android WakefulBroadcastReceiver .

Tueur à faible mémoire

Le noyau Linux standard a un Out of Memory Killer , qui, basé sur le paramètre badness, détermine le processus à tuer :

Badness_for_task = total_vm_for_task / (sqrt(cpu_time_in_seconds) *
sqrt(sqrt(cpu_time_in_minutes)))

Ainsi, plus le processus consomme de mémoire et moins il vit, moins il aura de chance.

Le schéma montre système général journalisation Android. Le pilote de journalisation permet d'accéder à chaque tampon via /dev/log/*. Les applications y ont accès non pas directement, mais via la bibliothèque liblog. La bibliothèque liblog communique avec les classes Log , Slog et EventLog . La commande adb logcat affiche le contenu du tampon "main".

Conclusion

Dans cette note, nous avons brièvement passé en revue certaines des fonctionnalités d'Android en tant que système Linux. Certaines autres parties ont été laissées entre parenthèses (pmem, console RAM, etc.), ainsi que des aspects aussi importants de la plate-forme dans son ensemble, tels que le service système, le processus de démarrage du système, etc. Si ce sujet vous intéresse, nous les examinerons dans les articles suivants.

Nous avons écrit plus d'une fois sur le firmware personnalisé, les applications root et les alternatives menus de démarrage. Tous ces sujets sont des sujets standard dans la communauté des pirates Android, cependant, en plus de tout ce qui précède, il existe également un "noyau personnalisé", qui peut offrir des possibilités presque illimitées pour gérer un smartphone et son matériel au plus bas. niveau. Dans cet article, je vais vous dire ce que c'est, pourquoi vous en avez besoin et comment choisir le bon noyau personnalisé.

noyau personnalisé ?

Qu'est-ce qu'un noyau personnalisé ? Comme nous le savons tous, Android est un gâteau composé de trois couches de base : le noyau Linux, un ensemble de bibliothèques et de services de bas niveau, et machine virtuelle Dalvik, au-dessus duquel s'exécute un shell graphique, des outils et des services de haut niveau, ainsi que presque toutes les applications installées du marché. Les créateurs de la plupart des ROM personnalisées alternatives ne travaillent généralement qu'avec les deux couches supérieures, en ajoutant des fonctions à la coque graphique (telles que des boutons dans le rideau), en la modifiant (le moteur de thème dans CyanogenMod), ainsi qu'en ajoutant de nouveaux services système (égaliseur dans CyanogenMod) et en optimisant celles existantes.

Les auteurs de micrologiciels populaires apportent également des modifications au noyau Linux dans la mesure du possible : optimisez (construisez avec des indicateurs d'optimisation de compilateur plus agressifs), incluez de nouvelles fonctionnalités (par exemple, la prise en charge du partage Windows) et apportez également d'autres modifications, telles que la capacité pour augmenter la fréquence du processeur au-dessus de celle du fabricant. Souvent, tout cela reste dans les coulisses, et de nombreux utilisateurs de firmware personnalisés ne sont même pas au courant de ces fonctionnalités, d'autant plus que le même CyanogenMod est livré avec un noyau personnalisé uniquement pour une gamme limitée d'appareils pour lesquels à la fois le code source du noyau natif et la possibilité de le remplacer sont disponibles. Par exemple, presque tous firmware CyanogenMod pour Téléphones intelligents Motorola utilisez un noyau standard - il est impossible de le remplacer par le vôtre en raison de la protection impénétrable du chargeur de démarrage.

Cependant, le noyau des smartphones avec un chargeur de démarrage déverrouillé peut être remplacé séparément du micrologiciel principal. Et pas seulement remplacer, mais installer le noyau avec une énorme quantité diverses fonctions, qui nécessitent certaines connaissances techniques pour être gérées et ne sont donc généralement pas intégrés aux noyaux des micrologiciels populaires tels que CyanogenMod, AOKP et MIUI. Parmi ces fonctionnalités, vous pouvez trouver la prise en charge des fréquences de processeur élevées, le contrôle gamma de l'écran, les modes d'économie d'énergie, les gestionnaires d'alimentation très efficaces et un grand nombre d'autres fonctionnalités.

Dans cet article, nous parlerons de ce que les créateurs de noyaux personnalisés peuvent nous offrir, considérons les principaux noyaux personnalisés pour divers appareils, et essayez également d'installer le noyau quel que soit le firmware principal et de tout vérifier sur notre propre peau. Alors, que proposent généralement les développeurs de noyaux alternatifs ?

contrôleur de trafic intelligent

Les SoC OMAP35XX utilisés, par exemple, dans le Galaxy S II et le Galaxy Nexus, disposent d'une fonction SmartReflex qui agit comme un système de réglage intelligent de la tension lorsque la charge sur le processeur change. En fait, cela élimine le besoin d'un réglage fin de la tension par l'utilisateur.


Optimisations

Souvent, l'objectif principal de la création d'un noyau personnalisé est d'optimiser les performances. Habituellement, un fournisseur de technologie mobile essaie de maintenir un équilibre entre performances et stabilité, de sorte que même de bonnes techniques d'optimisation pouvant augmenter considérablement la vitesse de l'appareil ne peuvent être rejetées par le fabricant qu'au motif qu'après leur application, certaines applications ont commencé à planter. tous les dix lancements. Bien sûr, de telles bagatelles ne dérangent pas les passionnés, et beaucoup d'entre eux sont prêts à appliquer toutes les options du compilateur, les algorithmes d'économie d'énergie au cœur de leur propre assemblage et à augmenter la fréquence du processeur aussi haut que l'appareil peut le supporter. Parmi toutes les techniques d'optimisation, quatre sont les plus courantes :



Autre type d'optimisation : changer le planificateur d'E/S par défaut. La situation dans ce domaine est encore plus intéressante, car au lieu de comprendre comment fonctionnent les ordonnanceurs, certains constructeurs de noyau lisent simplement des documents sur les ordonnanceurs d'E/S Linux sur le Web et en tirent des conclusions. Parmi les utilisateurs, cette approche est encore plus courante. En fait, presque tous les planificateurs Linux les plus puissants et les plus intelligents sont totalement inadaptés à Android : ils sont conçus pour être utilisés avec des magasins de données mécaniques, dans lesquels la vitesse d'accès aux données varie en fonction de la position de la tête. Le planificateur utilise différents schémas d'agrégation de requêtes en fonction de l'emplacement physique des données, de sorte que les demandes de données proches de l'emplacement principal actuel recevront une priorité plus élevée. Ceci est complètement illogique dans le cas de la mémoire à semi-conducteurs, qui garantit la même vitesse d'accès à toutes les cellules. Les planificateurs avancés feront plus de mal que de bien sur un smartphone, et les plus maladroits et primitifs afficheront les meilleurs résultats. Linux a trois ordonnanceurs de ce type :

  • Noop (aucune opération)- le soi-disant non-programmateur. Une simple file d'attente de requêtes FIFO, la première requête sera traitée en premier, la deuxième en second et ainsi de suite. Bien adapté à la mémoire à semi-conducteurs et vous permet de hiérarchiser équitablement les applications pour l'accès au disque. Un plus supplémentaire : une faible charge sur le processeur grâce à un principe de fonctionnement très simple. Moins: aucune considération des spécificités de l'appareil, ce qui peut entraîner des défaillances de performances.
  • SIO (E/S simples)- un analogue du planificateur Deadline sans tenir compte de la proximité des secteurs les uns par rapport aux autres, c'est-à-dire conçu spécifiquement pour la mémoire à semi-conducteurs. Deux points forts : la priorité des opérations de lecture sur les opérations d'écriture et le regroupement des opérations par processus avec l'attribution d'une tranche de temps à chaque processus pour effectuer les opérations. Dans les smartphones, où la vitesse de l'application en cours et la prédominance des lectures sur les écritures sont importantes, cela montre très bonne performance. Disponible dans Leankernel, noyau Matr1x pour Nexus 4 et SiyahKernel.
  • LIGNE (LIRE sur ÉCRIRE) est un planificateur spécialement conçu pour les appareils mobiles et ajouté au noyau il y a quelques mois à peine. Le principal défi : un traitement prioritaire des requêtes de lecture, mais une juste répartition du temps pour les requêtes d'écriture. Considéré comme le meilleur de ce moment planificateur pour la mémoire NAND, utilisé par défaut dans Leankernel et Matr1x.

Il convient de dire que presque tous les micrologiciels standard et la moitié des micrologiciels personnalisés utilisent toujours le noyau avec le planificateur Linux CFQ standard, ce qui n'est cependant pas si mal, car il peut fonctionner correctement avec disques durs à semi-conducteurs. En revanche, il est trop complexe, crée une charge plus importante sur le processeur (et donc la batterie) et ne prend pas en compte les spécificités de l'OS mobile. Un autre choix populaire est le planificateur de date limite, qui est tout aussi bon que SIO mais qui est exagéré. Vous pouvez afficher la liste des planificateurs disponibles avec la commande suivante :

# cat /sys/block/*/queue/scheduler

Pour changer, appliquez ceci (où row est le nom du planificateur):

# pour i dans /sys/block/*/queue/scheduler ; faire echo ligne > $1 ; Fini

Certains constructeurs de noyau utilisent également un autre type d'optimisation liée aux E/S. Il s'agit d'une désactivation de l'appel système fsync utilisé pour forcer le vidage du contenu modifié. Ouvrir des fichiers au disque. Il existe une opinion selon laquelle sans fsync, le système accédera moins souvent au lecteur et économisera ainsi du temps processeur et de la puissance de la batterie. Une affirmation plutôt controversée : fsync n'est pas utilisé très souvent dans les applications et uniquement pour sauvegarder vraiment une information important, mais sa désactivation peut entraîner la perte des mêmes informations en cas de panne du système d'exploitation ou d'autres problèmes. La possibilité de désactiver fsync est disponible dans les noyaux franco.Kernel et GLaDOS, et est contrôlée à l'aide du fichier /sys/module/sync/parameters/fsync_enabled, qui doit être écrit 0 pour désactiver ou 1 pour activer. Encore une fois, cette fonctionnalité n'est pas recommandée.

Ajout de nouvelles fonctionnalités au noyau

Bien sûr, en dehors des optimisations, ajustements et différents systèmes gestion avancée du matériel, les noyaux personnalisés contiennent également des fonctionnalités entièrement nouvelles qui ne sont pas disponibles dans les noyaux standard, mais qui peuvent être utiles aux utilisateurs.

Fondamentalement, il s'agit de divers pilotes et systèmes de fichiers. Par exemple, certains noyaux incluent la prise en charge du module CIFS, qui vous permet de monter des partages Windows. Un tel module se trouve dans le noyau Matr1x pour Nexus S, faux123 pour Nexus 7, SiyahKernel et GLaDOS. En soi, il est inutile, mais il existe plusieurs applications sur le marché qui vous permettent d'utiliser ses capacités.

Une autre chose utile est l'inclusion du pilote ntfs-3g dans le noyau (plus précisément, dans le package avec le noyau, le pilote lui-même fonctionne comme une application Linux), qui est nécessaire pour monter des lecteurs flash formatés au format de fichier. Système NTFS. Ce pilote est disponible dans les noyaux faux123 et SiyahKernel. Habituellement, il est activé automatiquement, mais si cela ne se produit pas, vous pouvez utiliser l'application StickMount du marché.

De nombreux noyaux incluent également la prise en charge de la technologie dite zram, qui vous permet de réserver une petite quantité mémoire vive(généralement 10 %) et l'utiliser comme espace d'échange compressé. En conséquence, il y a une sorte d'expansion de la quantité de mémoire, sans conséquences graves pour les performances. Disponible dans Leankernel, activé avec la commande Trickster MOD ou zram enable.

Les deux dernières fonctionnalités intéressantes sont la charge USB rapide et Sweep2wake. Le premier n'est rien de plus que l'activation forcée du " charge rapide”, même si le smartphone est connecté au port USB de l'ordinateur. Le mode de charge rapide est disponible dans tous les smartphones plus ou moins récents, cependant, en raison de limitations techniques, il ne peut pas être activé en même temps que l'accès à la carte mémoire. La fonction de charge USB rapide vous permet de toujours activer ce mode, tout en désactivant l'accès au lecteur.

Sweep2wake est une nouvelle façon de réveiller un appareil, inventée par l'auteur de Breaked-kernel. Sa signification est d'allumer le smartphone en faisant glisser les touches de navigation situées sous l'écran ou sur l'écran lui-même. C'est vraiment fonction pratique, mais l'allumer gardera le capteur actif même lorsque l'appareil est en veille, ce qui peut considérablement décharger la batterie.

Overclocking, tension et économie d'énergie

L'overclocking est populaire non seulement parmi les propriétaires d'ordinateurs fixes et d'ordinateurs portables, mais également parmi les passionnés de technologie mobile. Comme les pierres de l'architecture x86, les processeurs et les cœurs graphiques de la technologie mobile fonctionnent parfaitement. Cependant, la méthode d'overclocking elle-même et les étapes suivies pour la mettre en œuvre sont quelque peu différentes ici. Le fait est que les pilotes standard des SoC responsables des économies d'énergie et de la modification de la fréquence du processeur sont généralement verrouillés sur des fréquences standard. Par conséquent, pour un réglage fin, vous devez installer un pilote alternatif ou un noyau personnalisé.

Presque tous les noyaux personnalisés plus ou moins de haute qualité et populaires incluent déjà des pilotes déverrouillés, donc après les avoir installés, la capacité de contrôler la "puissance" du processeur est considérablement étendue. En règle générale, les constructeurs de noyaux personnalisés font deux choses qui affectent la sélection de fréquence. Il s'agit d'une extension de la plage de fréquences au-delà de celles initialement définies - vous pouvez définir à la fois une fréquence de processeur plus élevée et une fréquence très basse, ce qui vous permet d'économiser la batterie et d'augmenter la gradation de fréquence, par exemple, au lieu de trois fréquences possibles, vous avez le choix entre six. La seconde est l'ajout de la possibilité d'ajuster la tension du processeur, grâce à laquelle vous pouvez réduire la tension du processeur aux basses fréquences pour économiser la batterie et l'augmenter aux hautes fréquences pour augmenter la stabilité.

Tout cela peut être contrôlé à l'aide du célèbre utilitaire payant SetCPU ou du Trickster MOD gratuit. Les recommandations de gestion sont les mêmes que pour les systèmes de bureau. Il est préférable de régler la fréquence inférieure du processeur au minimum, mais pas en dessous de 200 MHz (pour éviter les décalages), le seuil supérieur est augmenté progressivement avec des tests de stabilité, lorsqu'il tombe, il est recommandé d'augmenter légèrement la tension pour un donné la fréquence. Il n'y a pas de recommandations de tension, car chaque processeur est unique et les valeurs seront différentes pour tout le monde.

En plus de changer les fréquences, les assembleurs ajoutent souvent de nouveaux algorithmes de contrôle d'économie d'énergie au noyau ( contrôle automatique fréquence du processeur) qui, selon eux, peuvent être plus performants que les standards. Presque tous sont basés sur l'algorithme interactif utilisé par défaut dans les nouvelles versions d'Android, dont l'essence est d'augmenter fortement la fréquence du processeur au maximum en cas d'augmentation de la charge, puis de la réduire progressivement au minimum. . Il a remplacé l'algorithme OnDemand précédemment utilisé, qui ajustait en douceur la fréquence dans les deux sens proportionnellement à la charge, et vous permet de rendre le système plus réactif. Les constructeurs de noyau alternatifs proposent les algorithmes suivants pour remplacer Interactive :

  • SmartAssV2- Repenser l'algorithme interactif en mettant l'accent sur l'économie de batterie. La principale différence est de ne pas secouer le processeur vers les hautes fréquences en cas de courtes rafales de charge, pour lesquelles les faibles performances du processeur suffisent. La valeur par défaut est utilisée dans le noyau Matr1x.
  • InteractifX- algorithme optimisé Interactive, caractéristique principale qui se trouve dans le verrouillage du processeur à la fréquence minimale spécifiée par l'utilisateur et le deuxième cœur du processeur est désactivé pendant l'arrêt de l'écran. La valeur par défaut est utilisée dans Leankernel.
  • LulzactiveV2- essentiellement un OnDemand réinventé. Lorsque la charge du processeur dépasse celle spécifiée (60 % par défaut), l'algorithme augmente la fréquence d'un certain nombre de divisions (1 par défaut), et la diminue lorsque la charge diminue. Il est particulièrement intéressant de noter qu'il vous permet de définir indépendamment les paramètres de travail, il convient donc aux geeks endurcis.

En général, les constructeurs de noyaux aiment beaucoup proposer de nouveaux algorithmes d'économie d'énergie en raison de la simplicité de leur implémentation, vous pouvez donc en trouver une douzaine d'autres. La plupart d'entre eux sont des scories complètes, et lors du choix d'un planificateur, vous devez être guidé par la règle: soit l'un des trois décrits ci-dessus, soit l'Interactif standard, qui, soit dit en passant, est très bon. Vous pouvez faire un choix en utilisant le même Trickster MOD.

Interfaces de gestion

La plupart des noyaux personnalisés populaires incluent plusieurs mécanismes de contrôle précis de divers paramètres de pilote, dont les plus courants sont ColorControl, GammaControl, SoundControl et TempControl.

Les deux premières interfaces sont disponibles presque partout, y compris les noyaux CyanogenMod, les deux secondes - dans Leankernel et peut-être dans d'autres. D'une manière ou d'une autre, ils peuvent tous être contrôlés à l'aide du Trickster MOD.

Noyaux

Quel noyau choisir ? Il n'y a pas de réponse unique à cette question, et pas parce que "chacun le sien", mais parce qu'il existe un grand nombre d'appareils Android dans le monde et presque autant de noyaux différents. Cependant, plusieurs noyaux populaires sont en cours de développement pour plusieurs appareils à la fois. D'une manière ou d'une autre, j'en ai mentionné beaucoup au cours de l'histoire, mais je vais en donner ici une brève description.

  • Leankernel est le noyau pour Galaxy Nexus, Nexus 7 et Galaxy S III. L'accent principal dans le développement est mis sur la simplicité et la rapidité de travail. Algorithme d'économie d'énergie : InteractiveX V2, planificateur d'E/S : ROW, toutes les interfaces de contrôle ci-dessus, prise en charge de la charge USB rapide, Swap et zram, overclocking flexible du CPU et du GPU. L'un des meilleurs noyaux. Personnalisable avec Trickster MOD.
  • Matr1x (http://goo.gl/FQLBI , goo.gl/ZcyvA) - Noyau pour Nexus S et Nexus 4. Noyau simple et épuré. Prise en charge de l'overclocking CPU et GPU, GammaControl, Fast USB Charge, Sweep2wake, planificateurs d'E/S : SIO, ROW et FIOPS. Ajustements de performances. Personnalisable avec Trickster MOD.
  • Bricked-Kernel (http://goo.gl/kd5F4 , goo.gl/eZkAV) est un noyau simple et épuré pour Nexus 4 et HTC One X. Optimisations pour Snapdragon S4 et NVIDIA Tegra 3, mode d'économie d'énergie repensé pour Tegra 3, capacité d'overclocking, algorithme d'économie d'énergie : réglage OnDemand (interactif est également disponible).
  • SiyahKernel est le noyau des Galaxy S II et S III. Options d'overclocking flexibles, étalonnage automatique de la batterie, pilote d'écran tactile amélioré, algorithmes d'économie d'énergie : smartassV2 et lulzactiveV2, planificateurs d'E/S : noop, date limite, CFQ, BFQV3r2 (par défaut), V(R), SIO. Pilotes CIFS et NTFS (avec montage automatique). Configurable avec ExTweaks.
  • franco.Kernel - noyau pour Nexus S, Galaxy Nexus, Nexus 4, Nexus 7, Nexus 10, Galaxy S III, téléphone Galaxy Note, Optimus One et One X.

Les capacités du noyau varient considérablement d'un appareil à l'autre, les détails devront donc être examinés sur place. Cependant, en flashant ce noyau, vous aurez la possibilité d'overclocker, de régler les pilotes, d'excellentes performances, ainsi que la prise en charge de divers algorithmes et planificateurs d'économie d'énergie. En fait, le noyau comprend presque tous les réglages décrits dans l'article. Considéré comme l'un des meilleurs noyaux disponibles. Il existe une application pour mise à jour automatique mise à jour de franko.kernel. Vous pouvez configurer en utilisant Trickster MOD.

Comment installer?

Tous les noyaux sont distribués dans des archives ZIP Android standard, qui doivent être flashées via la console de récupération de la même manière que firmware alternatif. Habituellement, les noyaux sont compatibles avec n'importe quel micrologiciel, par conséquent, après avoir choisi le bon noyau, vous pouvez l'installer en toute sécurité. La seule chose à laquelle vous devez faire attention est la version d'Android avec laquelle le noyau est compatible. Il peut à la fois approcher tous les appareils disponibles Versions Android, et travaillez avec un seul (le développeur le dit généralement explicitement). Avant de flasher, assurez-vous de sauvegarder le firmware actuel en utilisant la même console de récupération. Si quelque chose ne va pas, vous pouvez toujours revenir en arrière.

conclusion

Comme vous pouvez le constater, les noyaux personnalisés présentent de nombreux avantages par rapport aux noyaux utilisés dans les micrologiciels standard ou tiers. Et plus important encore, vous n'avez pas besoin de connaître toutes les subtilités d'Android pour les utiliser, il suffit de télécharger et d'installer l'archive ZIP.

Récemment, de nouvelles versions de noyaux sont publiées assez souvent. Tous les quelques mois, il y a une version stable. Eh bien, les versions candidates instables sortent encore plus souvent. Linus Torvalds et de nombreux développeurs du monde entier travaillent constamment à l'amélioration de nouveaux noyaux et à leur ajouter de plus en plus de fonctionnalités.

À chaque nouvelle version, le noyau Linux ajoute la prise en charge de plusieurs nouveaux périphériques, tels que de nouveaux processeurs, des cartes vidéo ou même écrans tactiles. Dernièrement, la prise en charge du nouveau matériel s'est beaucoup améliorée. De plus, de nouveaux systèmes de fichiers sont inclus dans le noyau, le travail est amélioré pile réseau, corrige des bogues et des bogues.

Si vous avez besoin de plus des informations détaillées voir son Changelog sur kernel.org pour les changements dans une version particulière du noyau, et dans cet article, nous verrons comment mettre à jour le noyau Linux au plus nouvelle version. J'essaierai de ne pas lier l'instruction à une version spécifique du noyau, de nouveaux noyaux sont publiés assez souvent et ce sera pertinent pour chacun d'eux.

Envisagez de mettre à jour le noyau Ubuntu et CentOS. Voyons d'abord comment mettre à jour le noyau dans Ubuntu 16.04.

Voyons d'abord quel noyau vous avez installé. Pour cela, ouvrez un terminal et lancez :

Par exemple, j'utilise actuellement la version 4.3 et je peux passer à la version la plus récente. Les développeurs d'Ubuntu ont déjà veillé à ce que leurs utilisateurs ne construisent pas le noyau à la main et ne créent pas de paquets deb de la nouvelle version du noyau. Ils peuvent être téléchargés sur le site officiel de Canonical.

J'aurais pu donner les commandes wget à télécharger ici si la version du noyau était connue, mais dans notre cas il aurait été préférable d'utiliser un navigateur. Allez sur http://kernel.ubuntu.com/~kernel-ppa/mainline/. Tout ce qui a été compilé par l'équipe du noyau Ubuntu est ici. Les noyaux sont construits à la fois pour des distributions spécifiques, avec le nom de code de la distribution, et pour les distributions générales. De plus, les noyaux d'Ubuntu 16.10 fonctionneront très probablement en 16.04, mais à partir de 9.04 sur Ubuntu 16.04, vous ne devriez pas installer le noyau.

Faites défiler vers le bas, c'est là que se trouvent les nouvelles versions des noyaux :

De plus, tout en haut se trouve un dossier daily/current, qui contient les dernières versions nocturnes du noyau. Sélectionnez la version de noyau souhaitée et téléchargez les deux fichiers linux-headers et linux-image pour votre architecture :

Une fois le téléchargement terminé, vous pouvez procéder à l'installation. Pour ce faire, exécutez ce qui suit dans le terminal :

Accédez au dossier contenant les packages d'installation, par exemple, ~/Downloads :

Exécutez l'installation :

Si cette commande n'a pas fonctionné, vous pouvez aller dans l'autre sens. Installez l'utilitaire gdebi :

sudo apt-get install gdebi

Utilisez-le ensuite pour installer le noyau :

sudo gdebi linux-headers*.deb linux-image-*.deb

Le noyau est installé, il reste à mettre à jour le bootloader :

sudo update-grub

Vous pouvez maintenant redémarrer votre ordinateur et voir ce qui s'est passé. Après le redémarrage, assurez-vous que la mise à jour du noyau Linux vers la version la plus récente a réussi :

Comme vous pouvez le voir, le noyau est installé et fonctionne avec succès. Mais ne vous précipitez pas pour retirer ancienne version noyau, il est recommandé d'avoir plusieurs versions du noyau dans le système, afin qu'en cas de problème, vous puissiez démarrer à partir de l'ancienne version de travail.

Mise à jour automatique du noyau Linux dans Ubuntu

Ci-dessus, nous avons vu comment installer manuellement la version de noyau souhaitée. Ubuntu avait l'habitude d'avoir un PPA pour les versions quotidiennes du noyau, mais il est maintenant fermé. Par conséquent, vous ne pouvez mettre à jour le noyau qu'en téléchargeant le package deb et en l'installant. Mais tout cela peut être simplifié avec un script spécial.

Installation du script :

cd/tmp
$ git clone git://github.com/GM-Script-Writer-62850/Ubuntu-Mainline-Kernel-Updater
$ bash Ubuntu-Mainline-Kernel-Updater/install

Vérification des mises à jour :

KernelUpdateChecker -r yakkety

L'option -r vous permet de spécifier la branche de distribution pour laquelle rechercher les noyaux. Pour xenial, les noyaux ne sont plus construits, mais les noyaux de la prochaine version fonctionneront bien ici. De plus, l'option -no-rc peut dire à l'utilitaire de ne pas utiliser les versions candidates, et l'option -v spécifie la version exacte du noyau à installer. Si vous ne vous souciez pas de la distribution à laquelle le noyau est destiné, tant qu'il s'agit de la dernière version, utilisez l'option --any-release. Le script donnera la sortie suivante :

Avant d'installer le noyau, vous pouvez voir les détails en ouvrant le fichier /tmp/kernel-update :

Ici, nous pouvons voir que la recherche de yakkety a été effectuée et que la version 4.7-rc6 du noyau est actuellement disponible. Nous pouvons installer :

sudo /tmp/kernel-update

Le script nous montrera la version du noyau actuel, ainsi que la version du noyau qui sera installée, sa date de construction et d'autres détails. Il vous sera également demandé si vous devez conserver un journal des modifications. Vient ensuite l'installation :

Les anciens noyaux, juste au cas où, ne supprimez pas (n) :

Terminé, la mise à jour du noyau vers la version la plus récente est terminée, redémarrez maintenant votre ordinateur (y) :

Vérifier si la mise à jour du noyau Ubuntu a réellement fonctionné :

De plus, le script a été ajouté au chargement automatique et vérifiera désormais automatiquement les mises à jour 60 secondes après la connexion. Le raccourci de chargement automatique se trouve dans le fichier :

vi ~/.config/autostart/KernelUpdate.desktop

Vous pouvez le modifier à votre guise ou le supprimer. Si vous souhaitez supprimer complètement le script du système, exécutez :

rm ~/.config/autostart/KernelUpdate.desktop
$ sudo rm /usr/local/bin/KernelUpdate(Checker,ScriptGenerator)

Ne télécharge pas

Si des erreurs se sont produites lors de l'installation ou si le noyau a été mis à jour de manière incorrecte et que le système ne démarre pas avec le nouveau noyau, vous pouvez utiliser l'ancien noyau. De plus, le système peut ne pas démarrer si vous utilisez un pilote propriétaire pour une carte vidéo NVIDIA; dans ce cas, ne vous précipitez pas pour télécharger la dernière version du noyau, utilisez uniquement des noyaux stables, en règle générale, la prise en charge de ce module a leur ont déjà été ajoutés.

Et pour restaurer le système, sélectionnez l'élément Options avancées pour Ubuntu dans le menu Grub :

Et démarrez le noyau en cours d'exécution précédent :

Après le téléchargement, il reste à supprimer le noyau mal installé et à mettre à jour Grub à nouveau, en substituant la version de noyau souhaitée au lieu de 4.7 :

sudo apt supprimer linux-header-4.7* linux-image-4.7*

sudo update-grub

Votre système est maintenant revenu à son état précédent. Vous pouvez essayer d'installer une ancienne version du noyau ou réessayer.

Mise à niveau du noyau Linux vers 4.4 sur CentOS

Et maintenant, regardons comment mettre à jour la dernière version du noyau Linux dans CentOS. Les instructions ont été testées sur CentOS 7, mais fonctionneront très probablement sur RedHat 7, Fedora et d'autres distributions similaires.

En règle générale, les nouveaux noyaux ne sont pas inclus dans les référentiels CentOS officiels, donc pour obtenir la dernière version stable, nous devrons ajouter le référentiel ELRepo. Il s'agit d'un référentiel de packages commerciaux (Enterprise Linux Packages) et est également maintenu sur RedHat et Fedora.

Pour ajouter un dépôt, procédez comme suit :

Vous devez d'abord importer la clé :

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

Ajoutez le référentiel et les composants requis à RHEL/Scientific Linux/CentOS-7 :

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

yum installer yum-plugin-fastestmirror

Sur Fedora 22 et supérieur :

Dimanche soir, Linus Torvalds, qui est le parent de Linux et le développeur du noyau du système d'exploitation, a annoncé la sortie d'une nouvelle version du noyau Linux 3.10 après deux mois de travail.

Selon le développeur lui-même, ce noyau s'est avéré être le plus important en termes d'innovations au cours des dernières années.

Linus a admis qu'au début, il avait l'intention de publier une autre version candidate, mais après réflexion, il s'est tout de suite penché pour publier la version finale au numéro 3.10. Torvalds a également noté dans son message que le nouveau noyau, comme la version 3.9, est complètement prêt pour une utilisation quotidienne.

De plus, dans l'annonce de la version RC du noyau, Linus Torvalds a écrit qu'auparavant il incluait toujours une liste de noms de personnes qui envoyaient certaines parties du code, mais cette fois cette liste serait si grande qu'elle ne pourrait pas être donné entièrement en une seule feuille.

Liste des modifications majeures apportées au noyau 3.10 :

  • Il est désormais possible d'empêcher l'exécution de scripts en tant que programmes - la fonctionnalité d'exécution de scripts contenant le chemin d'accès à l'interpréteur dans l'en-tête "#!" peut désormais être compilée en tant que module du noyau ;
  • Intégré développé et utilisé dans Système Google Bcache. Bcache vous permet de mettre en cache l'accès aux disques durs lents sur des disques SSD rapides ; la mise en cache est effectuée au niveau du périphérique de bloc - et cela vous permet d'accélérer l'accès au lecteur, et quel que soit le périphérique utilisé systèmes de fichiers sur l'appareil ;
  • Le noyau peut être compilé avec le compilateur Clang grâce aux correctifs préparés par le projet LLVMLinux ;
  • Un système de contrôle dynamique pour la génération d'interruptions de minuterie est apparu. Désormais, en fonction de l'état actuel, vous pouvez modifier les interruptions dans la plage allant de milliers de ticks par seconde à une interruption par seconde - cela vous permet de minimiser la charge sur le CPU lors du traitement des interruptions en cas d'inactivité du système. Actuellement, cette fonctionnalité est utilisée pour les systèmes en temps réel et le HPC (calcul haute performance), mais dans les futures versions du noyau, elle sera également activée pour les systèmes de bureau.
  • Il est maintenant possible de générer un événement informant l'application de l'approche de l'épuisement de la mémoire disponible pour le processus/système (dans les cgroups) ;
  • Le profilage d'accès à la mémoire est devenu disponible pour la commande perf ;
  • Ajout de la prise en charge du protocole RDMA (iSER) au sous-système iSCSI ;
  • Est apparu nouveau pilote"sync" (expérimental). Il a été développé dans le cadre Plateformes Android et est utilisé pour la synchronisation entre les autres pilotes ;
  • Le pilote de carte graphique virtuelle QXL a été intégré (utilisé dans les systèmes de virtualisation pour une sortie graphique accélérée à l'aide du protocole SPICE );
  • Les nouveaux outils de gestion de l'alimentation introduits dans Processeurs AMD famille 16h ("Jaguar");
  • La prise en charge du décodage vidéo accéléré à l'aide du décodeur UVD matériel intégré aux GPU AMD modernes a été ajoutée au Radeon DRM ;
  • Un pilote pour les adaptateurs vidéo virtuels est apparu Microsoft Hyper-V(il y a aussi des améliorations dans le travail d'Hyper-V dans son ensemble) ;
  • L'exécution des fonctions cryptographiques (sha256, sha512, blowfish, twofish, serpent et camellia) est optimisée à l'aide des instructions AVX/AVX2 et SSE.