# \[Discussion\] Recompilation de son kernel

**URL:** <https://www.debian-fr.org/t/discussion-recompilation-de-son-kernel/2094>\
**Category:** Trucs et Astuces\
**Created:** [Février 20, 2016, 12:08 UTC](https://www.debian-fr.org/t/discussion-recompilation-de-son-kernel/2094 "2016-02-20T12:08:53Z")\
**Posts on this page:** 20\
**Page:** 8

<div class="post-metadata">

**Author:** ![ymer](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/y/cdc98d/32.png) [@ymer](https://www.debian-fr.org/u/ymer)\
**Post date:** [Février 20, 2016, 3:54 UTC](https://www.debian-fr.org/t/discussion-recompilation-de-son-kernel/2094/141 "2016-02-20T15:54:48Z")

</div>

.Mes vmlinuz et system.map sont plus gros d’un poil, mais le initrd.img passe de 4.3Mo à 2.6.

Je sais pas, ça à l’air bon 🙂

Ah non, le lecteur/graveur n’est pas reconnu! 😈

Je me disais aussi!

Je referais ça demain alors…

merci à vous de votre patience, bonne soirée! 😃

---

<div class="post-metadata">

**Author:** ![Ashgenesis](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/57b2e6/32.png) [@Ashgenesis](https://www.debian-fr.org/u/Ashgenesis)\
**Post date:** [Février 20, 2016, 3:54 UTC](https://www.debian-fr.org/t/discussion-recompilation-de-son-kernel/2094/142 "2016-02-20T15:54:52Z")

</div>

Ca commence plus a devenir du support qu’un complément pour le tutos si vous pouviez basculer le reste de la discussion dans support 😉

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 3:54 UTC](https://www.debian-fr.org/t/discussion-recompilation-de-son-kernel/2094/143 "2016-02-20T15:54:53Z")

</div>

[quote=“Ashgenesis”]Ca commence plus a devenir du support qu’un complément pour le tutos si vous pouviez basculer le reste de la discussion dans support 😉[/quote]ouais. c’est vrai ça.

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 20, 2016, 3:54 UTC](https://www.debian-fr.org/t/discussion-recompilation-de-son-kernel/2094/144 "2016-02-20T15:54:54Z")

</div>

[quote=“Ashgenesis”]Ca commence plus a devenir du support qu’un complément pour le tutos si vous pouviez basculer le reste de la discussion dans support 😉[/quote]+1 aussi car pour des pov gars comme moi qui cherchent une erreur de config, ils se noient ds ce tuto.  
Mon erreur est trouvée mais je pense que tu peux couper un peu Ash, ça n’en sera que mieux pour ce tuto.

---

<div class="post-metadata">

**Author:** ![panthere](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/5daacb/32.png) [@panthere](https://www.debian-fr.org/u/panthere)\
**Post date:** [Février 20, 2016, 4:00 UTC](https://www.debian-fr.org/t/discussion-recompilation-de-son-kernel/2094/145 "2016-02-20T16:00:00Z")

</div>

il faut recompiler le tuto 😆

---

<div class="post-metadata">

**Author:** ![Ashgenesis](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/57b2e6/32.png) [@Ashgenesis](https://www.debian-fr.org/u/Ashgenesis)\
**Post date:** [Février 20, 2016, 4:01 UTC](https://www.debian-fr.org/t/discussion-recompilation-de-son-kernel/2094/146 "2016-02-20T16:01:18Z")

</div>

Je pense garder ce fil en tant que fil de discussion et en refaire un complet et verrouillé comme Matt l’a fait pour les sources.list

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 20, 2016, 4:01 UTC](https://www.debian-fr.org/t/discussion-recompilation-de-son-kernel/2094/147 "2016-02-20T16:01:23Z")

</div>

[quote=“Ashgenesis”]Je pense garder ce fil en tant que fil de discussion et en refaire un complet et verrouillé comme Matt l’a fait pour les sources.list[/quote]Les grands esprits se rencontrent, c’est ce que je viens de te proposer de faire ds FI.  
Pense aussi de mettre la date de màj ds le titre, comme vient de le faire le Matt … heu !

---

<div class="post-metadata">

**Author:** ![bloodaxe70](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/ecae2f/32.png) [@bloodaxe70](https://www.debian-fr.org/u/bloodaxe70)\
**Post date:** [Février 20, 2016, 4:01 UTC](https://www.debian-fr.org/t/discussion-recompilation-de-son-kernel/2094/148 "2016-02-20T16:01:34Z")

</div>

Petite info, pour compiler un noyau sans être root, parceque c’est po biennnn.

```auto
make-kpkg --rootcmd fakeroot --append-to-version "customXX" --initrd buildpackage
```

et voilou. 😃

---

<div class="post-metadata">

**Author:** ![panthere](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/5daacb/32.png) [@panthere](https://www.debian-fr.org/u/panthere)\
**Post date:** [Février 20, 2016, 4:12 UTC](https://www.debian-fr.org/t/discussion-recompilation-de-son-kernel/2094/149 "2016-02-20T16:12:59Z")

</div>

j’ai un petit problème j’aurai besoin du noyaux 2.6.19  
pour la raison qui a été poster ici.  
[http://forum.debian-fr.org/viewtopic.php?p=86267#86267](http://forum.debian-fr.org/viewtopic.php?p=86267#86267)

Donc je suis en stable je fait comment pour pas pomper sure [kernel.org](http://kernel.org) ? 😲

---

<div class="post-metadata">

**Author:** ![Ashgenesis](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/57b2e6/32.png) [@Ashgenesis](https://www.debian-fr.org/u/Ashgenesis)\
**Post date:** [Février 20, 2016, 4:12 UTC](https://www.debian-fr.org/t/discussion-recompilation-de-son-kernel/2094/150 "2016-02-20T16:12:59Z")

</div>

Ben c’est l’un des seuls problème du 2.6.19 étant donné que etch était en train d’etre stabilisé ils ont du oublier de patcher le kernel 2.6.19 dans ce cas tu peux prendres celles de [kernel.org](http://kernel.org) et tu les patchs toi meme.

Sinon le plus simple tu prends les sources du 2.6.20

---

<div class="post-metadata">

**Author:** ![panthere](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/5daacb/32.png) [@panthere](https://www.debian-fr.org/u/panthere)\
**Post date:** [Février 20, 2016, 4:13 UTC](https://www.debian-fr.org/t/discussion-recompilation-de-son-kernel/2094/151 "2016-02-20T16:13:04Z")

</div>

ok mai les patch son ou ?

---

<div class="post-metadata">

**Author:** ![panthere](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/5daacb/32.png) [@panthere](https://www.debian-fr.org/u/panthere)\
**Post date:** [Février 20, 2016, 4:13 UTC](https://www.debian-fr.org/t/discussion-recompilation-de-son-kernel/2094/152 "2016-02-20T16:13:21Z")

</div>

bon finalment j’ai modifier le sources.list pour juste prendre le noyaux 2.6.22 et sa a marché 🙂

Merci pour ta réponse

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 20, 2016, 4:17 UTC](https://www.debian-fr.org/t/discussion-recompilation-de-son-kernel/2094/153 "2016-02-20T16:17:11Z")

</div>

Je m’interesse de plus en plus à xen et à la virtualisation donc. Mais comme j’utilise mon propre noyau 2.6.22 je ne sais pas si je peux installer linux-headers-2.6.22-1-vserver-amd64 ou linux-image-2.6.22-1-vserver-amd64.  
Si je doit pas les installer comment je les crée?

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 4:17 UTC](https://www.debian-fr.org/t/discussion-recompilation-de-son-kernel/2094/154 "2016-02-20T16:17:11Z")

</div>

quand tu crées tes noyaux xen, tu fais un kernel\_headers en même temps que le make-kpkg kernel\_image, peut être ?

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 20, 2016, 4:17 UTC](https://www.debian-fr.org/t/discussion-recompilation-de-son-kernel/2094/155 "2016-02-20T16:17:12Z")

</div>

linux-headers-2.6.22-1-vserver-amd64 et linux-header-2.6.22-1-amd64 sont identiques?  
(c’est le vserver qui me chagrine)

---

<div class="post-metadata">

**Author:** ![panthere](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/5daacb/32.png) [@panthere](https://www.debian-fr.org/u/panthere)\
**Post date:** [Février 20, 2016, 4:23 UTC](https://www.debian-fr.org/t/discussion-recompilation-de-son-kernel/2094/156 "2016-02-20T16:23:23Z")

</div>

Hello  
Simple question,i l y a un moyen de savoir ce qui est vraiment charger par le noyaux.

Pour les modules c’est simple un lsmod suffis. On à le nom du module, il suffis de ne pas les enlever dans un make xconfig. mai pour le reste je ne vois pas trop comment on si prend ?

---

<div class="post-metadata">

**Author:** ![themorice](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/c89c15/32.png) [@themorice](https://www.debian-fr.org/u/themorice)\
**Post date:** [Février 20, 2016, 4:23 UTC](https://www.debian-fr.org/t/discussion-recompilation-de-son-kernel/2094/157 "2016-02-20T16:23:27Z")

</div>

dans ton /boot tu as un fichier avec toute la configuration de la compilation de ton noyau, tu peux voir dedans ce qui est en dur , et ce qui est en module.  
Le fichier s’appelle “config-\<ton\_noyau\>”

---

<div class="post-metadata">

**Author:** ![panthere](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/5daacb/32.png) [@panthere](https://www.debian-fr.org/u/panthere)\
**Post date:** [Février 20, 2016, 4:23 UTC](https://www.debian-fr.org/t/discussion-recompilation-de-son-kernel/2094/158 "2016-02-20T16:23:31Z")

</div>

oui mai bon sa je sai , mai ce que je veux dire c’est ce qu’il utilise vraiment , car c’est pas parce que c’est en dure que c’est focément utiliser , ou je me fait un film 😕

---

<div class="post-metadata">

**Author:** ![panthere](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/5daacb/32.png) [@panthere](https://www.debian-fr.org/u/panthere)\
**Post date:** [Février 20, 2016, 4:47 UTC](https://www.debian-fr.org/t/discussion-recompilation-de-son-kernel/2094/159 "2016-02-20T16:47:48Z")

</div>

Yop je e suis fait un script pour le faire donc:

```auto
#!/bin/sh
#Script produit par panthere noire 

#Principe du script: le configurer,le lancer puis patienter.

#Répertoire : /kernel/source ici cela contient le tar des sources /kernel étant le répertoire principale

#Répertoire: /kernel/source/intel_00X sera crée et contiendra les sources décompresser

#Note: il faut pouvoir utiliser xconfig et dans la mesure du possible osd_cat,donc a installer.

#Astuces: Pour les sources dédier une partition pour la compilation sa a fortement tendance a fragmenter le disque.

# Fonction pour éviter de jouer avec screen et ps et grep :)
startcompil()
{
#================================== variable a changement fréquant ==============================================
	#News version. (il suffi d'incrémenter de 1 exeemple unamevertion="-custom-001")
	unamevertion="-custom-001"
	#News répertoire. 
	newpath="source/intel_001"
	#Ancienne configuration (cette foit le but est de garder a -1 l'incrémentation)
	oldconf="/kernel/source/intel_000/linux-source-2.6.22/.config"  
#============================ variable secondaire
	#Répertoire principale
	source="/kernel/"
	#nom du fichier sources
	filesources="linux-source-2.6.22.tar.bz2"
	#Repertoire cree une foit dé-taré
	taredfiles="linux-source-2.6.22"
	#Note: ne log pas toute la compilation mai seulement certaine étape
	Log="/kernel/$newpath/Log_Installation.txt"
#================================================================================================================
	(
		#Décompretion des sources
		cd $source 
		echo "Dé-tar en cours" 
		tar xvf $source$filesources 
		cp $oldconf $source$taredfiles
		echo "fin du détar" 
		mkdir $source$newpath 
		echo "déplacement des fichier" 
		mv $source$taredfiles $sorce$newpath 
		cd $souce$newpath/$taredfiles 
#==================================== Configuration par l'administrateur ========================================
		make oldconfig 
		make xconfig 
#================================================================================================================
		echo "compile en cours"
		echo "compile en cours" `date` >> "$Log"
		Startcompile=`date`
		cd $source$newpath/$taredfiles
		echo $source$newpath/$taredfiles
		nice -n 19 make-kpkg --us --uc --append-to-version $unamevertion --initrd buildpackage  
		echo "compile en terminée"
		echo "la compilation a commencer a $Startcompile et c'est terminer a " `date` >> "$Log"
	)
#================================================================================================================
# 2 eme processus lancer automatiquement après la fin le premier (pas indipensable)
#================================================================================================================
	(

		cd $source$newpath
		UBX=`pidof /usr/bin/X`
		if [-n "$UBX"] ;then
			echo -e "\n *********************************instalation des paquets en cours********************************" | osd_cat -A center -p top -f -bitstream-*-*-r-*-*-25-*-*-*-*-*-*-* -d 10
		fi
		InstallImage=`find $source$newpath -iname linux-image*.deb`
		echo "installation des paquets $InstallImage" `date` >> "$Log"
		dpkg -i $InstallImage
		UBX=`pidof /usr/bin/X`
		if [-n "$UBX"] ;then
			echo -e "\n *********************************instalation des paquets en cours********************************" | osd_cat -A center -p top -f -bitstream-*-*-r-*-*-25-*-*-*-*-*-*-* -d 10
		fi
		InstallHeader=`find $source$newpath -iname linux-h*.deb`
		echo "installation des paquets $InstallHeader" `date` >> "$Log"
		dpkg -i $InstallHeader
		UBX=`pidof /usr/bin/X`
		if [-n "$UBX"] ;then
			echo -e "\n *********************************instalation des paquets en cours********************************" | osd_cat -A center -p top -f -bitstream-*-*-r-*-*-25-*-*-*-*-*-*-* -d 10
		fi
		InstallSources=`find $source$newpath -iname linux-s*.deb`
		echo "installation des paquets $InstallSources" `date` >> "$Log"
		dpkg -i $InstallSources
		UBX=`pidof /usr/bin/X`
		if [-n "$UBX"] ;then
			echo -e "\n *********************************La compilation est terminée*********************************" | osd_cat -A center -p middle -f -bitstream-*-*-r-*-*-25-*-*-*-*-*-*-* -d 30
		fi
		echo "installation terminée" `date` >> "$Log"
	)
}
#démarrage avec la fonction
startcompil
exit 0 
```

Vous serez donc informer si vous êtes sou X pour la fin de la compilation. même dans un jeux ![8)](https://www.debian-fr.org/uploads/default/original/1X/ae031e9834d19166598edd060b063d44f1829139.gif "Cool")  
vous pouvez le lancer de la manière suivante si vous voulez un log de la compilation

```auto
cd /kernel/source
nice -n 18 screen -LdmS GAZ '/kernel/script_root/kernel_compil.sh'
```

Attention :  
1.- Inconvénient, pour que les paquets s’installe automatiquement, On est obliger de compiler en root ![:smt012](https://www.debian-fr.org/uploads/default/original/1X/5ab5476dc281287f8b7ad337242a19cb8485624d.gif) d’ou l’absence de fakroot ! Si quelqu’un a une idée je suis preneur 🙂

2.- Ne supprimer pas les paquet .deb des sources si aptitude déconne il va vous demander de ré-installer avant de supprimer. Si je le dit c’est que ça met arriver

Conseil pour les débutants: Apprener d’abords a vous familiariser avec les commande de base aux moins: cp ,chown, chmod,rm,apt-get , dpkg, tar,ps,grep  
Avant de jouer avec vôtre noyaux.

---

<div class="post-metadata">

**Author:** ![Ashgenesis](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/57b2e6/32.png) [@Ashgenesis](https://www.debian-fr.org/u/Ashgenesis)\
**Post date:** [Février 20, 2016, 4:47 UTC](https://www.debian-fr.org/t/discussion-recompilation-de-son-kernel/2094/160 "2016-02-20T16:47:48Z")

</div>

Sympa ton script j’ai juste parcouru rapidement, mais j’ai déjà quelques remarques. Visiblement tu ne connais pas la règle des 80 caractères 😃 C’est pas systématique, c’est une vieille règle, je le reconnais, mais ça à l’avantage d’éviter des longues lignes de codes illisibles.

Pourquoi n’as-tu pas mis la config dans un fichier de conf à part, que tu appel par la suite dans ton script?

Ta variable $unamevertion je l’aurais appelé $unameversion. Essaye de refactoriser ton code pour pouvoir prendre des paramètres en comptes ça permet d’éviter de configurer un fichier de conf avec finalement peu de variables à changer comme ça tu les passes directement en paramètre et c’est finis.  
J’avais déjà fait un script un peu moins évolué [ashgenesis.debian-fr.net](http://ashgenesis.debian-fr.net)

Une fois refactorisé, j’ajouterais ton script à mon tutos avec ton accord bien sur 😉 Et si tu as d’autres choses à faire rajouter sur la recompilation de kernel n’hésite pas à me contacter.

[Page précédente](https://www.debian-fr.org/t/discussion-recompilation-de-son-kernel/2094.md?page=7)

[Page suivante](https://www.debian-fr.org/t/discussion-recompilation-de-son-kernel/2094.md?page=9)
