Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:systeme:kernel:compiler [08/05/2017 23:04] naguam [Étape 6 Compilation] |
doc:systeme:kernel:compiler [12/05/2017 21:44] naguam [Introduction | JE REFAIS donc en cours de modification | Désolé pour la modération mais cette fois c'est la bonne de toute manière c'est à considérer comme une mise à jour] |
||
---|---|---|---|
Ligne 14: | Ligne 14: | ||
* [[doc:systeme:noyau:compiler | compiler un noyau]] | * [[doc:systeme:noyau:compiler | compiler un noyau]] | ||
- | ===== Introduction ===== | + | ===== Introduction | JE REFAIS pour simplifier, donc en cours de modification | Désolé pour la modération mais cette fois c'est la bonne de toute manière c'est à considérer comme une mise à jour===== |
Compiler un kernel (plus réçent) est utile pour plusieurs choses : | Compiler un kernel (plus réçent) est utile pour plusieurs choses : | ||
Ligne 52: | Ligne 52: | ||
<code root>apt install libqt4-dev</code> | <code root>apt install libqt4-dev</code> | ||
quand nous seront à l'**étape 5** nous pourrons faire: | quand nous seront à l'**étape 5** nous pourrons faire: | ||
- | <code root>make xconfig</code> | + | <code user>make xconfig</code> |
* Pour les DE basés sur **gtk**: | * Pour les DE basés sur **gtk**: | ||
<code root>apt install libgtk2.0-dev libglade2-dev</code> | <code root>apt install libgtk2.0-dev libglade2-dev</code> | ||
quand nous seront à l'**étape 5** nous pourrons faire: | quand nous seront à l'**étape 5** nous pourrons faire: | ||
- | <code root>make gconfig</code> | + | <code user>make gconfig</code> |
===== Étape 2 Création répertoire de compilation ===== | ===== Étape 2 Création répertoire de compilation ===== | ||
Ligne 83: | Ligne 83: | ||
Ensuite vérification (à partir de l'exemple précédant), à reproduire en fonction de votre kernel: | Ensuite vérification (à partir de l'exemple précédant), à reproduire en fonction de votre kernel: | ||
- | <code user>xz -cd linux-$kversion.tar.xz | gpg --verify linux-$kversion.tar.sign - | grep ^.*key</code> | + | <code user>xz -cd linux-$kversion.tar.xz | gpg --verify linux-$kversion.tar.sign -</code> |
<code>gpg: Signature made mer. 03 mai 2017 17:38:11 CEST | <code>gpg: Signature made mer. 03 mai 2017 17:38:11 CEST | ||
gpg: using RSA key 647F28654894E3BD457199BE38DBBDC86092693E | gpg: using RSA key 647F28654894E3BD457199BE38DBBDC86092693E | ||
Ligne 94: | Ligne 94: | ||
gpg: imported: 1</code> | gpg: imported: 1</code> | ||
on recommence | on recommence | ||
- | <code user>xz -cd linux-$kversion.tar.xz | gpg --verify linux-$kversion.tar.sign - | grep ^.*key</code> | + | <code user>xz -cd linux-$kversion.tar.xz | gpg --verify linux-$kversion.tar.sign -</code> |
<code>gpg: Signature made mer. 03 mai 2017 17:38:11 CEST | <code>gpg: Signature made mer. 03 mai 2017 17:38:11 CEST | ||
gpg: using RSA key 647F28654894E3BD457199BE38DBBDC86092693E | gpg: using RSA key 647F28654894E3BD457199BE38DBBDC86092693E | ||
Ligne 117: | Ligne 117: | ||
On [[doc:systeme:tar|décompresse le kernel téléchargé]] avec cette commande : | On [[doc:systeme:tar|décompresse le kernel téléchargé]] avec cette commande : | ||
- | <code user>tar -xaf linux-X.X-X.tar.xz </code> | + | <code user>tar -xaf linux-$kversion.tar.xz</code> |
On se **déplace dans le nouveau dossier** créé par la décompression | On se **déplace dans le nouveau dossier** créé par la décompression | ||
- | <code user>cd linux-X.X-X/</code> | + | <code user>cd linux-$kversion</code> |
===== Étape 5 Configuration des options du noyau ===== | ===== Étape 5 Configuration des options du noyau ===== | ||
Ligne 186: | Ligne 186: | ||
<code user>fakeroot make deb-pkg -j$(nproc) LOCALVERSION=-$(dpkg --print-architecture) KDEB_PKGVERSION=$(make kernelversion)-1</code> | <code user>fakeroot make deb-pkg -j$(nproc) LOCALVERSION=-$(dpkg --print-architecture) KDEB_PKGVERSION=$(make kernelversion)-1</code> | ||
+ | A cause de l'**étape 5 2nde sous-partie** il se pourrait que vous le terminal vous demande de valider ou d'écrire quelque chose, tapez ''**entrée**'' à chaque fois. | ||
+ | <note important> | ||
+ | Vous pouvez aussi aussi remplacer ''deb-pkg'' par ''bindeb-pkg'' cela permettra de ne pas compiler | ||
+ | * linux...debian.tar.gz | ||
+ | * linux...dsc | ||
+ | * linux...orig.tar.gz | ||
+ | Cela permet d'avoir encore de compiler en moins de temps en plus du temps gagné si vous désactivez le **dgb étape 5.3**</note> | ||
==== Explications ==== | ==== Explications ==== | ||
* **fakeroot** va nous permettre de compiler sans être en ''root'' | * **fakeroot** va nous permettre de compiler sans être en ''root'' | ||
* **make** est l'outil qui va chercher les instructions dans le ''Makefile'' qui va donner les instructions au compilateur. | * **make** est l'outil qui va chercher les instructions dans le ''Makefile'' qui va donner les instructions au compilateur. | ||
- | * ''**-j$(nproc)**'' on attribue tous les ''threads'' possibles, on peut remplacer ''**$(nproc)'' par le nombre de threads voulu en ne dépaçant pas le nombre maximum de threads maximum de votre processeur \\ | + | * ''**-j$(nproc)**'' on attribue tous les ''threads'' possibles, on peut remplacer ''**$(nproc)**'' par le nombre de threads voulu en ne dépaçant pas le nombre maximum de threads maximum de votre processeur \\ |
ce n'est pas obligatoire, mais cela permet d'augmenter la vitesse de compilation, le processeur travaillant en entier sur tout ses cores avec tout ses threads avec cette option. | ce n'est pas obligatoire, mais cela permet d'augmenter la vitesse de compilation, le processeur travaillant en entier sur tout ses cores avec tout ses threads avec cette option. | ||
* **LOCALVERSION=-$(dpkg --print-architecture)**, optionnel, sert à nommer son kernel, au plus près du nommage Debian \\ | * **LOCALVERSION=-$(dpkg --print-architecture)**, optionnel, sert à nommer son kernel, au plus près du nommage Debian \\ | ||
- | vous pouvez utiliser aussi ''nomanecdotique'', mais sans lettre(s) majuscule(s) car sinon à la fin, lors de la construction du paquet, cela fera une belle erreur ''caractère non autorisé = la(les) lettre(s) en majuscule(s)''. | + | vous pouvez aussi comme dans l'exemple avec ''nomanecdotique'' remplacer ''nomanecdotique'' par un nom custom, mais sans lettre(s) majuscule(s) car sinon à la fin, lors de la construction du paquet, cela fera une belle erreur ''caractère non autorisé = la(les) lettre(s) en majuscule(s)''. |
* **KDEB_PKGVERSION=$(make kernelversion)-1**, optionnel, donne une version aux paquets construits à la fin. | * **KDEB_PKGVERSION=$(make kernelversion)-1**, optionnel, donne une version aux paquets construits à la fin. | ||
Ligne 217: | Ligne 224: | ||
Si vous n'avez pas désactivé la compilation de de dbg : | Si vous n'avez pas désactivé la compilation de de dbg : | ||
''linux-image-X.X-X-architecture-dbg_X.X-X-1_architecture.deb'' | ''linux-image-X.X-X-architecture-dbg_X.X-X-1_architecture.deb'' | ||
+ | |||
+ | Si vous avez utilisé "bindeb-pkg" à **l'étape 6** dans la note importante vous pouvez voir à cette étape les trois permiers paquets listé ci-dessus n'apparaissent pas et c'est normal, c'est pour cela que vous avez utilisés cet argument :-) | ||
Tout ça sans compter les fichiers qui étaient présents avant. | Tout ça sans compter les fichiers qui étaient présents avant. | ||
Ligne 226: | Ligne 235: | ||
Pour installer le kernel, nous devons au minimum installer l'image et les headers mais je conseille d'installer tout les .deb si vous ne manquez pas d'espace de stockage. | Pour installer le kernel, nous devons au minimum installer l'image et les headers mais je conseille d'installer tout les .deb si vous ne manquez pas d'espace de stockage. | ||
<code root>dpkg -i linux-image-X.X-X-architecture_X.X-X-1_architecture.deb linux-headers-X.X-X-architecture_X.X-X-1_architecture.deb</code> | <code root>dpkg -i linux-image-X.X-X-architecture_X.X-X-1_architecture.deb linux-headers-X.X-X-architecture_X.X-X-1_architecture.deb</code> | ||
- | (vous pouvez rajouter les autres paquets après ou directement *.deb si vous voulez tout installer) | + | (vous pouvez rajouter les autres paquets après ou directement *.deb si vous voulez tout installer)\\ |
Pour Déinstaller: | Pour Déinstaller: | ||
- | <code root>dpkg -P linux-image-X.X-X-architecture_X.X-X-1_architecture.deb linux-headers-X.X-X-architecture_X.X-X-1_architecture.deb</code> | + | <code root>dpkg -P linux-image-X.X-X-architecture_X.X-X-1_architecture.deb |
+ | dpkg -P linux-headers-X.X-X-architecture_X.X-X-1_architecture.deb</code> | ||
(vous pouvez rajouter les autres paquets après ou directement *.deb si vous voulez tout déinstaller en faisant attention à bien être dans le bon répertoire)\\ | (vous pouvez rajouter les autres paquets après ou directement *.deb si vous voulez tout déinstaller en faisant attention à bien être dans le bon répertoire)\\ | ||