Chargement...
 
Skip to main content

2 - Les distributions et les noyaux


Pb compilation noyau Ubuntu

France
Bonjour,😎

En suivant le tuto d'Ubuntu, j'ai essayé de compiler le noyau et voici les résultats :

sudo -i
cd /usr/src : ok
m linux : ok
wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.15.6.tar.bz2 tar xjvf linux-2.6.15.6.tar.bz2 : ok
wget http://people.redhat.com/mingo/realtime-preempt/older/patch-2.6.15-rt21 : ok

apt-get install kernel-patch-evms
Reading package lists... Done
Building dependency tree... Done
You might want to run `apt-get -f install' to correct these:
The following packages have unmet dependencies:
kernel-patch-evms: Depends: grep-dctrl but it is not going to be installed
sun-java5-jre: Depends: sun-java5-bin (= 1.5.0-06-1) but it is not going to be installed or
ia32-sun-java5-bin (= 1.5.0-06-1) but it is not instal lable
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a s olution).
gunzip kernel-patches/diffs/evms-bd-claim/2.6-bd-claim.patch.gz gunzip: kernel-patches/diffs/evms-bd-claim/2.6-bd-claim.patch.gz: No such file o r directory : ?

gunzip kernel-patches/diffs/evms-bd-claim/2.6-bd-claim.patch.gz
gunzip: kernel-patches/diffs/evms-bd-claim/2.6-bd-claim.patch.gz: No such file or directory : ?

mv linux-2.6.15.6 linux-2.6.15.6-rt21 : ok
n -s linux-2.6.15.6-rt21 linux : ok

cd linux
bash: cd: linux: Aucun fichier ou répertoire de ce type
patch -p1 < ../patch-2.6.15-rt21
bash: ../patch-2.6.15-rt21: Aucun fichier ou répertoire de ce type
bash: ../kernel-patches/diffs/evms-bd-claim/2.6-bd-claim.patch: Aucun fichier ou répertoire de ce type
: ?

rm Makefile.rej rm: ne peut enlever `Makefile.rej': Aucun fichier ou répertoire de ce type : ?

rm Makefile.rej gedit Makefile : Cela m'ouvre un texte vierge !

apt-get install kernel-package
E: Impossible d'ouvrir le fichier verrou /var/lib/dpkg/lock - open (13 Permission non accordée)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
make-kpkg clean
bash: make-kpkg : commande introuvable
make-kpkg modules_clean
bash: make-kpkg : commande introuvable
make-kpkg revision 1 initrd kernel_image kernel_headers modules_image
bash: make-kpkg : commande introuvable : ??? (mais je m'en doutais un peu 🙄)

Merci de m'éclairer 💡 😡 j'ai juste indiqué les erreurs pour éviter des lignes interminables 😁 J'ai vraiment besoin de ce noyau pour jouer en temps réel avec faible latence...
m linux : ok

Tu as marqué "m linux", c'est "rm linux" ("r" + "m" comme "remove") (faute de frappe ?)


Voui. Pourquoi ne pas prendre les dernières versions ? (kernel 2.6.17.4 et patch 2.6.17-rt7) A priori, ça ne devrait pas changer la suite !

apt-get install kernel-patch-evms
Reading package lists... Done
Building dependency tree... Done
You might want to run `apt-get -f install' to correct these:
The following packages have unmet dependencies:
kernel-patch-evms: Depends: grep-dctrl but it is not going to be installed
sun-java5-jre: Depends: sun-java5-bin (= 1.5.0-06-1) but it is not going to be installed or
ia32-sun-java5-bin (= 1.5.0-06-1) but it is not instal lable
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a s olution).

Y'a un soucis à l'install du patch "evms"...

gunzip kernel-patches/diffs/evms-bd-claim/2.6-bd-claim.patch.gz gunzip: kernel-patches/diffs/evms-bd-claim/2.6-bd-claim.patch.gz: No such file o r directory : ?
gunzip kernel-patches/diffs/evms-bd-claim/2.6-bd-claim.patch.gz
gunzip: kernel-patches/diffs/evms-bd-claim/2.6-bd-claim.patch.gz: No such file or directory : ?

Du coup ces commandes plantent logiquement ! Tu te sers d'evms ? Je ne suis pas sûr que ce soit indispensable ... (en même temps, je ne connais pas trop Ubuntu)

mv linux-2.6.15.6 linux-2.6.15.6-rt21 : ok

OK, si tu prends les dernières versions penses à changer les n° (mv linux-2.6.17.4 linux-2.6.17.4-rt7)

n -s linux-2.6.15.6-rt21 linux : ok

C'est "ln -s" (comme "lien"). Faute de frappe ? ça expliquerait l'erreur ci-dessous !

cd linux
bash: cd: linux: Aucun fichier ou répertoire de ce type

Si tu ne peux pas aller dans le répertoire /usr/src/linux, toutes les autres commandes (patch, etc.) ne risquent pas de marcher ! On verra donc la suite après.

T.

France
Après 2 blocages de l'ordinateur due à l'économiseur d'écran 😑 (Sempron 2006 / K8mmv / 512M°), je reprend...

Merci, j'ai récupéré le noyau 2.6.17.4 et décompressé : ok puis j'en ai fait de même avec le patch 2.6.17-rt7 : ok

Au fait, c'était bien rm ! (la commande s'est bien effectuée)

Je ne vois trop l'usage de l'Evms (je laisse de coté pour l'instant (mais c'est peut être une erreur)

mv linux-2.6.17.4 linux-2.6.17.4-rt7 : ok

ln -s linux-2.6.17-rt7 linux : ok

cd linux
-bash: cd: linux: No such file or directory

La suite 😁 la suite 😁 la suite 😁 & Thanks 😉





cd linux
-bash: cd: linux: No such file or directory

T'es bien dans /usr/src ? que donne la commande
ls -l

(un "L" minuscule ❗

au fait :
ln -s linux-2.6.17-rt7 linux : ok

Bah non, c'est pas plutôt
ln -s linux-2.6.17.4-rt7 linux : ok

tu as oublié le ".4" (qui a dit que Linux rime avec rigueur ❗
(En fait tu fais un lien symbolique nommé "linux" pointant sur le répertoire des sources que tu as téléchargées/décompressées. Pourquoi ? pass'que les patchs s'appliquent au répertoire nommé "linux" pour éviter d'avoir à les multiplier dès que le kernel change de n° -versions mineures, etc.)
France
Voici :

ls -l
total 42032
lrwxrwxrwx 1 root src 16 2006-07-14 16:20 linux -> linux-2.6.17-rt7
drwxrwxrwx 19 root root 4096 2006-07-06 22:02 linux-2.6.17.4-rt7
-rw-r--r-- 1 root src 41273436 2006-07-06 22:05 linux-2.6.17.4.tar.bz2
-rw-r--r-- 1 root src 1711933 2006-07-05 11:19 patch-2.6.17-rt7

et

linux-2.6.17.4-rt7 linux
ln: création d'un lien symbolique `linux' vers `linux-2.6.17.4-rt7': Le fichier existe.

Effectivement, j'ai vraiment besoin de lunettes 😬


Voici :

ls -l
total 42032
lrwxrwxrwx 1 root src 16 2006-07-14 16:20 linux - linux-2.6.17-rt7
drwxrwxrwx 19 root root 4096 2006-07-06 22:02 linux-2.6.17.4-rt7
-rw-r--r-- 1 root src 41273436 2006-07-06 22:05 linux-2.6.17.4.tar.bz2
-rw-r--r-- 1 root src 1711933 2006-07-05 11:19 patch-2.6.17-rt7

et

linux-2.6.17.4-rt7 linux
ln: création d'un lien symbolique `linux' vers `linux-2.6.17.4-rt7': Le fichier existe.

Ok, c'est juste que ton lien "linux" pointe vers un répertoire qui n'existe pas (tu as oublié le ".4").
Pour rectifier ça, enlève le mauvais lien et refait correctement :
rm linux
ln -s linux-2.6.17.4-rt7 linux

(n'oublies pas le ".4" cette fois !



Sinon, moi j'utilise habituellement la commande
ln -sf linux-2.6.17.4-rt7 linux

(le "f" - pour "force"- écrase le lien existant éventuellement)

T
France
Ok, cela fonctionne

/usr/src# rm linux
/usr/src# ln -s linux-2.6.17.4-rt7 linux
/usr/src# ln -sf linux-2.6.17.4-rt7 linux
/usr/src#

Par contre :

patch -p1 < ../patch-2.6.17.4-rt7
bash: ../patch-2.6.17.4-rt7: Aucun fichier ou répertoire de ce type
ou
patch -p1 < ../patch-2.6.17-rt7
bash: ../patch-2.6.17-rt7: Aucun fichier ou répertoire de ce type

Attention, chez moi le patch se nomme patch-2.6.17-rt7 dans le répertoire /usr/src/ !!! 😬




patch -p1

cd /usr/src/linux
patch -p1 < ../patch-2.6.17-rt7

pis le reste du tuto (sauf evms)
France
J'ai quelques soucis à ce niveau pour modifier le MakeFile et
changer le numéro de la version EXTRAVERSION = .6 en EXTRAVERSION = .6-rt21

/usr/src/linux# gedit Makefile
Xlib: connection to ":1.0" refused by server
Xlib: No protocol specified

cannot open display: (null)
Exécuter « gedit --help » pour obtenir la liste complète des options en ligne de commande.

France
Bon, en mode graphique, j'ai pus accéder au fichier Makefile le modifier et sauvegarder (sauf que c'était la version .4 ? au lieu de .6 du tuto)

Je continue...
France
ok, c'est la version 2.6.15-23-386

donc /usr/src/linux# cp /boot/config-2.6.15-23-386 .config : ok

mais /usr/src/linux# make menuconfig
HOSTLD scripts/kconfig/mconf
HOSTCC scripts/kconfig/lxdialog/checklist.o
Dans le fichier inclus à partir de scripts/kconfig/lxdialog/checklist.c:24:
scripts/kconfig/lxdialog/dialog.h:31:20: erreur: curses.h : Aucun fichier ou répertoire de ce type
In file included from scripts/kconfig/lxdialog/checklist.c:24:
scripts/kconfig/lxdialog/dialog.h:128: erreur: syntax error before «use_colors»
scripts/kconfig/lxdialog/dialog.h:128: attention : type defaults to «int» in declaration of «use_colors»
scripts/kconfig/lxdialog/dialog.h:128: attention : la définition de données n'a pas de type ni de classe de stockage
scripts/kconfig/lxdialog/dialog.h:129: erreur: syntax error before «use_shadow»
scripts/kconfig/lxdialog/dialog.h:129: attention : type defaults to «int» in declaration of «use_shadow»
scripts/kconfig/lxdialog/dialog.h:129: attention : la définition de données n'a pas de type ni de classe de stockage
scripts/kconfig/lxdialog/dialog.h:131: erreur: syntax error before «attributes»
scripts/kconfig/lxdialog/dialog.h:131: attention : type defaults to «int» in declaration of «attributes»
scripts/kconfig/lxdialog/dialog.h:131: attention : la définition de données n'a pas de type ni de classe de stockage
scripts/kconfig/lxdialog/dialog.h:143: erreur: syntax error before «*» token
scripts/kconfig/lxdialog/dialog.h:143: attention : function declaration isn»t a prototype
scripts/kconfig/lxdialog/dialog.h:146: erreur: syntax error before «*» token
scripts/kconfig/lxdialog/dialog.h:146: attention : function declaration isn»t a prototype
scripts/kconfig/lxdialog/dialog.h:147: erreur: syntax error before «*» token
scripts/kconfig/lxdialog/dialog.h:147: attention : function declaration isn»t a prototype
scripts/kconfig/lxdialog/dialog.h:148: erreur: syntax error before «*» token
scripts/kconfig/lxdialog/dialog.h:148: attention : function declaration isn»t a prototype
scripts/kconfig/lxdialog/dialog.h:149: erreur: syntax error before «*» token
scripts/kconfig/lxdialog/dialog.h:150: attention : function declaration isn»t a prototype
scripts/kconfig/lxdialog/dialog.h:151: erreur: syntax error before «*» token
scripts/kconfig/lxdialog/dialog.h:151: attention : function declaration isn»t a prototype
scripts/kconfig/lxdialog/checklist.c:31: erreur: syntax error before «*» token
scripts/kconfig/lxdialog/checklist.c:33: attention : function declaration isn»t a prototype
scripts/kconfig/lxdialog/checklist.c: Dans la fonction «print_item» :
scripts/kconfig/lxdialog/checklist.c:37: attention : implicit declaration of function «wattrset»
scripts/kconfig/lxdialog/checklist.c:37: erreur: «win» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:37: erreur: (Chaque identificateur non déclaré est rapporté une seule fois
scripts/kconfig/lxdialog/checklist.c:37: erreur: pour chaque fonction dans laquelle il apparaît.)
scripts/kconfig/lxdialog/checklist.c:38: attention : implicit declaration of function «wmove»
scripts/kconfig/lxdialog/checklist.c:38: erreur: «choice» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:40: attention : implicit declaration of function «waddch»
scripts/kconfig/lxdialog/checklist.c:43: erreur: «selected» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:44: attention : implicit declaration of function «wprintw»
scripts/kconfig/lxdialog/checklist.c:44: erreur: «status» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:47: attention : implicit declaration of function «mvwaddch»
scripts/kconfig/lxdialog/checklist.c:47: erreur: «item» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:49: attention : implicit declaration of function «waddstr»
scripts/kconfig/lxdialog/checklist.c:52: attention : implicit declaration of function «wrefresh»
scripts/kconfig/lxdialog/checklist.c: Hors de toute fonction :
scripts/kconfig/lxdialog/checklist.c:59: erreur: syntax error before «*» token
scripts/kconfig/lxdialog/checklist.c:61: attention : function declaration isn»t a prototype
scripts/kconfig/lxdialog/checklist.c: Dans la fonction «print_arrows» :
scripts/kconfig/lxdialog/checklist.c:62: erreur: «win» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:62: erreur: «y» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:62: erreur: «x» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:64: erreur: «scroll» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:76: erreur: «height» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:79: erreur: «item_no» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:79: erreur: «choice» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c: Hors de toute fonction :
scripts/kconfig/lxdialog/checklist.c:95: erreur: syntax error before «*» token
scripts/kconfig/lxdialog/checklist.c:96: attention : function declaration isn»t a prototype
scripts/kconfig/lxdialog/checklist.c: Dans la fonction «print_buttons» :
scripts/kconfig/lxdialog/checklist.c:97: erreur: «width» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:98: erreur: «height» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:100: erreur: «dialog» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:100: erreur: «selected» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c: Dans la fonction «dialog_checklist» :
scripts/kconfig/lxdialog/checklist.c:117: erreur: «WINDOW» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:117: erreur: «dialog» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:117: erreur: «list» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:117: attention : l'opérande à gauche de la virgule n'a pas d'effet
scripts/kconfig/lxdialog/checklist.c:117: attention : déclaration sasn effet
scripts/kconfig/lxdialog/checklist.c:121: attention : implicit declaration of function «endwin»
scripts/kconfig/lxdialog/checklist.c:122: attention : implicit declaration of function «fprintf»
scripts/kconfig/lxdialog/checklist.c:122: attention : incompatible implicit declaration of built-in function «fprintf»
scripts/kconfig/lxdialog/checklist.c:122: erreur: «stderr» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:140: erreur: «COLS» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:141: erreur: «LINES» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:143: erreur: «stdscr» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:145: attention : implicit declaration of function «newwin»
scripts/kconfig/lxdialog/checklist.c:146: attention : implicit declaration of function «keypad»
scripts/kconfig/lxdialog/checklist.c:146: erreur: «TRUE» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:166: attention : implicit declaration of function «subwin»
scripts/kconfig/lxdialog/checklist.c:199: attention : implicit declaration of function «wnoutrefresh»
scripts/kconfig/lxdialog/checklist.c:201: attention : implicit declaration of function «doupdate»
scripts/kconfig/lxdialog/checklist.c:204: attention : implicit declaration of function «wgetch»
scripts/kconfig/lxdialog/checklist.c:211: erreur: «KEY_UP» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:211: erreur: «KEY_DOWN» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:221: erreur: «FALSE» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:222: attention : implicit declaration of function «scrollok»
scripts/kconfig/lxdialog/checklist.c:223: attention : implicit declaration of function «wscrl»
scripts/kconfig/lxdialog/checklist.c:282: attention : incompatible implicit declaration of built-in function «fprintf»
scripts/kconfig/lxdialog/checklist.c:283: attention : implicit declaration of function «delwin»
scripts/kconfig/lxdialog/checklist.c:287: erreur: «KEY_LEFT» undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:288: erreur: «KEY_RIGHT» undeclared (first use in this function)
make2: *** scripts/kconfig/lxdialog/checklist.o Erreur 1
make1: *** menuconfig Erreur 2
make: *** menuconfig Erreur 2
root@didk8mmv:/usr/src/linux#

Des erreurs....



France
ok, c'est la version 2.6.15-23-386

donc /usr/src/linux# cp /boot/config-2.6.15-23-386 .config : ok

mais /usr/src/linux# make menuconfig
HOSTLD scripts/kconfig/mconf
HOSTCC scripts/kconfig/lxdialog/checklist.o
Dans le fichier inclus à partir de scripts/kconfig/lxdialog/checklist.c:24:
scripts/kconfig/lxdialog/dialog.h:31:20: erreur: curses.h : Aucun fichier ou répertoire de ce type
In file included from scripts/kconfig/lxdialog/checklist.c:24:


Tu n'as pas installé les packages nécessaires à la compilation du noyau genre build-essential

Pour pouvoir avoir le monde graphique en root tape juste xhost + avant de faire ton sudo su


France
Buil-essential était installé ! (mais je viens de rajouter des compléments)

Dois-je continuer à choisir les options pour compiler ou faut-il que je recommence 😎
France
Buil-essential était installé ! (mais je viens de rajouter des compléments)

Dois-je continuer à choisir les options pour compiler ou faut-il que je recommence 😎


La copie de ton fichier .config d'orgine suffit. Ensuite tu pourras optimiser en virant les modules qui ne t'intéressent pas

France
Tout s'est (normalement) bien passé mais il n'apparait pas dans le menu de Grub, j'ai essayé d'éditer le fichier menu.lst mais en fait je ne sais pas ou aller chercher le nouveau noyau 😬
France
En fait j'avais oublié cette étape (entre autre) :

usr# dpkg -i kernel-image-2.6.17.6-rt21_1_i386.deb
dpkg : erreur de traitement de kernel-image-2.6.17.6-rt21_1_i386.deb (--install) :
ne peut pas accéder à l'archive: Aucun fichier ou répertoire de ce type
Des erreurs ont été rencontrées pendant l'exécution :
kernel-image-2.6.17.6-rt21_1_i386.deb

mais il y a des erreurs... (et j'ai bien vérifié le nom de ce kernel qui fait 18.4M° et je suis en root)

France
he ben dis donc, y en des problèmes
bon courage 😂
En fait j'avais oublié cette étape (entre autre) :

usr# dpkg -i kernel-image-2.6.17.6-rt21_1_i386.deb
dpkg : erreur de traitement de kernel-image-2.6.17.6-rt21_1_i386.deb (--install) :
ne peut pas accéder à l'archive: Aucun fichier ou répertoire de ce type
Des erreurs ont été rencontrées pendant l'exécution :
kernel-image-2.6.17.6-rt21_1_i386.deb

mais il y a des erreurs... (et j'ai bien vérifié le nom de ce kernel qui fait 18.4M° et je suis en root)

Tu es sûr d'être dans le répertoire où se trouve ton image de noyau ? Normalement, tu devrais être dans "/usr/src" :
cd /usr/src
dpkg -i kernel-image-2.6.17.6-rt21_1_i386.deb


T.
France
Alors je sais pas pourquoi mais en faisant la même manipulation cd /usr/src
dpkg -i kernel-image-2.6.17.6-rt21_1_i386.deb, cela a enfin fonctionné 😊

Au demarrage le nouveau noyau 2.6.17.6-rt21 apparait enfin dans le menu grub mais je n'obtiens qu'un écran noir, et en mode recovery aussi 😕 même en attendant plusieurs minutes (la diode du ddur ne s'active plus et l'ordi est bloqué)

J'ai peut être choisi des options un peu trop exotiques, non 😁

Je vais refaire les mêmes manipulations sur un autre ordi (dans ma chambre, car je suis un pneu crevé 😊, histoire de voir si tout se passe bien, en tout cas, cela avance 😎
Alors je sais pas pourquoi mais en faisant la même manipulation cd /usr/src
dpkg -i kernel-image-2.6.17.6-rt21_1_i386.deb, cela a enfin fonctionné 😊

Au demarrage le nouveau noyau 2.6.17.6-rt21 apparait enfin dans le menu grub mais je n'obtiens qu'un écran noir, et en mode recovery aussi 😕 même en attendant plusieurs minutes (la diode du ddur ne s'active plus et l'ordi est bloqué)

J'ai peut être choisi des options un peu trop exotiques, non 😁

Je vais refaire les mêmes manipulations sur un autre ordi (dans ma chambre, car je suis un pneu crevé 😊, histoire de voir si tout se passe bien, en tout cas, cela avance 😎


Ton nouveau noyau, y démarre ou pas ? Si oui, y va jusque où ?
Tu as quoi dans /boot/grub/menu.lst ?

T.
Page: 1/2  [Suivant]
1  2