Je prévois d'écrire des pilotes de périphériques et j'ai besoin d'obtenir la source du noyau Linux. Ma version du noyau Linux est 3.2.0-23-generic-pae et j'ai téléchargé l'image à partir de cela . Dans de nombreux articles que j'ai lus, il me dit que j'ai besoin d'avoir l'arborescence du noyau entière pour commencer à insérer de nouveaux modules.
Est-ce suffisant si je télécharge cette image et la colle dans le usr/src/
dossier ou dois-je faire autre chose?
Réponses:
Cela obtiendra la source du noyau de stock:
Vous pouvez vérifier quelle version du noyau fonctionne comme ceci:
Qui imprimera quelque chose comme:
Vous pouvez trouver une liste des versions actuelles des packages source disponibles sur votre système via:
Pour obtenir la version amont du noyau:
Dans le lien ci-dessus, «trusty» est le nom de code de la version d'Ubuntu. Vous pouvez trouver le nom de code de la version d'Ubuntu que vous avez installée via:
la source
apt-get source
nonapt-get install
. Ensuite, l'arborescence source se retrouvera dans votre chemin actuel .est le moyen le plus simple. Il téléchargera la source à partir de votre référentiel - et ce sera la même que la version que vous exécutez (en supposant que vous ne l'ayez pas déjà personnalisée).
Mais si vous voulez trouver où la source est gérée, vous pouvez exécuter:
Recherchez l'attribut 'Vcs-' (système de contrôle de version). Ce sera généralement un dépôt git (Vcs-Git) ou mercurial.
Remarque - ces commandes fonctionnent avec n'importe quel package. Remplacez simplement 'linux' par le paquet qui vous intéresse. Et notez également que 'apt-get source' n'a pas besoin d'un accès sudo et va vider la source dans votre répertoire actuel.
la source
/usr/src
- pas la source complète du noyau - sur Ubuntu 16.04Téléchargez la source directement depuis Launchpad
Curieusement, tout le monde recommande
apt-get source
ce qui ne fonctionne pas la plupart du temps si vous recherchez une version spécifique du noyau:Imaginons que vous ayez besoin de la source du noyau pour 3.19.0-58:
apt-get source linux-image-3.19.0-58-generic
obtiendra la source du dernier noyau de la série: 3.19.0-80 dans ce cas, ce qui n'est pas ce que vous avez demandé.Vous avez donc deux options:
1) Abandonnez, installez le noyau 3.19.0-80 et utilisez
apt-get source
2) Obtenez la source directement depuis le tableau de bord:
Site Google : launchpad.net "linux-image-3.19.0-58-generic"
Cela devrait vous donner la page du package Launchpad pour cette version.
Faites défiler vers le bas, cliquez sur le lien "Source:", vous êtes maintenant sur la page Source du package .
Faites défiler vers le bas et le téléchargement
.tar.gz
,.diff.gz
, les.dsc
fichiers:dpkg-source -x *.dsc
Remarques:
la source
Choisissez-en un parmi:
Si on vous dit de donner des URL 'sources' dans votre
sources.list
, allez modifier votre/etc/apt/sources.list
fichier et décommentez ladeb-src
ligne souhaitée , par exemple (si vous utilisez Xenial):La suppression
#
de cette dernière ligne permet de télécharger les référentiels de sources, y compris les sources du noyau.Remarques:
apt-get
.4.4.0-75-generic
par exemple)./usr/src/linux-source-4.4.0/
(par exemple).la source