Compilation noyau


#1

bonjour à tous,

alors voila je me suis mis a la compilation de noyau… :slightly_smiling:
mais j’ai quelque probleme j’y arrive super bien avec la slackware mais pas avec la debian
je procede comme cela :

1: je download un kernel je le détar dans /usr/src/

2: je me met dans le repertoiobtenu je fais un make menuconfig
je modifie deux trois truc

3: je sauvegarde le .conf je fais un make bzImage modules modules_install

4: je m’endore :stuck_out_tongue:
puis je me reveil et je fais
cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.x
cp System.map /boot/System.map-2.6.x

5: je modifi mon grub

avec la slack ca passe super bien avec la debian jamais :s chaque fois kernel panik
lib/blabla/bla/modules.dep no search file or directory

le truc que j’ai pas compri c’est le role de initrd.img ou initrd.img-2.6.x qui n’existe que sous debian et qui n’est pas crée lors de la compilation

qqu aurai une piste pour moi ? :slightly_smiling:

merci d’avance a tous


#2

excuse mais si tu cherche juste en dessous de ton topic , tu devrai voir la meme question par moi meme j ai eu une reponce plus que satiffaisante donc bon… peut etre aurai tu pu regarder le 5/6 premier topic, des fois que tu puisse aider quelqu un :slightly_smiling:
moi perso j essaye de le faire ^^


#3

Ou est la génération de initrd ?


#4

Sur Debian, il existe des outils dédiés à la compilation du noyau, et le mieux c’est de créer un package .deb du noyau, pour éviter de plomber ta config des packages. C’est valide aussi pour les autres applications que tu aurais à compiler. Il faut de préference les mettre sous forme de paqués Debian. Le mieux c’est encore de les télécharger sous cette forme sur les sites ad hoc.
newbiedoc.sourceforge.net/system/kernel-pkg.html


#5

voir forum.debian-fr.org/viewtopic.php?t=1780


#6

slt,

Ok pour tout ça.

Ca serait cool d’avoir le message exact pour analyse.

IinitRamDisk, permet de charger un péripherique de masse en RAM, bloc en lecture seule initialisé par le chargeur du système avant le démarrage du noyau…

Lors des choix pendant le make menuconfig, tu doit l’avoir activer dans

block devices 
Loopback device support: Y
RAM disk support Y 
Initial RAM disk (initrd).

Ensuite si tu utilise un ramdisk au boot, il faut le recréer en lançant la commande suivante:mkinitrd, puis copier l’initrd dans /boot.

#mkinitrd -o /boot/initrd.img-2.6.x 2.6.x

#7

merci a tous :slightly_smiling:

stonfi tu dois avoir la solution qu’il me faut :slightly_smiling: j’essayerai demain merci
je connaissais pas initrd et la slack ne l’utilise pas alors… elle le remplace par quoi ?

hardcoffee, non j’ai rien vu mais merci le mini tuto est bien :slightly_smiling:

mon erreur est celle ci :

VFS: Cannot open root device “hda3” or unknown-block(0,0)
Please append a correct “root=” boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)


#8

[quote]
je connaissais pas initrd et la slack ne l’utilise pas alors… elle le remplace par quoi ? [/quote]

Peut importe la distribution utilisée, cela depend de toi si tu as besoin d’un initrd pour pouvoir booter, exemple des disques SCSI, tu installe les modules dans l’initrd (avec la commande mkinitrd) et il demarrera avant ton noyau grace au chargeur de boot en l’occurence ici grub, chargeras les modules adéquate et enfin passeras la main au kernel qui enchainera jusqu’au login :slightly_smiling:

Hum, apperement il trouve pas ta partition hda3 tu es sur de ta config dans grub ?


#9

VFS: Cannot open root device "hda3" or unknown-block(0,0) Please append a correct "root=" boot option Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Comme mentionné plus haut, c’est sûrement parce qu’il te manque un initrd, ou alors une erreur dans le menu grub, si tu l’a édité toi-même …

Par exemple, quand tu auras créé ton initrd, une entrée de menu grub se présente comme ça:

title           Debian GNU/Linux, kernel 2.6.11.amd64-29juin
root            (hd0,1)
kernel          /boot/vmlinuz-2.6.11.amd64-29juin root=/dev/hda2 ro
initrd          /boot/initrd.img-2.6.11.amd64-29juin
savedefault
boot

Mais l’installation de ton nouveau kernel devrait mettre à jour ton grub automatiquement, sinon tu tapes: update-grub

Il n’y a pas le concept d’initrd dans la slack ? Ca m’étonne …


#10

bin oui… c’est sur un portable
j’ai copié la partie de grub qui fonctionne avec le noyau 2.6.12 que j’ai installé
et j’ai remplacé le vmlinuz et le system.map


#11

slt,

peut tu coller la partie de ton grub (en utilisant la balise code du forum, fait pas comme moi tu va te faire gronder :slightly_smiling: ) puis un resultat de la commande “df -a”…


#12

df -a

sys de fich.
/dev/hda3
proc /proc
sysfs /sys
devpts /dev/pts
tmpfs /dev/shm
usbfs /proc/s/usb

tilte blabla…
root (hd0,2)
kernel /boot/vmlinuz-2.6.14 root=/dev/hda3 ro
initrd /boot/initrd.img
savedefault
boot


#13

slt,

est ce que le resultat de la commande mkinitrd c’est bien passé ?

Ca serait pas hd0,3 a tout hasard ?


#14

stonfi:
le plantage d’accés au disque est normal si le noyau n’est pas configuré avec le module de lecture cdu disque soit dans le noyau, soit dans l’initrd.
tous:
l’initrd est un composant de linux (=le noyau) il est donc utilisé par toutes les distributions sans exception.
gangan:
oublies ta methode de compil antediluvienne et installes ton noyau à la sauce debian comme on t’en a donné plusieurs réfèrences. l’outil imperatif si tu ne veux pas casser les diverses mecaniques spécifiques à debian et te retrouver à tout entretenir à la main est ‘make-kpkg’. Entre autres, cette methode gere grub automatiquement, et permet d’intègrer les paquets noyau à la gestion apt comme tous les autres paquets (jouts, suppressions, dependances comme les différentes version d’udev, etc…)…


#15

qqu serait me dire j’essai une compilation antediluvienne :stuck_out_tongue: avec de m’attaquer a une compilation du deuxieme milenaire :slightly_smiling:

apres mon make bzImage make modules modules_install
pour faire le makeinitrd faut se mettre ou et les options ? j’ai du mal avec le man la…

merci d’avance


#16

[quote=“gangan”]qqu serait me dire j’essai une compilation antediluvienne :stuck_out_tongue: avec de m’attaquer a une compilation du deuxieme milenaire :slightly_smiling:

apres mon make bzImage make modules modules_install
pour faire le makeinitrd faut se mettre ou et les options ? j’ai du mal avec le man la…

merci d’avance[/quote]
NAN !!! :imp:
Depuis le temps qu’on essaye de te convaincre d’utiliser la méthode Debian … :unamused:
Il y a même un tuto très bien fait à ce sujet:
http://forum.debian-fr.org/viewtopic.php?t=1806
Grmblmbmlm…


#17

alléééé euh :’(


#18

debian.org/releases/stable/i … 05.html.fr


#19

Bon, ok mais c’est la dernière fois, hein ?
http://forum.debian-fr.org/viewtopic.php?t=1520&start=0&postdays=0&postorder=asc&highlight=mkinitrd

Grmblmblmblmm…


#20

Regarde si t’a pas deux lignes avant le kernel panic une allusion au cramfs.

Si oui recompile ton noyau avec l’option files system>micellanous>Cramfs

A+