Jump to content

Archived

This topic is now archived and is closed to further replies.

-rem-

[Debian GNU/Linux] Recompiler son propre noyau

Recommended Posts

si le noyau n'apparaîs pas, c'est un problème dans la configuration de grub...

Met juste cela :

title Debian267

root(hd0,5)

kernel /boot/vmlinuz-2.6.7 root=/dev/hda6

Share this post


Link to post
Share on other sites

Non, je pense que c'est un pb de configuration, dans la mesure où au second boot la version 2.6.7 est bien apparue (pourquoi au 2d boot et pas au 1er!), mais en demarrant sur ce 2.6.7 j'ai eu" Error 15: File not found".

Share this post


Link to post
Share on other sites

Eh bien, ce "file not found" est du au fait (logique, d'ailleur!) qu'il n'a pas trouvé le fichier, et donc que tu t'est trompé !

D'ailleur, enlève absolument le initrd 2.4 de l'entrée pour le noyau 2.6.7 !!!

Share this post


Link to post
Share on other sites

Merci,

En faisant ls /boot je pense avoir identifier mon pb:

# ls /boot/

config config-2.4.26-1-386 config-2.6.7 grub initrd.img-2.4.26-1-386 System.map System.map-2.4.26-1-386 System-map-2.6.7 System.map-2.6.7 vmlinuz vmlinuz-2.4.26-1-386 vmlinuz-2.6.7

1/ Je n'ai pas de initrd.img dans mon fichier /boot, pour y remédier, est-ce que je dois faire: cp /usr/src/linux/initrd.img /boot/initrd.img-2.6.7?

2/ J'ai créé 2 System-map-2.67, pour en supprimer un seul est-ce que je dois faire rm System-map-2.6.7 (ça va pas me shooter les 2 ?)

Share this post


Link to post
Share on other sites

1/ Je n'ai pas de initrd.img dans mon fichier /boot, pour y remédier, est-ce que je dois faire: cp /usr/src/linux/initrd.img /boot/initrd.img-2.6.7?

Si tu en as un et que tu l'a demande, oui, mais je ne comprends pas l'interet d'avoir un initrd. D'ailleurs, dans le guide debian il precise que c'est utile lorsque l'on fait une install sur plusieurs machines, mais sinon ils ne l'utilisent pas. Personnellement, je ne l'ai jamais mis sur aucun de mes noyaux, et cela ne m'a jamais pose aucun probleme.

2/ J'ai créé 2 System-map-2.67, pour en supprimer un seul est-ce que je dois faire rm System-map-2.6.7 (ça va pas me shooter les 2 ?)

Ben 2 fichiers ne peuvent avoir le meme nom....Donc, a priori, je dirais non, sauf en cas de lien. ls -harl /boot stp.

Share this post


Link to post
Share on other sites

L'initrd et le system.map ne sont en aucun cas requis pour pouvoir démarrer...

(d'ailleur, il faut configurer spécialement pour l'initrd avec root=/linuxrc et real_root...)

Share this post


Link to post
Share on other sites

Si tu en as un et que tu l'a demande, oui, mais je ne comprends pas l'interet d'avoir un initrd. D'ailleurs, dans le guide debian il precise que c'est utile lorsque l'on fait une install sur plusieurs machines, mais sinon ils ne l'utilisent pas. Personnellement, je ne l'ai jamais mis sur aucun de mes noyaux, et cela ne m'a jamais pose aucun probleme.

D'accord, mais mon pb c'est justement de pas savoir d'où vient mon pb, à première vu j'ai fait ce qu'il fallait

make menuconfig

make

make modules_install

make install

j’ai eu le message comme quoi, mon kernel-image se situe dans :

/boot/arch/i386/boot/bzImage-2.6.7

J’ai donc fait:

Cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.6.7

Et ensuite, j'ai configurer GRub:

Title : Debian GNU/Linux, kernel 2.6.7

Root : (hd0,5)

Kernel: /boot/vmlinuz-2.6.7 root=/dev/hda6 ro

Savedefault

Boot

Quelle est la cause de mon pb? Est-ce que cela peu venir d'un oublie lors de la config du noyau?

D'autre part, j'avais voulu appliqué la méthode du tuto en faisant:

make-kpkg --revision=1.0 kernel-image

mais ça aussi ça a pas marché, j'avais pourtant installé avant de commencer gcc, module-init-tools, binutils, modutils, make, le kernel-source en .deb,...., quelle est la raison qui peut expliquer que la commande est pas marchée?

Share this post


Link to post
Share on other sites

Voilà ce qu'il faut dans ta config de grub (menu.lst)

title Debian GNU/Linux, kernel 2.6.7
root (hd0,5)
kernel /boot/vmlinuz-2.6.7 root=/dev/hda6

Et c'est tout...

Ensuite, c'est bien possible que tu ai mal configuré ton noyau...

Share this post


Link to post
Share on other sites

D'accord, mais mon pb c'est justement de pas savoir d'où vient mon pb, à première vu j'ai fait ce qu'il fallait

make menuconfig

make

make modules_install

make install

j’ai eu le message comme quoi, mon kernel-image se situe dans :

J'arrive vraiment pas a comprendre. J'ecris un tuto, ou j'explique la methode debian pour recompiler le noyau, avec make-kpkg , mais non, tout le monde utilise cette putain de methode classique. Et apres ca se plaint que ca ne fonctionne pas... Ok, je t'accordes que ca devrait fonctionner avec cette methode la aussi, mais bon ! Debian offre une methode simple et rapide, regroupant les commandes classiques, et cela fonctionne a merveille autant l'utiliser donc. Si elle ne fonctionne pas, il faut chercher a comprendre pourquoi elle ne fonctionne pas et tenter de resoudre le pb, et non le contourner. On va voir ca un peu plus loin dans mon post...

Quelle est la cause de mon pb? Est-ce que cela peu venir d'un oublie lors de la config du noyau?

Ben j'en sais rien, tu ne precises pas le pb. Si c'est toujours ton file not found, c'est juste un pb de configuration de grub, dans ce cas, au boot de grub, tu peux tenter de lancer une console grub et explorer tes disques durs pour verifier que c'est bien hd0,5 qui contient ton noyau...

Un pb de conf du noyau, tu verrais ton noyau booter au debut, et puis tu aurais un "kernel panic".

autre part, j'avais voulu appliqué la méthode du tuto en faisant:

make-kpkg --revision=1.0 kernel-image

mais ça aussi ça a pas marché, j'avais pourtant installé avant de commencer gcc, module-init-tools, binutils, modutils, make, le kernel-source en .deb,...., quelle est la raison qui peut expliquer que la commande est pas marchée?

Ben on y vient... :transpi: Si tu precisais un peu plus "ce qui n'avait pas marché", on pourrait voir. tu dois avoir un rapport d'erreur, un log, dans ce cas fais le voir et je pourrais t'aider. Mais sans explications supplementaires je ne peux t'aider. C'est comme si je te disais tiens hier j'ai essayer d'installer un logiciel sur une machine mais ca ne s'est pas installe, pk ? :transpi: lol bien sur, mais tu vois, je ne peux pas t'aider si tu ne me fournis pas plus d'infos ! Reviens avec des traces et je mle ferias un plaisir de t'aider. Mais saches que si cette methode foire, la methode classique ne menera pas bien loin non plus, puisque la methode debian n'est jamais qu'une sorte de script regroupant les commandes classiques... :non: ( + fabrication du .deb )

Share this post


Link to post
Share on other sites
J'arrive vraiment pas a comprendre. J'ecris un tuto, ou j'explique la methode debian pour recompiler le noyau, avec make-kpkg , mais non, tout le monde utilise cette putain de methode classique. Et apres ca se plaint que ca ne fonctionne pas...

Clair, exactement pareil pour moi...

Y'a genkernel qui fonctionne très bien...J'ai expliqué, c'est facile...

Mais non, y'en a qui préfèrent chercher la difficultée :transpi:

Share this post


Link to post
Share on other sites

Y'a genkernel qui fonctionne très bien...J'ai expliqué, c'est facile...

oops ! coupable.... En fait, j'ai installer gentoo en suivant la doc gentoo, et par defaut ils recommandent de faire a l'ancienne...C'est ptet pour cela que tu as ces pb !

alors que moi, dans les guides debian, c'est bien precise la maniere re recompiler a la debian... J'ai pas encore teste genkernel, j'ai un peu trop l'habitude de faire a la main, mais je vais essayer si tu dis que c'est bien.

Share this post


Link to post
Share on other sites
oops ! coupable.... En fait, j'ai installer gentoo en suivant la doc gentoo, et par defaut ils recommandent de faire a l'ancienne...C'est ptet pour cela que tu as ces pb !

Oui, en fait, ils conseillent la configuration manuelle, pour éviter que les gens n'utilisent genkernel sans config...

Je pense qu'ils devraient conseiller genkernel, mettre le menuconfig par défaut, et mettre une option "--no-menuconfig"

En fait, la version que j'ai de la doc (l'ancienne), conseillait genkernel et hotplug (qui est une merveille, d'ailleur), alors que maintenant, ce n'es plus le cas... Je trouve ça dommage

Share this post


Link to post
Share on other sites

  Ben on y vient... :mdr2: Si tu precisais un peu plus "ce qui n'avait pas marché", on pourrait voir. tu dois avoir un rapport d'erreur, un log, dans ce cas fais le voir et je pourrais t'aider. Mais sans explications supplementaires je ne peux t'aider. C'est comme si je te disais tiens hier j'ai essayer d'installer un logiciel sur une machine mais ca ne s'est pas installe, pk ?  :transpi: lol bien sur, mais tu vois, je ne peux pas t'aider si tu ne me fournis pas plus d'infos ! Reviens avec des traces et je mle ferias un plaisir de t'aider. Mais saches que si cette methode foire, la methode classique ne menera pas bien loin non plus, puisque la methode debian n'est jamais qu'une sorte de script regroupant les commandes classiques... ;) ( + fabrication du .deb )

Thx,

Bon là, je viens de recommencer afin de faire les choses proprement. J'ai donc suivi à la lettre le tuto, et fait ma configuration, et au moment d'effectuer la compilation, tjs le même problème:

*** End of Linux kernel configuration.

*** Execute 'make' to build the kernel or try 'make help'.

/usr/src/linux# make-kpkg --revision=1.0 kernel-image

bash: make-kpkg: command not found

J'ai pourtant bien revérifié que j'avais: GCC, module-init-tools, make, modutils, binutils, libncurses5-dev....avant de me lancer ds la compil

J'ai bien vu "make-kpkg: command not found", je fais donc:

# apt-get install make-kpkg

Lecture des listes de paquets... Fait

Construction de l'arbre des dépendances... Fait

E: Impossible de trouver le paquet make-kpkg

????

Share this post


Link to post
Share on other sites

apt-get install kernel-package

3.1 Packages necessaires

Vous devez avoir les packages suivant d'installe :

gcc

kernel-package

libncurses5-dev

module-init-tools ( pour 2.6 uniquement )

binutils

modutils


Share this post


Link to post
Share on other sites
apt-get install kernel-package

3.1 Packages necessaires

Vous devez avoir les packages suivant d'installe :

gcc

kernel-package

libncurses5-dev

module-init-tools ( pour 2.6 uniquement )

binutils

modutils

 

lol y a pas à dire Remy je suis vraiment une tâche (je croyais que le kernel-package c'était le kernel-source :transpi: )

Share this post


Link to post
Share on other sites

lol, no soucy.

en fait, kernel-package contient les commandes permettant de recompiler un noyau.

Share this post


Link to post
Share on other sites
lol, no soucy.

en fait, kernel-package contient les commandes permettant de recompiler un noyau.

C'est sympa de faire preuve d'indulgence :transpi:

Bon là ça m'a l'ai bon:

dpkg-deb : construction du paquet « kernel-image-2.6.7 » dans « ../kernel-image-2.6.7_1.0_i386.deb ».

rm -f -r debian/tmp-image

echo done > stamp-image

make[1]: Leaving directory `/usr/src/kernel-source-2.6.7'

Encore un p'tit coup de:

dpkg --install ../kernel-image-2.6.7_1.0_i386.deb

et ça devrait être bon :)

Share this post


Link to post
Share on other sites

Bon ben voilà, tout c'est passé comme indiqué sur le tuto :)

Mis à part que l'on m'a rien demandé:

/usr/src/linux# dpkg --install ../kernel-image-2.6.7_1.0_i386.deb

Sélection du paquet kernel-image-2.6.7 précédemment désélectionné.

(Lecture de la base de données... 92784 fichiers et répertoires déjà installés.)

Dépaquetage de kernel-image-2.6.7 (à partir de .../kernel-image-2.6.7_1.0_i386.deb) ...

Paramétrage de kernel-image-2.6.7 (1.0) ...

Searching for GRUB installation directory ... found: /boot/grub .

Testing for an existing GRUB menu.list file... found: /boot/grub/menu.lst .

Found kernel: /boot/vmlinuz-2.6.7

Found kernel: /boot/vmlinuz-2.4.26-1-386

Updating /boot/grub/menu.lst ... done

Share this post


Link to post
Share on other sites

Mis à part que l'on m'a rien demandé:

Parce qu'aucun noyau perso n'etait installe... tiens faudra que je re-precise ca...., deformation professionnelle ! :transpi:

Heureux pour toi !

Share this post


Link to post
Share on other sites

Au reboot j'ai encore eu un kernel panic:

Kernel panic:VFS: Unable to mount root fs on unknown-block(0,0)

Et juste avant ce message on me demande d'ajouter un correct "root=" boot option (Please append a coorect "root=" boot option)

J'ai donc rebooté sous l'ancien noyau, j'ai fait un /boot/grub/menu.lst, hd(0,0) correspond à l'emplacement de windoz, je vois pas trop ce qui faut que je modifie?

Est-ce qu'il faut que je remplace le (hd0,0) ci dessous, par (hd0,5) qui correspond à l'emplacement de ma partition Linux?

## default grub root device

## e.g. groot=(hd0,0)

# groot=(hd0,5)

Share this post


Link to post
Share on other sites

ben moi j'aurai plutot mis

root (hd0,0)

kernel=<chemin de l'image du noyau> root=<partition montee sur />

Share this post


Link to post
Share on other sites
ben moi j'aurai plutot mis

root (hd0,0)

kernel=<chemin de l'image du noyau> root=<partition montee sur />

A vrai dire, je comprends pas vraiment le message indiqué avec le kernel panic. Il me parle d'un bloc (0,0) inconnu.... mais qd je regarde les options par défaut ça semble bon, mon noyau 2.6.7 est evidemment sur la même partition que l'ancien, et le chemin indiqué semble également bon:

ls /boot

config-2.4.26-1-386 config-2.6.7 grub initrd.img-2.4.26-1-386 System.map-2.4.26-1-386 System.map-2.6.7 vmlinuz-2.4.26-1-386 vmlinuz-2.6.7

## ## End Default Options ##

title Debian GNU/Linux, kernel 2.6.7

root (hd0,5)

kernel /boot/vmlinuz-2.6.7 root=/dev/hda6 ro

savedefault

boot

title Debian GNU/Linux, kernel 2.6.7 (recovery mode)

root (hd0,5)

kernel /boot/vmlinuz-2.6.7 root=/dev/hda6 ro single

savedefault

boot

title Debian GNU/Linux, kernel 2.4.26-1-386

root (hd0,5)

kernel /boot/vmlinuz-2.4.26-1-386 root=/dev/hda6 ro

initrd /boot/initrd.img-2.4.26-1-386

savedefault

boot

title Debian GNU/Linux, kernel 2.4.26-1-386 (recovery mode)

root (hd0,5)

kernel /boot/vmlinuz-2.4.26-1-386 root=/dev/hda6 ro single

initrd /boot/initrd.img-2.4.26-1-386

savedefault

boot

Share this post


Link to post
Share on other sites

title Debian GNU/Linux, kernel 2.6.7

root (hd0,5)

kernel /boot/vmlinuz-2.6.7 root=/dev/hda6 ro

savedefault

boot

Ca implique que ton /boot et / soient sur la meme partition ! C'est le cas ?

Sinon moi j'aurais simplement mis :

title Debian GNU/Linux, kernel 2.6.7
root (hd0,5)
kernel (hd0,5)/vmlinuz-2.6.7 root=/dev/hda6 

Share this post


Link to post
Share on other sites

Ca implique que ton /boot et / soient sur la meme partition ! C'est le cas ?

Oui c'est ça, j'ai créé une seule partition Linux (la racine /), avec une partition swap, et une Windoz en primaire.

C'est bien pour ça que je comprends pas ce pb que j'ai au démarrage :iloveyou:

Share this post


Link to post
Share on other sites

Tiens j'ai pas tilte de suite, mais perso ma "/" je prefere l'avoir sur une partoche primaire ( ainsi que /boot ).

Tu as essayer avec les 3 lignes que je t'ai donne ? Au pire, au boot, tu lances une console grub, tu tapes root (hd0, <tab> il devrait te montrer la liste des partitions, ca donne quoi ?

Share this post


Link to post
Share on other sites

×
×
  • Create New...