issue92:labo_linux_1
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
issue92:labo_linux_1 [2015/03/08 10:20] – [5] auntiee | issue92:labo_linux_1 [2015/03/08 10:41] (Version actuelle) – [12] auntiee | ||
---|---|---|---|
Ligne 115: | Ligne 115: | ||
**The table of callback functions is named “file_operations version_proc_fops” (right). Of these, only the open operation has been defined, in function “version_proc_open”. The other three functions are left at their default values.** | **The table of callback functions is named “file_operations version_proc_fops” (right). Of these, only the open operation has been defined, in function “version_proc_open”. The other three functions are left at their default values.** | ||
- | C'est ici que le code contrôlant le fichier virtuel / | + | C'est ici que le code contrôlant le fichier virtuel / |
- | Le tableau de fonctions de rappel se nomme « file_operations version_proc_fops » (ci-contre | + | Le tableau de fonctions de rappel se nomme « file_operations version_proc_fops » (à droite). Parmi ces fonctions, seule l' |
====== 7 ====== | ====== 7 ====== | ||
Ligne 145: | Ligne 145: | ||
Juste avant, la fonction « version_proc_open » a été définie comme présentée à droite (troisième en bas). | Juste avant, la fonction « version_proc_open » a été définie comme présentée à droite (troisième en bas). | ||
- | FIXME(This simply does a sequential file write “seq_printf” of the linux version | + | Cela ne fait qu'un « seq_printf |
MODIFIER UNE ENTRÉE /PROC | MODIFIER UNE ENTRÉE /PROC | ||
Ligne 171: | Ligne 171: | ||
**To find out how to change this, our first stop will be file cpuinfo.c in source code directory fs/proc. This file has a similar structure to version.c, except for the callback routine invoked when an open operation is performed on virtual file / | **To find out how to change this, our first stop will be file cpuinfo.c in source code directory fs/proc. This file has a similar structure to version.c, except for the callback routine invoked when an open operation is performed on virtual file / | ||
- | Toutes ces informations sont données pour chaque cœur de processeur présent dans le système. | + | Toutes ces informations sont données pour chaque cœur de processeur présent dans le système. |
Pour trouver comment modifier cela, nous nous arrêterons en premier sur le fichier cpuinfo.c dans le répertoire de sources fs/proc. Ce fichier a une structure similaire au fichier version.c, sauf en ce qui concerne la fonction de rappel invoquée quand une opération d' | Pour trouver comment modifier cela, nous nous arrêterons en premier sur le fichier cpuinfo.c dans le répertoire de sources fs/proc. Ce fichier a une structure similaire au fichier version.c, sauf en ce qui concerne la fonction de rappel invoquée quand une opération d' | ||
Ligne 209: | Ligne 209: | ||
C'est une modification rapide du code original écrit par les développeurs du noyau. | C'est une modification rapide du code original écrit par les développeurs du noyau. | ||
- | Désormais le noyau requiert d'être recompilé, puis réinstallé dans le répertoire /boot et les entrées GRUB doivent être mises à jour. Puisque nous n' | + | Désormais le noyau doit être recompilé, puis réinstallé dans le répertoire /boot et les entrées GRUB doivent être mises à jour. Puisque nous n' |
$ make | $ make | ||
Ligne 236: | Ligne 236: | ||
**[...]** | **[...]** | ||
- | En manipulant le fichier arch/ | + | En manipulant le fichier arch/ |
warning: ‘show_cpuinfo_core’ defined but not used [-Wunused-function] | warning: ‘show_cpuinfo_core’ defined but not used [-Wunused-function] | ||
Ligne 242: | Ligne 242: | ||
static void show_cpuinfo_core(struct seq_file *m, struct cpuinfo_x86 *c, | static void show_cpuinfo_core(struct seq_file *m, struct cpuinfo_x86 *c, | ||
- | Ceci n'est pas un problème pour notre simple | + | Ceci n'est pas un problème pour notre expérience |
- | Quand la compilation est terminée et que le nouveau noyau est installé, démarrez dessus. Vous ne devriez pas apercevoir des changements visibles sur le bureau - les deux champignons étaient déjà là sur l' | + | Quand la compilation est terminée et que le nouveau noyau est installé, démarrez dessus. Vous ne devriez pas apercevoir des changements visibles sur le bureau - les deux champignons étaient déjà là avec l' |
$ cat / | $ cat / | ||
Ligne 261: | Ligne 261: | ||
**In the next - and last - installment, | **In the next - and last - installment, | ||
- | Cela est plus compact, plus joli et plus lisible pour mes yeux. | + | Cela est plus compact, plus joli et plus facile à lire. |
- | Dans cet partie de notre série sur la compilation du noyau Linux, nous avons vu comment introduire des petites modifications dans le code source du noyau. Le pseudo système de fichiers /proc est un bon emplacement pour commencer à essayer notre propre code, en premier lieu pour obtenir des informations sur le noyau. Ultérieurement, | + | Dans cet partie de notre série sur la compilation du noyau Linux, nous avons vu comment introduire des petites modifications dans le code source du noyau. Le pseudo système de fichiers /proc est un bon emplacement pour commencer à essayer notre propre code, en premier lieu pour obtenir |
Dans le prochain - et dernier - épisode, nous essayerons un nouveau module, écrit de zéro et ajouté à l' | Dans le prochain - et dernier - épisode, nous essayerons un nouveau module, écrit de zéro et ajouté à l' |
issue92/labo_linux_1.1425806436.txt.gz · Dernière modification : 2015/03/08 10:20 de auntiee