[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: