Re: construction d'un .deb pour un noyau avec une config locale [1/2 RÉSOLU]
Le samedi 9 mai 2015, 14:50:06 maderios a écrit :
>[…]
> > cette précédente méthode me fournissait également un paquet
> > "linux-libc-dev".
> >
> > Je ne suis pas certain de ce que représente exactement ce
> > paquet et du coup, je ne suis pas certain qu'il me faille
> > en fabriquer une et si oui, de comment faire ça. De ce que
> > je pense en avoir compris, le paquet "linux-libc-dev"
> > fourni la bibliothèque de fonctions les plus basses d'un
> > système linux
Oui, linux-libc-dev fournit les *en-têtes* liées au noyau.
L’API externe du noyau, ou comment un programme peut discuter
avec le noyau. C’est-à-dire les noms des fonctions, les types
(est-ce que telle fonction prend ou renvoie un entier, un
pointeur, une structure complexe, comment est la structure,
etc.) et des valeurs magiques (telle valeur → telle
fonctionnalité, telle autre valeur → telle autre
fonctionnalité).
Ces informations sont importantes pour *compiler* certains
programmes et bibliothèques, plus particulièrement la libc ou
ceux faisant appel aux fonctions dites « systèmes » (que l’on
trouve au niveau 2 de man, en opposition au niveau 3).
Mais une fois que le programme ou la bibliothèque est
compilée, ces infos ont été intégrées dans le binaire, les infos
externes (l’API) ne sert plus.
Pour ce qui est de l’usage de ces fonctions, ce paquet est
donc absolument inutile.
> > et j'aurai donc tendance à penser qu'il est
> > de bonne augure d'avoir cette bibliothèque de fonction qui
> > corresponde exactement au noyau installé.
En ce qui concerne les versions, il vaut mieux, effectivement,
que le noyau et la libc soient compatibles, donc que la libc ait
été compilée pour le noyau, donc avec le linux-libc-dev
correspondant. Mais, heureusement, il n’y a jamais de grosse
variation susceptible de générer une incompatibilité totale,
tout au plus des nouveautés qui ne seront pas accessibles aux
vieilles versions de la libc.
Une libc très très vieille pourrait contenir quelques appels
qui auraient changé ou disparu depuis mais il faut vraiment le
chercher.
Donc, même si tu en as besoin pour compiler, une version un
peu plus vieille ne gênera pas.
En plus, si tu utilises les sources du noyau Debian pour faire
ton noyau « optimisé », le paquet linux-libc-dev sera exactement
le même puisque ce sera la même version des sources.
>[…]
> Par contre, Debian sépare comme d'habitude les bibliothèques
> de développement, d'où la présence d'un paquet supplémentaire
> 'linux-libc-dev' ou bien 'kernel-headers' si l'on compile un
> noyau en suivant les règles de Debian.
Et, pour compléter, kernel-headers sert (uniquement) à la
compilation de modules externes (c’est-à-dire de modules qui ne
sont pas dans les sources du noyau). Ses en-têtes définissent
l’API interne du noyau : comment le noyau cause avec les
modules.
--
Sylvain Sauvage
Reply to: