• [^] # Librairies, modules

    Posté par . En réponse au message Problème de compilation MPlayer. Évalué à 2.

    Prenons les choses dans l'ordre de la construction d'un linux :
    - tu construis des outils (gcc, binutils, etc) pour construire des exécutables,
    - tu choisis un kernel (par exemple le 2.6.11) que tu désarchives (sans le compiler),
    - tu compiles une glibc avec les includes de ce kernel (la glibc doit savoir quels sont les paramètres attendus par le kernel) puis tu l'installes,
    - tu compiles tes exécutables avec la glic et tu les installes,
    - dès que tu compilés assez d'outils (gcc, binutils, etc), tu peux compiler ton noyau.

    Ensuite, tu peux remplacer le noyau 2.6.11 par une version 2.6.12 ou 2.6.13. Mais il ne faut surtout pas utiliser un noyau plus ancien : 2.6.10 ou série 2.4 interdits . La glibc ne le supporterait pas.
    En cas de mises à jour du noyau, il faut laisser dans /usr/include les include du noyau avec lesquels la glibc a été compilée.

    Si tu veux plus de détails, va voir www.linuxfromscratch.org/lfs/view


    Ne pas confondre les bibliothèques et les modules.
    * Un programme n'interagit jamais directement avec le noyau mais il fait appel à des bibliothèques de fonctions (ouvertures de fichiers, affichages, etc) qui font appel si nécessaire au noyau.
    * Un module est une partie du code du noyau qui est chargée en mémoire en cas de besoin. Cela permet de construire un noyau pouvant supporter un très grand nombres de périphériques différents et de charger en mémoire uniquement les pilotes des périphériques présents sur la machine.

    Une bonne doc : "Guide d'installation de Linux version 2.6.2" à l'adresse
    http://casteyde.christian.free.fr/(...)

    Slack