Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

compilation noyau

10 réponses
Avatar
remy
bonjour

n'ayant plus fait la manip depuis disons quelques temps voire années

je recherche un petit tutoriel
donc

http://ftp.traduc.org/doc-vf/gazette-linux/html/2005/111/lg111-C.html

ce qui donne

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2
tar xvjf linux-2.6.9.tar.bz2
cd linux-2.6.9
make menuconfig

ou sudo make menuconfig


et là j'ai une palanqué d'erreurs

HOSTCC scripts/basic/fixdep
scripts/basic/fixdep.c:105:23: erreur: sys/types.h : Aucun fichier ou
répertoire de ce type
scripts/basic/fixdep.c:106:22: erreur: sys/stat.h : Aucun fichier ou
répertoire de ce type
scripts/basic/fixdep.c:107:22: erreur: sys/mman.h : Aucun fichier ou
répertoire de ce type
...


dans le fichier fixdep.c

#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <limits.h>
#include <ctype.h>
#include <arpa/inet.h>

j'en conclus que je n'ai pas les fichiers mais après une petite
recherche je les ai bien
j'en conclus que j'ai dû mettre le bazar quelque part ou
qu'il me manque quelque chose

n'auriez vous pas une petite idée ?

distri Ubuntu 7.04 Feisty Fawn

presque par défaut

merci remy

10 réponses

Avatar
oLaFKeWL
bonjour

n'ayant plus fait la manip depuis disons quelques temps voire années

je recherche un petit tutoriel
donc

http://ftp.traduc.org/doc-vf/gazette-linux/html/2005/111/lg111-C.html

ce qui donne

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2
tar xvjf linux-2.6.9.tar.bz2
cd linux-2.6.9
make menuconfig

ou sudo make menuconfig


et là j'ai une palanqué d'erreurs

HOSTCC scripts/basic/fixdep
scripts/basic/fixdep.c:105:23: erreur: sys/types.h : Aucun fichier ou
répertoire de ce type
scripts/basic/fixdep.c:106:22: erreur: sys/stat.h : Aucun fichier ou
répertoire de ce type
scripts/basic/fixdep.c:107:22: erreur: sys/mman.h : Aucun fichier ou
répertoire de ce type
...


dans le fichier fixdep.c

#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <limits.h>
#include <ctype.h>
#include <arpa/inet.h>

j'en conclus que je n'ai pas les fichiers mais après une petite
recherche je les ai bien
j'en conclus que j'ai dû mettre le bazar quelque part ou
qu'il me manque quelque chose

n'auriez vous pas une petite idée ?

distri Ubuntu 7.04 Feisty Fawn

presque par défaut

merci remy



Il semble qu'il te manque les kernels headers.
Une question, tu veux compiler un kernel, mais pourquoi en choisir un
aussi vieux que le 2.6.9 ?

Avatar
remy



Il semble qu'il te manque les kernels headers.


je veux bien te croire mais avec l'erreur
....
scripts/basic/fixdep.c:105:23: erreur: sys/types.h : Aucun fichier ...


si je regarde dans
:~$ ls ....
....
/home/remy/Desktop/linux-2.6.9/include/asm-i386/types.h


donc en gros j'ai bien les en-têtes mais pas dans le bon répertoire
je n'ai pas de répertoire sys dans linux-2.6.9/

donc il me manque bien les en-têtes ,ou le makfile n'est pas bon.
ce que je ne crois pas une seule seconde


et dans le readme il y a bien


INSTALLING the kernel:

- If you install the full sources, put the kernel tarball in a
directory where you have permissions (eg. your home directory) and
unpack it:

gzip -cd linux-2.6.XX.tar.gz | tar xvf -

Replace "XX" with the version number of the latest kernel.

Do NOT use the /usr/src/linux area! This area has a (usually
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
incomplete) set of kernel headers that are used by the library header
files. They should match the library, and not get messed up by
whatever the kernel-du-jour happens to be.

- You can also upgrade between 2.6.xx releases by patching. Patches are
distributed in the traditional gzip and the new bzip2 format. To
install by patching, get all the newer patch files, enter the
top level directory of the kernel source (linux-2.6.xx) and execute:

gzip -cd ../patch-2.6.xx.gz | patch -p1

.....


et je n'ai pas réussi à mettre la main sur les en-têtes sur le site
kernel.org
et google me dit que les en-têtes sont sensés déjà être dedans
en gros je suis à la ramasse :-(

le but du jeu partir des sources officielles les compiler
et faire tourner le tout dans une virtual box mais je me sens mal barré




Une question, tu veux compiler un kernel, mais pourquoi en choisir un
aussi vieux que le 2.6.9 ?


parce que j'ai le même problème avec un plus récent se qui me conforte
dans l'idée que le problème vient de mon environnement

ps :Synaptic me dit que j'ai bien gcc 4:4.1.2-1 ubuntu1 est installé


Avatar
Nicolas George
remy wrote in message <fqp2n3$sjh$:
tar xvjf linux-2.6.9.tar.bz2


Ne compile pas un noyau aussi vieux.

scripts/basic/fixdep.c:105:23: erreur: sys/types.h : Aucun fichier ou
répertoire de ce type


Avant de chercher à compiler un noyau, arrange-toi pour pouvoir compiler un
programme quelconque simple.

Et désactive cette infâme traduction française, au moins pour les outils
système et de développement.

Avatar
Cumbalero

et je n'ai pas réussi à mettre la main sur les en-têtes sur le s ite
kernel.org
et google me dit que les en-têtes sont sensés déjà être dedan s


Bien sûr qu'ils le sont!

Plusieurs trucs: as-tu tout ce qui est nécessaire à la compilation?

Et ce n'est pas parce qu'on dit de ne pas mettre tes sources dans
/usr/src/linux que tu ne peux pas faire de lien symbolique...

A+
JF

Avatar
Yamo'
Salut,
Le Thu, 06 Mar 2008 17:00:29 +0100, remy a écrit ce message (
<fqp2n3$sjh$ ):


distri Ubuntu 7.04 Feisty Fawn


Tu peux lire :

<http://doc.ubuntu-fr.org/tutoriel/comment_compiler_un_kernel_sur_mesure>
<http://blog.thelinuxfr.org/2006/06/20/compiler-son-kernel/>

Personnellement, j'ai déjà compilé un noyau mais je n'ai jamais réussit à
booter dessus, j'avais suivi les instructions d'une page que je ne
retrouve plus.


Stéphane
--
http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html
http://home.in.tum.de/~jain/software/oe-quotefix/

Avatar
remy

et je n'ai pas réussi à mettre la main sur les en-têtes sur le site
kernel.org
et google me dit que les en-têtes sont sensés déjà être dedans


Bien sûr qu'ils le sont!
j'en suis assez convaincu puisque je les trouve

mais comme déjà dit, pas vraiment au bon emplacement
donc bis répétita avec un plus récent

cd /usr/src

j'ai quelques répertoires avec des headers installés par la distribution
donc je récupère le noyau qui va bien

sudo wget
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.16.tar.bz2

tar xvjf linux-2.6.20.16.tar.bz2
ls /usr/src

linux-2.6.20.16 linux-headers-2.6.20-15-generic
linux-2.6.20.16.tar.bz2 linux-headers-2.6.20-16
linux-headers-2.6.20-15 linux-headers-2.6.20-16-generic

cd linux-2.6.20.16/
:/usr/src/linux-2.6.20.16$ sudo make menuconfig


HOSTCC scripts/basic/fixdep
scripts/basic/fixdep.c:107:23: erreur: sys/types.h : Aucun fichier ou
répertoire de ce type

et en anglais je pense que cela veut aussi dire qu'il ne le trouve pas
je rigole nicolas



Plusieurs trucs: as-tu tout ce qui est nécessaire à la compilation?

Et ce n'est pas parce qu'on dit de ne pas mettre tes sources dans
/usr/src/linux que tu ne peux pas faire de lien symbolique...

bon il me reste cette piste un problème dans les outils un truc à la

con probablement

remy


A+
JF



Avatar
Pascal Hambourg
Salut,

remy wrote in message <fqp2n3$sjh$:

tar xvjf linux-2.6.9.tar.bz2


Ne compile pas un noyau aussi vieux.


Ni une version de noyau de kernel.org connue pour contenir de grosses
failles de sécurité comme les 2.6.20. Prendre soit les dernières
versions des séries 2.6.22 et au delà sur kernel.org, soit les sources
du noyau à jour fournies par la distribution (kernel-source-2.6.xx ou
linux-source-2.6.xx).

scripts/basic/fixdep.c:105:23: erreur: sys/types.h : Aucun fichier ou
répertoire de ce type


Avant de chercher à compiler un noyau, arrange-toi pour pouvoir compiler un
programme quelconque simple.


Indice : les bibliothèques et en-têtes de développement de la glibc
sont-ils installés dans /usr/include ? (paquet libc6-dev) ? Pour
menuconfig il faudra aussi les bibliothèques et en-têtes de
développement de ncurses (paquet libncurses-dev).


Avatar
remy


Indice : les bibliothèques et en-têtes de développement de la glibc
sont-ils installés dans /usr/include ? (paquet libc6-dev) ? Pour
menuconfig il faudra aussi les bibliothèques et en-têtes de
développement de ncurses (paquet libncurses-dev).


bingo
merci j'aurais du y penser du moins pour la libc6
qu'il me fallait les en têtes
l'autre cela aurait été une autre histoire

bon bref cela fct avec make config
mais avec make menuconfig

:/usr/src/linux-2.6.20.16$ sudo make menuconfig
Password:
HOSTCC scripts/kconfig/lxdialog/checklist.o
Dans le fichier inclus à partir de scripts/kconfig/lxdialog/checklist.c:24:
scripts/kconfig/lxdialog/dialog.h:32: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:97: erreur: expected
specifier-qualifier-list before «chtype"
scripts/kconfig/lxdialog/dialog.h:187: erreur: expected «)" before «*" token
scripts/kconfig/lxdialog/dialog.h:193: erreur: expected «)" before «*" token

et pour make xconfig

:/usr/src/linux-2.6.20.16$ sudo make xconfig
CHECK qt
*
* Unable to find the QT installation. Please make sure that
* the QT development package is correctly installed and
* either install pkg-config or set the QTDIR environment
* variable to the correct location.
*
make[1]: *** Pas de règle pour fabriquer la cible «
scripts/kconfig/.tmp_qtcheck », nécessaire pour «
scripts/kconfig/qconf.o ». Arrêt.
make: *** [xconfig] Erreur 2
:/usr/src/linux-2.6.20.16$

en gros il me manque encore une ou des lib(s) probablement
t'aurais une petite idée

QT development fait t'il référence a

qt3-dev-tools
qt4-dev-tools
ou autre choses pour make xconfig par exemple



merci remy

Avatar
Pascal Hambourg

Indice : les bibliothèques et en-têtes de développement de la glibc
sont-ils installés dans /usr/include ? (paquet libc6-dev) ? Pour
menuconfig il faudra aussi les bibliothèques et en-têtes de
développement de ncurses (paquet libncurses-dev).


bingo
merci j'aurais du y penser du moins pour la libc6
qu'il me fallait les en têtes
l'autre cela aurait été une autre histoire


L'autre ?

bon bref cela fct avec make config
mais avec make menuconfig

:/usr/src/linux-2.6.20.16$ sudo make menuconfig
Password:
HOSTCC scripts/kconfig/lxdialog/checklist.o
Dans le fichier inclus à partir de scripts/kconfig/lxdialog/checklist.c:24:
scripts/kconfig/lxdialog/dialog.h:32:20: erreur: curses.h : Aucun
fichier ou répertoire de ce type


Comme je l'ai écrit, il faut installer les fichiers de développement de
ncurses. Le paquet doit s'appeler libncurses-dev ou libncurses5-dev.

et pour make xconfig
[...]

en gros il me manque encore une ou des lib(s) probablement
t'aurais une petite idée


Joker. J'ai toujours utilisé menuconfig (ou alors il y a longtemps, sur
Debian potato, et j'ai oublié).

PS: j'espère que tes sources linux-2.6.20.16 proviennent de la
distribution et non de kernel.org, et contiennent les corrections de
sécurité récentes.


Avatar
remy

Indice : les bibliothèques et en-têtes de développement de la glibc
sont-ils installés dans /usr/include ? (paquet libc6-dev) ? Pour
menuconfig il faudra aussi les bibliothèques et en-têtes de
développement de ncurses (paquet libncurses-dev).


bingo
merci j'aurais du y penser du moins pour la libc6
qu'il me fallait les en têtes
l'autre cela aurait été une autre histoire


L'autre ?




ben l'autre c'était ncurses-base mais
make menuconfig ne fonctionnait
par contre avec libncurses5-dev cela fonctionne nettement mieux



PS: j'espère que tes sources linux-2.6.20.16 proviennent de la
distribution et non de kernel.org, et contiennent les corrections de
sécurité récentes.


promis je change dans tous les cas merci

remy