Je suis this pour apprendre à compiler le noyau. j'ai utilisé
apt-get source linux-image-$(uname -r)
télécharger le code source du noyau Linux que j’utilise couramment.
Après avoir exécuté la commande ci-dessus, les fichiers suivants (et les répertoires) ont été téléchargés.
user $ ls -l
total 130972
drwxrwxr-x 27 sps sps 4096 Oct 16 03:10 linux-lts-vivid-3.19.0
-rw-rw-r-- 1 sps sps 10980684 Oct 5 10:54 linux-lts-vivid_3.19.0-30.34~14.04.1.diff.gz
-rw-rw-r-- 1 sps sps 7396 Oct 5 10:54 linux-lts-vivid_3.19.0-30.34~14.04.1.dsc
-rw-rw-r-- 1 sps sps 123115155 May 6 21:35 linux-lts-vivid_3.19.0.orig.tar.gz
user $
Dans la même page, il est mentionné:
Construire le noyau est assez facile. Changez votre répertoire de travail à la racine de l’arborescence du noyau, puis tapez les commandes suivantes:
Mais je ne sais pas quelle est la "racine de l’arbre source du noyau".
Est-ce le répertoire actuel (où j'ai exécuté apt-get source ...
et où se trouvent les fichiers ci-dessus)?
Ou est-ce le répertoire:
drwxrwxr-x 27 sps sps 4096 Oct 16 03:10 linux-lts-vivid-3.19.0
ou dois-je extraire l'archive
-rw-rw-r-- 1 sps sps 123115155 May 6 21:35 linux-lts-vivid_3.19.0.orig.tar.gz
Sortie pour uname -r
:
user $ uname -r
3.19.0-30-generic
user $
Depuis le wiki de Debian :
Les packages sources vous fournissent tous les fichiers nécessaires pour compiler ou créer le logiciel souhaité.
Il consiste, dans sa forme la plus simple, en trois fichiers:
La archive amont avec . Tar.gz se terminant
Un fichier de description avec .dsc se terminant. Il contient le nom du paquet, à la fois dans son nom de fichier et son contenu (après le mot-clé Source:).
Une archive avec toutes les modifications apportées à la source en amont, ainsi que tous les fichiers créés pour le paquet Debian.
- Cela a un . Debian.tar.gz (format source: 3.0)
- ou une fin . diff.gz (format source: 1.0)
Il en va de même pour Ubuntu et dans votre cas:
Lorsque vous exécutez apt-get source linux-image-$(uname -r)
, l'archive amont est automatiquement corrigée des modifications répertoriées dans "linux-lts-vivid_3.19.0-30.34 ~ 14.04.1.diff.gz" dans "linux-lts-vivid-3.19.0 ":
% apt-get source linux-image-$(uname -r)
# ...
dpkg-source: info: extracting linux in linux-3.19.0
dpkg-source: info: unpacking linux_3.19.0.orig.tar.gz
dpkg-source: info: applying linux_3.19.0-30.34.diff.gz
# ...
La racine de votre arborescence de noyaux est le répertoire linux-lts-vivid-3.19.0
.
A propos des autres fichiers:
Dans l'archive linux-lts-vivid_3.19.0.orig.tar.gz
, vous pouvez trouver le noyau "Vanilla", tel que publié en amont; les développeurs Ubuntu ont ajouté à ce noyau des correctifs, des pilotes, des modifications apportées aux éléments collectés dans le fichier diff
compressé dans linux-lts-vivid_3.19.0-30.34~14.04.1.diff.gz
.
Hmmm. Lorsque vous exécutez la commande
apt-get source linux-image-`uname -r`
la commande devrait automatiquement extraire les archives de la source et les corriger pour créer un répertoire appelé après votre noyau. Dans votre cas, on dirait qu'il s'appelle 'linux-lts-vivid-3.19.0' - il se trouve dans votre liste de répertoires.
Donc, c’est le répertoire source, vous devriez lancer:
cd linux-lts-vivid-3.19.0
puis continuez à suivre les instructions