Compiler la version 2.6.32 du noyau linux
driss -
je voudrais savoir s'il est nécéssaire d'avoir dans le répertoire /boot le fichier de configuration du noyau à compiler; par exemple je voudrais configurer la version 2.6.32 du noyau ( dont le fichier de configuration n'existe pas dans /boot) et la version du noyau sur lequel je démarre mon pc est 2.6.28-17. que faut-il faire ? : télécharger le fichier de config de 2.6.32 et le copier dans le /boot ? parce que je bloque à l'étape de configuration (pour installer les composantes ipv6) où on me demande de charger un fchier de config.
merci
22 réponses
- 1
- 2
Le problème posé est de savoir s'il faut obligatoirement un fichier de configuration du noyau dans /boot pour compiler une version différente, comme passer de 2.6.28-17 à 2.6.32, et comment s'en procurer un. En pratique, le noyau se configure à partir du répertoire des sources et d'un fichier .config soit extrait d'une installation existante, soit généré via make menuconfig ou make oldconfig. Le fichier .config peut provenir du fichier /boot/config-<version> ou d'un fichier équivalent dans le répertoire des sources et doit être adapté à la version cible. D'autres éléments à vérifier incluent l'activation des composants IPv6 lors de la configuration et la comparaison des dépendances entre les versions, afin d'éviter des échecs au moment du make.
ls -l /boot/ ls -l /usr/src/
cat /boot/grub/menu.lst
ls -l /boot/
w-r--r-- 1 root root 529118 2009-04-17 04:41 abi-2.6.28-11-generic
-rw-r--r-- 1 root root 528372 2009-12-01 22:04 abi-2.6.28-17-generic
-rw-r--r-- 1 root root 96795 2009-04-17 04:41 config-2.6.28-11-generic
-rw-r--r-- 1 root root 99263 2009-12-24 06:50 config-2.6.28-17-generic
-rw-r--r-- 1 root root 99263 2009-12-24 03:30 config-2.6.28-17-generic.old
drwxr-xr-x 2 root root 4096 2009-12-24 00:47 grub
-rw-r--r-- 1 root root 7541073 2009-12-23 20:19 initrd.img-2.6.28-11-generic
-rw-r--r-- 1 root root 7552365 2009-12-24 12:25 initrd.img-2.6.28-17-generic
drwx------ 2 root root 16384 2009-12-23 20:06 lost+found
-rw-r--r-- 1 root root 128796 2009-03-27 18:15 memtest86+.bin
-rw-r--r-- 1 root root 1456232 2009-04-17 04:41 System.map-2.6.28-11-generic
-rw-r--r-- 1 root root 1450875 2009-12-01 22:04 System.map-2.6.28-17-generic
-rw-r--r-- 1 root root 1074 2009-04-17 04:43 vmcoreinfo-2.6.28-11-generic
-rw-r--r-- 1 root root 1074 2009-12-01 22:06 vmcoreinfo-2.6.28-17-generic
-rw-r--r-- 1 root root 3501776 2009-04-17 04:41 vmlinuz-2.6.28-11-generic
-rw-r--r-- 1 root root 3491600 2009-12-01 22:04 vmlinuz-2.6.28-17-generic
ls -l /usr/src
lrwxrwxrwx 1 root src 11 2009-12-27 19:22 linux -> linux-2.6.7
drwxrwxr-x 18 500 500 4096 2004-06-16 06:19 linux-2.6.7
drwxr-xr-x 22 root root 4096 2009-04-20 15:09 linux-headers-2.6.28-11
drwxr-xr-x 7 root root 4096 2009-04-20 15:09 linux-headers-2.6.28-11-generic
drwxr-xr-x 22 root root 4096 2009-12-24 00:46 linux-headers-2.6.28-17
drwxr-xr-x 7 root root 4096 2009-12-24 00:46 linux-headers-2.6.28-17-generic
-rw-r--r-- 1 root root 305631 2009-01-12 21:51 linux-wlan-ng.tar.bz2
drwxr-xr-x 7 root root 4096 2009-12-24 04:46 rpm
cat /boot/grub/menu.lst
# menu.lst - See: grub(8), info grub, update-grub(8)
# grub-install(8), grub-floppy(8),
# grub-md5-crypt, /usr/share/doc/grub
# and /usr/share/doc/grub-doc/.
## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not use 'savedefault' or your
# array will desync and will not let you boot your system.
default 0
## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout 10
## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
#hiddenmenu
# Pretty colours
#color cyan/blue white/blue
## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
# e.g. password topsecret
# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret
#
# examples
#
# title Windows 95/98/NT/2000
# root (hd0,0)
# makeactive
# chainloader +1
#
# title Linux
# root (hd0,1)
# kernel /vmlinuz root=/dev/hda2 ro
#
#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST
### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below
## DO NOT UNCOMMENT THEM, Just edit them to your needs
## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
## kopt_2_6_8=root=/dev/hdc1 ro
## kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=9eb6c46f-fd30-4dc7-bb2c-0b322c055493 ro
...
la réponse est non !
que faut-il faire ? : télécharger le fichier de config de 2.6.32 et le copier dans le /boot ?
on compile en général dans /usr/src/
:-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question2. j'ai téléchargé la version 2.6.7 avec la commande suivante
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.7.tar.gz
3. désarchivé : tar –zxvf linux-2.4.26.tar.gz
Allez on va faire ça proprement.
Quelle version du noyau veux-tu compilé?
le résultat de ls -l /usr/src :
lrwxrwxrwx 1 root src 11 2009-12-27 19:22 linux -> linux-2.6.7
drwxrwxr-x 18 500 500 4096 2004-06-16 06:19 linux-2.6.7
drwxr-xr-x 22 root root 4096 2009-04-20 15:09 linux-headers-2.6.28-11
drwxr-xr-x 7 root root 4096 2009-04-20 15:09 linux-headers-2.6.28-11-generic
drwxr-xr-x 22 root root 4096 2009-12-24 00:46 linux-headers-2.6.28-17
drwxr-xr-x 7 root root 4096 2009-12-24 00:46 linux-headers-2.6.28-17-generic
-rw-r--r-- 1 root root 305631 2009-01-12 21:51 linux-wlan-ng.tar.bz2
drwxr-xr-x 7 root root 4096 2009-12-24 04:46 rpm
je voulais bien compiler la version 2.6.32 mais elle n'est pas stable; c'est la version 2.6.7 qui est stable pour les versions 2.6 du noyau.
Oulà, d'où tu sors ça?
Voici ce qu'on vois sur le site officiel kernel.org
Latest Stable Kernel: Download 2.6.32.2
La version 2.6.7 du kernel date de
Fichier :linux-2.6.7.tar.bz2 34270 KB 16.06.2004 00:00:00
Tu peux regarder ici pour les étapes messages 13
Si tu as une erreur quelconque, ne continue pas, affiche ici ce que tu as fait et ce que ça coince.
Comme ça on pourra peut être te guider.
A savoir que la compilation du noyau ne mets pas en péril ton système, ce qui ne veut pas dire que tu dois faire n'importe quoi surtout quand il s'agit des commande de suppression, remplacement, etc.
Tu peux utiliser l'option -i pour les commandes de suppression, cp et mv sur les fichiers.
Pour chaque opération la confirmation sera demandée.
Si c'est un répertoire -i ça sera chiant puisque la confirmation sera demandée pour chaque fichier et/ou sous-répertoire. Dans ce cas si tu n'est pas sûr de ce que tu fais tu peux le demander ici.
#make modules (s'intérrompt avec le méssage suivant )
{standard input}: Assembler messages:
{standard input}:46561: Fatal error: can't write drivers/scsi/.tmp_ultrastor.o: No space left on device
{standard input}:46561: Fatal error: can't close drivers/scsi/.tmp_ultrastor.o: No space left on device
make[2]: *** [drivers/scsi/ultrastor.o] Erreur 1
make[1]: *** [drivers/scsi] Erreur 2
make: *** [drivers] Erreur 2
Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur
/dev/sda10 9,2G 1,3G 7,5G 15% /
tmpfs 1005M 0 1005M 0% /lib/init/rw
varrun 1005M 108K 1005M 1% /var/run
varlock 1005M 0 1005M 0% /var/lock
udev 1005M 184K 1005M 1% /dev
tmpfs 1005M 84K 1005M 1% /dev/shm
lrm 1005M 2,2M 1003M 1% /lib/modules/2.6.28-17-generic/volatile
/dev/sda9 4,8G 164M 4,4G 4% /boot
/dev/sda7 4,8G 184M 4,4G 4% /home
/dev/sda8 4,6G 4,6G 0 100% /usr
drwxr-xr-x 4 root root 4096 2009-12-27 21:02 gcc-4.2
drwxr-xr-x 4 root root 4096 2009-12-27 21:02 gcc-4.3
lrwxrwxrwx 1 root src 14 2009-12-28 13:44 linux -> linux-2.6.32.2
drwxrwxr-x 24 root root 4096 2009-12-28 14:18 linux-2.6.32.2
drwxr-xr-x 22 root root 4096 2009-12-24 00:46 linux-headers-2.6.28-17
drwxr-xr-x 7 root root 4096 2009-12-24 00:46 linux-headers-2.6.28-17-generic
-rw-r--r-- 1 root root 305631 2009-01-12 21:51 linux-wlan-ng.tar.bz2
drwxr-xr-x 7 root root 4096 2009-12-24 04:46 rpm
Oui j'ai quelque chose.
Ta partition est saturée.
Je viens de décompresser les sources de kernel et je n'ai que 418 Mo occupé pas 2.4 Go
Je ne sais pas qui t'a conseillé de faire le partitionnement mais 4 Go pour boot c'est énorme
Affiche le résultat de
ls -l /usr/src
drwxr-xr-x 4 root root 4096 2009-12-27 21:02 gcc-4.2
drwxr-xr-x 4 root root 4096 2009-12-27 21:02 gcc-4.3
lrwxrwxrwx 1 root src 14 2009-12-28 13:44 linux -> linux-2.6.32.2
drwxrwxr-x 24 root root 4096 2009-12-28 14:18 linux-2.6.32.2
drwxr-xr-x 22 root root 4096 2009-12-24 00:46 linux-headers-2.6.28-17
drwxr-xr-x 7 root root 4096 2009-12-24 00:46 linux-headers-2.6.28-17-generic
-rw-r--r-- 1 root root 305631 2009-01-12 21:51 linux-wlan-ng.tar.bz2
drwxr-xr-x 7 root root 4096 2009-12-24 04:46 rpm
Excuse-moi, je t'ai déjà demandé ça.
Que contient le répertoire rpm?
ls -l /rpm du -sh /usr/src/rpm
Bref, il te faut de la place.
drwxr-xr-x 2 root root 4096 2009-03-18 19:14 BUILD
drwxr-xr-x 9 root root 4096 2009-12-24 04:46 RPMS
drwxr-xr-x 2 root root 4096 2009-03-18 19:14 SOURCES
drwxr-xr-x 2 root root 4096 2009-03-18 19:14 SPECS
drwxr-xr-x 2 root root 4096 2009-03-18 19:14 SRPMS
du -sh /usr/src/rpm
52K /usr/src/rpm
Regarde ton message 25
On voit bien que la partition est remplie à 100%
/dev/sda8 4,6G 4,6G 0 100% /usr
j aimerais savoir comment faire pour augmenter sa taille?
Tu es sur quelle distribution.
Affiche le résultat (à faire en root)
fdisk -l
(c'est un "L" minuscule pas le chiffre 1")
fdisk -l
Disque /dev/sda: 250.0 Go, 250059350016 octets
255 têtes, 63 secteurs/piste, 30401 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Identifiant de disque : 0x80d2f3ee
Périphérique Amorce Début Fin Blocs Id Système
/dev/sda1 * 1 16939 136054740 7 HPFS/NTFS
/dev/sda2 16939 27880 87890292+ f W95 Etendue (LBA)
/dev/sda3 29096 29227 1049600 c W95 FAT32 (LBA)
/dev/sda4 29227 30402 9439232 7 HPFS/NTFS
/dev/sda5 16939 24300 59127804 7 HPFS/NTFS
/dev/sda6 24301 24797 3992121 82 Linux swap / Solaris
/dev/sda7 24798 25428 5068476 83 Linux
/dev/sda8 25429 26036 4883728+ 83 Linux
/dev/sda9 26037 26664 5044378+ 83 Linux
/dev/sda10 26665 27880 9767488+ 83 Linux
Avec 250 Go et pas d'espace?! ;-)
Tu as mal partitionné au début ton linux.
Le répertoire /usr doit avoir plus de 4.6 Go quand même.
Vu que pour la racine tu as 9.2 Go, en faut tu aurais du faire tout simplement la racine de 15 Go.
Personnellement pour ne pas se casser la tête je te conseille de réinstaller Ubuntu et faire correctement le partitionnement.
Quand je vois ça
/dev/sda10 9,2G 1,3G 7,5G 15% /
/dev/sda9 4,8G 164M 4,4G 4% /boot
/dev/sda7 4,8G 184M 4,4G 4% /home
/dev/sda8 4,6G 4,6G 0 100% /usr
Ca donne 23.4 Go.
Donc tu peux partitionnement de la façon suivante :
10 à 12 Go pour /
le reste pour /home
n'oublie pas le swap que je ne l'ai pas inclus /dev/sda6
Ou
23.4 Go pour /
et le swap
Et toi ? tu travaille sur mipv6 ? kel est ton projet et à kel niveau es tu ?
https://www.nautilus6.org/doc/tc-nepl-howto-20060209-KuntzR/nepl-howto.html
T'utilise quelle version ?
Est ce que t'as un lien qui explique comment compiler un ancien noyau dans un nouveau noyau ? Je galère grave ....
merci d'avance
Exemple:
# wget https://mirrors.edge.kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.5.tar.gz
tu peux remplacer par
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.4.9.tar.gz
et dans les autres liens tu modifies de la même façon
je viens de parler avec le monsieur qui a écrit le tutorial sur mipv6 'nautilus", il s'appelle romain kuntz. Il m'a dis d'aller sur ce site:
http://www.umip.org/docs/
L'equipe qui est chargé d'installer les modules mipv6 basé sur le noyau 2.6.29 mettent a jour régulièrement ce site donc normalement tout dois fonctionner sans problèmes. Je commencerai a suivre ce tuto bientot , je te tiendrai au courant si tu veux.
voila A+
en fait dédé c'est Driss lol j'utilisais un pseudo avant, la c'est mon prenom =)
pas grave pour le probleme des drivers j'ai installé le noyau 2.6.29.5 directement sans me prendre la tete. Les deb sont la:
http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.29.5/
tu suis le tuto en installant les .deb selon l'ordre décrit ici :
http://doc.ubuntu-fr.org/kernel_2.6.29
tu relance ton ubuntu en choisissant ton noyau 2.6.29.5 ( telecharge startup manager pour ca)
ensuite tu suis le tuto sur umip.org
On se tiens au courant sur l'installation on se sentira moins seul maintenant ^^
A+
# gpg --keyserver wwwkeys.pgp.net --recv-keys 0x047A5026
gpg: répertoire '/root/.gnupg' créé
gpg: nouveau fichier de configuration '/root/.gnupg/gpg.conf' créé
gpg: AVERTISSEMENT: les options de '/root/.gnupg/gpg.conf' ne sont pas encore actives cette fois
gpg: le porte-clés '/root/.gnupg/secring.gpg' a été créé
gpg: le porte-clés '/root/.gnupg/pubring.gpg' a été créé
gpg: requête de la clé 047A5026 du serveur hkp wwwkeys.pgp.net
gpg: le délai d'attente du serveur de clés a expiré
gpg: la réception depuis le serveur de clés a échoué: erreur du serveur de clés
gpg: la réception depuis le serveur de clés a échoué: erreur du serveur de clés
Que faire d'autre ? Je me dis peut être que la commande avec laquelle le système accède au serveur est fausse parce que dans le message retourné on remarque qu'il demande l'accès avec 047A5026 plutôt que : 0x047A5026
gpg: requête de la clé 047A5026 du serveur hkp wwwkeys.pgp.net
gpg: le délai d'attente du serveur de clés a expiré
gpg: la réception depuis le serveur de clés a échoué: erreur du serveur de clés
Que faire ?
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.5.tar.gz.sign
# gpg --keyserver wwwkeys.pgp.net --recv-keys 0x517D0F0E
# gpg --verify linux-2.6.29.5.tar.gz.sign
Mais dis moi tu as commencé par le tuto sur l install de 2.6.29
http://doc.ubuntu-fr.org/kernel_2.6.29
et ensuite tu es allé sur cette page de umip ?
http://www.umip.org/docs/umip-debrepo.html
La version courante de mon système
#Uname -a
2.6.28-11-generic
Ma question c'était pour savoir si tu t'ai placé comme moi sur 2.6.28 avant de faire la compilation du noyau 2.6.29 ou plutot tu as travaillé sur 2.6.28-11-generic
Dans tous les cas, je suis sur le 2.6.28 et j'ai fait les étapes suivantes:
1. Je télécharge les linux headers et de l'image, je l'ai fait sans problème:
linux-headers-xxx
2.Ensuite je les ai installé
Mon problème maintenant c'est de savoir à kel niveau du tuto de umip tu as commencé ?
faut-il commencer à l'étape suivante ?
cd /usr/src/
# wget https://mirrors.edge.kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.5.tar.gz
Ou encore faut-il aller dans la rubrique DEBIAN ?
J'ai des erreurs ... tu as généré le .config ? en faisant le make menuconfig sans rien changer dedans ?
#make
HOSTLD scripts/kconfig/conf
scripts/kconfig/conf -s arch/x86/Kconfig
***
*** You have not yet configured your kernel!
*** (missing kernel .config file)
***
*** Please run some configurator (e.g. "make oldconfig" or
*** "make menuconfig" or "make xconfig").
***
make[2]: *** [silentoldconfig] Erreur 1
make[1]: *** [silentoldconfig] Erreur 2
make: *** Pas de règle pour fabriquer la cible « include/config/auto.conf », nécessaire pour « include/config/kernel.release ». Arrêt.
- 1
- 2
1. je me suis placée dans /usr/src
2. j'ai téléchargé la version 2.6.7 avec la commande suivante
wget https://mirrors.edge.kernel.org/pub/linux/kernel/v2.6/linux-2.6.7.tar.gz
3. désarchivé : tar –zxvf linux-2.4.26.tar.gz
4. rm –f linux-2.4.26.tar.gz
5. ln –s linux-2.4.26 linux
cependant, make menuconfig, make xconfig ou make gconfig ne me donnent rien de bon! mais l'erreur suivante est générée:
HOSTCC scripts/kconfig/mconf.o
scripts/kconfig/mconf.c:91: erreur: static declaration of 'current_menu' follows non-static declaration
scripts/kconfig/lkc.h:63: erreur: previous declaration of 'current_menu' was here
scripts/kconfig/mconf.c: In function 'exec_conf':
scripts/kconfig/mconf.c:225: attention : ignoring return value of 'pipe', declared with attribute warn_unused_result
scripts/kconfig/mconf.c: In function 'show_textbox':
scripts/kconfig/mconf.c:553: attention : ignoring return value of 'write', declared with attribute warn_unused_result
make[1]: *** [scripts/kconfig/mconf.o] Erreur 1
make: *** [menuconfig] Erreur 2
que faire ?
Ce n'est pas le 2.6.32 que tu voulais?
Le lien donné par lami20j est un exemple qu'il faut adapter en fonction du noyau que tu as choisis.
Si tu veux un suivi pas à pas, il n'y a pas de problème ;-)
On est trois sur le fil, même si l'un travaille il y en aura toujours bien un de présent ;-)
Commence par te logué en root, et te placer dans /usr/src/
Quand tu y es fais nous signe :-)