pas moyen de recompiler mon noyau

pas moyen de recompiler mon noyau - Installation - Linux et OS Alternatifs

Marsh Posté le 23-03-2003 à 17:12:12    

salut à tous
j'ai un problème je n'arrive pas à recomplier mon noyau avec la version 2.4.19 pour que je puisse prendre en charge le NTFS de façon à pouvoir accéder à ma partition Windows quand je boot sur linux
 
j'ai telechargé la version 2.4.19 du noyau et je l'ai décompressé dans /usr/src/
ensuite je fait un  
make xconfig
make dep
make clean
make modules
make bzImage et là ça plante je ne comprends pas pourquoi ??
 
je suis sous redhat 8.0
 
je cherche aussi le un tutos pour installer le noyau avec GRUB  
 
merci pour vos lumières

Reply

Marsh Posté le 23-03-2003 à 17:12:12   

Reply

Marsh Posté le 23-03-2003 à 17:13:31    

Recompile que le module, ça ira plus vite ...
 

Reply

Marsh Posté le 23-03-2003 à 17:31:24    

Commence par prendre les dernières sources du noyau de chez redhat ou sur kernel.org, histoire qu'elles soient patchées contre la dernière faille avec ptrace, ce qui ne doit pas etre le cas de ton 2.4.19
 
Ensuite si on veut faire ça proprement c'est plutot :
 
make mrproper
make xconfig
make dep
make bzImage modules modules_install
 
Y'a des chances que ça marche mieux...

Reply

Marsh Posté le 23-03-2003 à 17:50:40    

as-tu réparé le bug RH 8.0 ?
 
si non, déjà tu auras beau chopper n'importe quelles sources ce sera pareil -> c'est un bug
 
tu ouvres un shell, avant toutes choses tu tapes : export LANG=C
 
ce sera pris en compte juste pour le shell courant, en fait si tu regardes bien, ton erreur apparait au make dep : il te dit qu'il ne trouve pas stdarg.h, ça aide pas et je suis étonné que tu passes le make modules... donc là après tu peux configurer/compiler tranquillement ton noyau (utilise plutôt "make menuconfig" qui est plus "souple et clair" que "make xconfig", enfin c'est comme tu préfères ;) )
 
mais pour éviter ce bug, tu peux te référer aux différent topics qui parlent de RH 8.0 et plus précisément [Redhat] Un topic pour débutants

Reply

Marsh Posté le 23-03-2003 à 18:29:50    

dans le Makefile, cherche la ligne où il y a kduild et remplace par:
 
kbuild_2_4_nostdinc     := -nostdinc -iwithprefix include
export kbuild_2_4_nostdinc


---------------
Gitan des temps modernes
Reply

Marsh Posté le 23-03-2003 à 18:47:36    

si c'est juste pout le ntfs sous rh8 te fais pas chier
http://linux-ntfs.sourceforge.net/info/redhat.html
 
sinon moi je fais
make oldconfig
make menuconfig
make dep clean bzImages modules modules_install
make install
 
Mais c'est comme les recettes de grand mère, chacun à sa propre méthode de préparer la tambouille du kernel ;)

Reply

Marsh Posté le 23-03-2003 à 19:13:22    

merci pour cette aide j'ai réussit à recompiler le noyau, je ne savais pas que la RedHat 8.0 était bugué par contre est il possible me mettre cette variables pas défaut dans mon système de façon à ne pas taper la commande à chaque fois
 
mais je n'arrive pas à le mettre dans Grub j'ai une erreur kernel panic

Reply

Marsh Posté le 23-03-2003 à 19:28:03    

pour le bug de la RH :
 
/etc/sysconfig/i18n :

Code :
  1. LANG="fr_FR@euro"
  2. SUPPORTED="fr_FR@euro:fr_FR:fr"
  3. SYSFONT="lat0-sun16"
  4. SYSFONTACM="iso15"


 
serra pris en compte au prochain boot, mais je te conseille de chopper les sources du dernier gcc stable (un 3.2.1 fonctionne à merveille, je sais pas pour les suivants), puis tu compiles avec ces paramètres à la configuration :  

Code :
  1. ./configure --prefix=/usr/local --mandir=/usr/local/share/man --infodir=/usr/local/share/info --enable-shared --enable-threads=posix --disable-checking --host=i686-pc-linux-gnu --with-system-zlib --enable-__cxa_atexit --with-gnu-as --with-gnu-ld
  2. make boostrap
  3. ...


 
plus de bug après, tu auras les 2 gcc si des sources te poses problème (gcc de la RH étant installé dans /usr et celui-ci dans /usr/local)
 
pour le problème de kernel-panic, à mon avis tu as une erreur de montage de ta partition root, donc il faut remplacer "root=LABEL=/" par "root=/dev/hdXY" dans grub.conf (X et Y étant les paramètres de ta partoches "/" )
 
voilà, devrait pas y avoir de problème, mais si tu as la même erreur et que pourtant tu as bien modifié grub.conf, c'est que tu as omis de compiler ext3 (ou le fs que tu as choisis) directement en dur dans le noyau (ce qui veut dire que tu l'as en module)
si c'est le cas, soit tu recompiles le noyau avec support en dur, soit tu crés une image initrd pour ton noyau en spécifiant le module à inclure au boot (man mkinitrd)

Reply

Marsh Posté le 23-03-2003 à 21:54:55    

j'ai récuperé cette aide sur www.lea-linux.org
 
grub root (hdC,P) setup (hd0)
En remplaçant C par le numéro du disque dur, selon la correspondance suivante : hda:C=0, hdb:C=1, hdc:C=2, etc. et P par le numéro de partition sur le disque, c'est à dire hdx1:P=0, hdx2:P=1, hdx3:P=2,
 
quand je fait cette commande ça ne marche pas  
 
est qu'il y a un moyen de faire autrement pour installer le nouveau noyau dans Grub
 
???

Reply

Marsh Posté le 23-03-2003 à 22:29:17    

OUUUUUPPPPSSSSS !!! attention, je me suis peut-être mal expliqué, c'est de ma faute, il ne faut pas toucher à "root (hdC,P)" ça c'est un paramètre attribué selon la position de ton disque et celle de ta partition /boot (ou de ta partition "/" si "/boot" en fait partie), bref, il faut simplement copier/coller ce qui existait pour l'autre noyau, je m'explique :
 

Code :
  1. # grub.conf generated by anaconda
  2. #
  3. # Note that you do not have to rerun grub after making changes to this file
  4. #
  5. # Blabla qui change selon les personnes et que j'ai enlevé pour
  6. # éviter les confusions étant donné que je possède une partition
  7. # /boot et peut-être pas toi (je prends le cas : pas de partition
  8. # /boot)
  9. #
  10. #boot=/dev/hdX
  11. default=0
  12. timeout=5
  13. splashimage=(hdC,P)/boot/grub/splash.xpm.gz
  14. title Red Hat Linux (2.4.18-14)
  15.         root (hdC,P)
  16.         kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/
  17.         initrd /boot/initrd-2.4.18-14.img


 
C, P, X et Y sont des constantes "à ton système" tout le long !
 
disons que c'est à peu près la tronche d'un grub.conf d'origine sous RH 8.0, là on a C et P qui ne vont pas changer, donc tu reprends entièrement le paramètre "root (hdC,P)" que tu avais déjà dans ton grub.conf avant, ce qu'il modifier, c'est sur cette ligne :
 

Code :
  1. kernel /boot/vmlinuz-2.4.18-14 ro root=/dev/hdXY


 
là il faut donc mettre le nom du nouveau noyau, dans ton cas "vmlinuz-2.4.19", le problème dont je te parlais avant, c'est "root=LABEL=/", lui il faut le modifier en quelque chose comme ça : "root=/dev/hdXY"
 
donc on modifie grub.conf en ajutant le nouveau noyau :
 

Code :
  1. # grub.conf generated by anaconda
  2. #
  3. # Note that you do not have to rerun grub after making changes to this file
  4. #
  5. # Blabla qui change selon les personnes et que j'ai enlevé pour
  6. # éviter les confusions étant donné que je possède une partition
  7. # /boot et peut-être pas toi (je prends le cas : pas de partition
  8. # /boot)
  9. #
  10. #boot=/dev/hdX
  11. default=0
  12. timeout=5
  13. splashimage=(hdC,P)/boot/grub/splash.xpm.gz
  14. title Red Hat Linux (2.4.19)
  15.         root (hdC,P)
  16.         kernel /boot/vmlinuz-2.4.19 ro root=/dev/hdXY
  17. title Red Hat Linux (2.4.18-14)
  18.         root (hdC,P)
  19.         kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/
  20.         initrd /boot/initrd-2.4.18-14.img


 
là, il faut que tu mettes pour X et Y ce qui correspond à ta partition root... tu remarqueras que la ligne "initrd ...." est partit : pas besoin avec grub si le fs est compilé en dur (ne pas utiliser l'initrd d'un autre noyau !!)
 
voilà, je pense que ça t'aidera, sache que si tu as créé une partition /boot, tous les chemins seront relatifs à celle-ci, c'est à dire que "root (hdC,P)" devra désigner ta partition /boot et non ta partition root, que sur les lignes kernel et initrd tu n'auras pas de "kernel /boot/..." et "initrd /boot/...", mais directement "kernel /vmlinuz..." et "initrd /initrd...." et le blabla que j'ai remplacé en en-tête te préviendra que tu as une partition /boot, dans la ligne "splashimage=..." tu n'auras pas de "/boot" non plus dans ce cas

Reply

Marsh Posté le 23-03-2003 à 22:29:17   

Reply

Marsh Posté le 23-03-2003 à 22:34:25    

merci de ton aide je vais tester de suite

Reply

Marsh Posté le 24-03-2003 à 00:32:29    

merde je ne comprends pas j'ai toujours de foutu message
 
Kernel panic VFS : unable to mount root fs on 00:00
 
voici une structure de mon fichier grub
 
 
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,1)
#          kernel /vmlinuz-version ro root=/dev/hda3
#          initrd /initrd-version.img
#boot=/dev/hda
default=2
timeout=10
splashimage=(hd0,1)/grub/splash.xpm.gz
title Red Hat Linux (2.4.18-27.8.0debug)
        root (hd0,1)
        kernel /vmlinuz-2.4.18-27.8.0debug ro root=LABEL=/ hdc=ide-scsi
        initrd /initrd-2.4.18-27.8.0debug.img
title Red Hat Linux (2.4.18-27.8.0)
        root (hd0,1)
        kernel /vmlinuz-2.4.18-27.8.0 ro root=LABEL=/ hdc=ide-scsi
        initrd /initrd-2.4.18-27.8.0.img
 
title Red Hat Linux (2.4.19)
        root (hd0,1)
        kernel /vmlinuz-2.4.19 ro root=LABEL=/ hdc=ide-scsi
        initrd /initrd-2.4.19.img
 
title DOS
        rootnoverify (hd0,0)
        chainloader +1

Reply

Marsh Posté le 24-03-2003 à 00:47:50    

petite erreur de compréhension ;)
il faut carrément le virer ce "root=LABEL=/" !!
 
 
 
title Red Hat Linux (2.4.19)
        root (hd0,1)
        kernel /vmlinuz-2.4.19 ro root=LABEL=/ hdc=ide-scsi
title DOS
        rootnoverify (hd0,0)
        chainloader +1
 
 
 
il faut absolument que tu mettes exactement le périphérique et non conserver ce paramètre, donc il faut absolument que tu modifies "root=", donc voici ce que tu dois avoir :
 
 
 
title Red Hat Linux (2.4.19)
        root (hd0,1)
        kernel /vmlinuz-2.4.19 ro root=/dev/hda3 hdc=ide-scsi
title DOS
        rootnoverify (hd0,0)
        chainloader +1
 
 
 
quand tu compiles toi-même un noyau, tu ne dois jamais laisser "root=LABEL=/", mais mettre le prériphérique directement, tu verras qu'après ça tu n'auras plus de kernel panic ;)


Message édité par BMOTheKiller le 24-03-2003 à 00:50:16
Reply

Marsh Posté le 24-03-2003 à 12:42:39    

ça y est ça marche j'y suis en fin j'arrivé par contre au démarrage j'ai des erreurs d'USB et autres je pense que je n'ai pas tout mis la la compilation de mon noyau  
est ce qu'il y a un moyen de récuperer ma conf actuelle et et la mettre la le nouveau noyau de façon à ne rien oublier  
 
???


Message édité par pat_testa_mora le 24-03-2003 à 12:43:32
Reply

Marsh Posté le 24-03-2003 à 16:49:08    

alors personne n'a eu ce problème ???

Reply

Marsh Posté le 24-03-2003 à 17:11:22    

tu peux charger ta config actuelle :
 
make menuconfig > tout en bas : "Load an alternate configuration file" si tu as bien enregistré ta config dans un autre fichier précédemment
 
si tu n'as pas fait un make mrproper dans les sources, la config est conservée et quand tu vas faire ton make menuconfig (ou xconfig) tu vas repartir avec la config de la précédente compilation
 
puis tu apportes les modifs que tu souhaites


Message édité par BMOTheKiller le 24-03-2003 à 17:13:26
Reply

Marsh Posté le 24-03-2003 à 20:14:05    

merci du coup de main

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed