OVH Cloud OVH Cloud

Compilation de noyau

12 réponses
Avatar
Bruno
Bonjour à tous.

Je sais cela ne sert à rien, mais la question n'est pas la ....

Voila, je susi parti d'une distribution debian sarge, (je la trouve super)
que j'ai monté sur vmware.
La version du noyau d'origine 2.6.8

Je décris ci dessous ce que j'ai fait, cela peu intérresser d'autres
débutants comme moi.

J'ai téléchargé wget -P /usr/src
ftp://ftp.fr.kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2

Pui j'ai décompressé cela en me mettant sous /usr/src/
tar xvjf linux-2.6.9.tar.bz2
ln -sfn linux-2.6.9 linux
cd linux et me voila sous /usr/src/linux pour la suite, jusque la tout va
bien.

je recupere le .config de l'ancienne version
make menuconfig
make clean
make bzImage 2>&1 | tee /tmp/bzImage.out c'est ok
make modules 2>&1 | tee /tmp/modules.out c'est ok
make modules_install 2>&1 | tee /tmp/modules_install.out et c'est ok

j'obtiens le message /arch/i386/boot/bzImage is ready

je fais

cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.9-bg (j'ai mis -bg dans
EXTRAVERSION de Makefile avant la compilation)
cp System.map /boot/System.map-2.6.9-bg
cp .config /boot/config-2.6.9-bg

bon il me reste lilo à mettre à jour avant de rebooter

MAIS la une question, il existe actuellement un fichier /initrd.img qui
pointe par un lien sur /boot/initrd.img-2.6.8
comment obtenir un fichier initrd.img-2.6.9-bg ?
je pense qu'il faille utiliser la commande mkinitrd, mais je ne vois pas
comment l'utiliser.

Pourriez vous me dire précisémment ce que je dois faire ?

Merci à tous en attendant de vous lire.

Cordialement Bruno.

10 réponses

1 2
Avatar
Bruno Mathieu
Bruno a écrit:

cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.9-bg    (j'ai mis -bg dans
EXTRAVERSION de Makefile avant la compilation)
cp System.map /boot/System.map-2.6.9-bg
cp .config /boot/config-2.6.9-bg

bon il me reste lilo à mettre à jour avant de rebooter

MAIS la une question, il existe actuellement un fichier /initrd.img qui
pointe par un lien sur /boot/initrd.img-2.6.8
comment obtenir un fichier initrd.img-2.6.9-bg ?
je pense qu'il faille utiliser la commande mkinitrd, mais je ne vois pas
comment l'utiliser.

initrd est une image compressée d'un système de fichier. C'est chargé avant

la "vraie" racine pour charger des modules... Tu peux décompresser le
initrd que tu as (en le copiant sous toto.gz et puis gunzip), le monter
(mount toto -o loop /mnt) et regarder ce qu'il y fait pour t'en inspirer...
ou pour vérifier ce qu'un mkinitrd t'auras fait.

Sinon tu peux parfois t'en passer si tes drivers ne sont pas en modules mais
dans le noyau. Dans ce cas tu supprimes la ligne correspondante dans le
lilo.conf. En gros, si ton noyau inclue en dur (pas en modules) tes
différents systèmes de fichiers, ça devrait booter sans initrd)

--
Bruno

Avatar
ncap

bon il me reste lilo à mettre à jour avant de rebooter

MAIS la une question, il existe actuellement un fichier /initrd.img qui
pointe par un lien sur /boot/initrd.img-2.6.8
comment obtenir un fichier initrd.img-2.6.9-bg ?
je pense qu'il faille utiliser la commande mkinitrd, mais je ne vois pas
comment l'utiliser.



mkinitrd /boot/initrd.img-2.6.9-bg 2.6.9-bg

ou sinon après l'install des modules, tu peux faire un make all
tout sera créé automatiquement ....

Avatar
Rakotomandimby Mihamina
On Sun, 31 Oct 2004 15:37:37 +0100, Bruno Mathieu wrote:

initrd est une image compressée d'un système de fichier. C'est chargé avant
la "vraie" racine pour charger des modules... Tu peux décompresser le
initrd que tu as (en le copiant sous toto.gz et puis gunzip), le monter
(mount toto -o loop /mnt) et regarder ce qu'il y fait pour t'en inspirer...
ou pour vérifier ce qu'un mkinitrd t'auras fait.


Eh beh ... mais pourquoi l'avoir appelé initrd ? c'est pour init root
directory ?

Sinon tu peux parfois t'en passer si tes drivers ne sont pas en modules
mais dans le noyau. Dans ce cas tu supprimes la ligne correspondante
dans le lilo.conf. En gros, si ton noyau inclue en dur (pas en modules)
tes différents systèmes de fichiers, ça devrait booter sans initrd)


Ah alors c'est pour ça que moi je n'ai jamais entendu parler de
problèmes avec ce truc sur mes machines: je mettais toujours ce dont
j'avais besoin en dur... :-) (enfin ... tout ce qui pouvait se mettre en
dur)

--
ASPO Infogérance - http://aspo.rktmb.org/activites/infogerance
Unofficial FAQ fcolc - http://faq.fcolc.eu.org/
Linux User Group sur Orléans et alentours.
Tél: + 33 2 38 76 43 65 (France)

Avatar
Bruno
Merci pour vos réponses

ncap tu me dis de faire un make all aprés l'install des modules, peu tu
détailler un tout petit peu ?

le make all je le lance depuis le répertoire /usr/src/linux ?

et qu'entends tu par l'installation des modules ?

merci et A+
Avatar
Rakotomandimby Mihamina
On Sun, 31 Oct 2004 16:38:04 +0100, Bruno wrote:

le make all je le lance depuis le répertoire /usr/src/linux ?


oui. de là ou tu lances tous tes 'make' d'ailleurs.

et qu'entends tu par l'installation des modules ?


make modules_install

merci et A+


A+
--
ASPO Infogérance - http://aspo.rktmb.org/activites/infogerance
Unofficial FAQ fcolc - http://faq.fcolc.eu.org/
Linux User Group sur Orléans et alentours.
Tél: + 33 2 38 76 43 65 (France)

Avatar
no_spam
On Sun, 31 Oct 2004 16:07:35 +0100, Rakotomandimby Mihamina wrote:

On Sun, 31 Oct 2004 15:37:37 +0100, Bruno Mathieu wrote:

initrd est une image compressée d'un système de fichier. C'est chargé avant
la "vraie" racine pour charger des modules... Tu peux décompresser le
initrd que tu as (en le copiant sous toto.gz et puis gunzip), le monter
(mount toto -o loop /mnt) et regarder ce qu'il y fait pour t'en inspirer...
ou pour vérifier ce qu'un mkinitrd t'auras fait.


Eh beh ... mais pourquoi l'avoir appelé initrd ? c'est pour init root
directory ?


init ram disk


Sinon tu peux parfois t'en passer si tes drivers ne sont pas en modules
mais dans le noyau. Dans ce cas tu supprimes la ligne correspondante
dans le lilo.conf. En gros, si ton noyau inclue en dur (pas en modules)
tes différents systèmes de fichiers, ça devrait booter sans initrd)


Ah alors c'est pour ça que moi je n'ai jamais entendu parler de
problèmes avec ce truc sur mes machines: je mettais toujours ce dont
j'avais besoin en dur... :-) (enfin ... tout ce qui pouvait se mettre en
dur)


Et oui, l'initrd ne sert à rien sur une machine bien configurée, sauf si
le kernel a besoin de drivers propriétaires pour booter (drivers RAID
hardware, par exemple...) ou éventuellement pour des systèmes embarqués
qui bootent alors uniquement dans l'initrd (mais il existe une solution
plus propre pour booter en RAM).


Avatar
Xes
mkinitrd /boot/initrd.img-2.6.9-bg 2.6.9-bg


C'est pas plutot mkinitrd -o /boot/initrd.img-2.6.9-bg /lib/modules/2.6.9-bg
??

Avatar
ncap
Xes wrote:
mkinitrd /boot/initrd.img-2.6.9-bg 2.6.9-bg



C'est pas plutot mkinitrd -o /boot/initrd.img-2.6.9-bg /lib/modules/2.6.9-bg
??





je viens de regarde le man mkinitrd => il me donne :
mkinitrd image kernel-version

pour la validité de ta commande, je donne ma langue au chat :-)

laurent.


Avatar
ncap
Bruno wrote:
Merci pour vos réponses

ncap tu me dis de faire un make all aprés l'install des modules, peu tu
détailler un tout petit peu ?

le make all je le lance depuis le répertoire /usr/src/linux ?

et qu'entends tu par l'installation des modules ?

merci et A+




dans /usr/src/linux =>
make
make modules
make modules_install
make all

si tout se passe bien, le mkinitrd est créé et même le lilo est mis à
jour ...

Avatar
Bruno
Merci cela fonctionne

J'ai donc fait
mkinitrd -o /boot/initrd.img-2.6.9-bg /lib/modules/2.6.9-bg
comme xes me l'a indiqué

puis un make all

et cela fonctionne

MERCI A TOUS
1 2