OVH Cloud OVH Cloud

kernel

14 réponses
Avatar
Marylin Dubois
Bonjour,

en compilant le kernel je ramarque que seul le vmlinuz
et le modules sont compilés. Main qu"en est-il du
programme que l'on trouve dans le directory /boot
initrd.img que l'on trouve après l'installation ?
Sais-t-on le compile aussi ? et comment ?

merci

M.D

10 réponses

1 2
Avatar
Rakotomandimby (R12y) Mihamina
( Mon, 21 Mar 2005 11:10:44 +0100 ) Marylin Dubois :

Bonjour,



Bonjour,

en compilant le kernel je ramarque que seul le vmlinuz
et le modules sont compilés.


ah, tiens! au niveau de la formulation je crois qu'on (toi et moi) est un
peu embrouillé:

d'après moi, vmlinuz et les modules sont des "output" de compilation, et
on n'a compilé que les fichiers sources (*.c avec l'aide des *.h)

donc on n'a pas compilé vmlinuz du tout.

est-ce que je suis dans le faux?

Main qu"en est-il du
programme que l'on trouve dans le directory /boot initrd.img que l'on
trouve après l'installation ? Sais-t-on le compile aussi ? et comment ?


initrd.img n'est pas un programme, mais un fichier, et plus exactement une
archive qui est la "copie" d'une partie de l'arborescence de "/"...

http://www.linux-wizard.net/howto.php?section=4&key=kernel_compil#compil

Je n'ai pas trouvé de définition exacte de initrd.img, parceque je ne
l'utilise pas mais bon ça devrait se trouver un peu partout... en
chercahtn longtemps :-). j'ai trouvé ce lien en utilisant "kernel howto
initrd".

--
Les serveurs avec 10Mb/s se louent maintenant pour 50 ou 60 Euros par mois!
La preuve http://www.google.fr/search?q=serveur+dedie
Infogerance de serveur dedie http://aspo.rktmb.org/activites/infogerance
(En louant les services de l'ASPO vous luttez contre la fracture numerique)

Avatar
Rakotomandimby (R12y) Mihamina
( Mon, 21 Mar 2005 12:15:47 +0100 ) Marylin Dubois :


bien sur que l'on compile les *.c à l'aide des *.h
mais pour aboutir a quoi ? a avoir vmlinuz-version-xxx
selon les expressions que l'on emplois.


Oui.

Ceci est une question de vocabulaire.
Le résulta de cette compilation est bien d'obtenir un kernel
que l'on le nomme kernel ou vmlinuz etc...peu importe.


oui. Mais on n'a pas compilé vmlinuz.

j'ai lu que l'on pouvais le former( je ne sais si c'est la bonne
expression) moyennant le programme 'mkinitd'
mais comment ? ou va-il chercher les composants?


essaie ça :

# cp /boot/initrd.img /tmp/
# mkdir /mnt/initrd
# mount -o loop /tmp/initrd.img /mnt/initrd
# cd /mnt/initrd
# ls

... tu verras de suite d'ou ça vient

on peut ne pas l'utiliser ?


bien sur que si! mais comme toute chose, ça s'utilise quand on en a
vraiment besoin.

--
Les serveurs avec 10Mb/s se louent maintenant pour 50 ou 60 Euros par mois!
La preuve http://www.google.fr/search?q=serveur+dedie
Infogerance de serveur dedie http://aspo.rktmb.org/activites/infogerance
(En louant les services de l'ASPO vous luttez contre la fracture numerique)

Avatar
Doug713705
Le Lundi 21 Mars 2005 12:15, Marylin Dubois s'est exprimé de la sorte sur
fr.comp.os.linux.configuration :

bien sur que l'on compile les *.c à l'aide des *.h
mais pour aboutir a quoi ? a avoir vmlinuz-version-xxx
selon les expressions que l'on emplois.
Ceci est une question de vocabulaire.


Et le vocabulaire est essentiel pour bien se faire comprendre et bien
comprendre.

la preuve :

j'ai lu que l'on pouvais le former( je ne sais si c'est la bonne
expression) moyennant le programme 'mkinitd'


Tu n'as pas lu *mkinitd* (qui sous entendrait qu'un daemon "mkinit" existe)
mais *mkinitrd* qui comme son nom l'indique presque permet de créer un
"disque virtuel" (mkinitrd = make initial ram disk)

D'où l'interêt de bien lire et de bien nommer les choses afin de ne pas
faire d'erreur.

--
@+
Doug [Linux user #307925] - Slackware RuleZ ;-)
[Pourquoi t'es qui, qu'est ce que tu fais par où ?]
-- Pour me contacter enlever no-spam (2X) --

Avatar
Kevin Denis
On 2005-03-21, Marylin Dubois wrote:

Main qu"en est-il du
programme que l'on trouve dans le directory /boot initrd.img que l'on
trouve après l'installation ? Sais-t-on le compile aussi ? et comment ?


initrd.img n'est pas un programme, mais un fichier, et plus exactement une
archive qui est la "copie" d'une partie de l'arborescence de "/"...
programme ou pas..d'ou vient-il?

j'ai lu que l'on pouvais le former( je ne sais si c'est la bonne
expression) moyennant le programme 'mkinitd'
mais comment ? ou va-il chercher les composants?

Le programme mkinitrd est un script shell. En le lisant, on tombe sur:


mkinitrd creates an initial ramdisk used to load kernel modules that
are needed to mount the root filesystem, or other modules that might
be needed before the root filesystem is available.

Et le script est tres clair sur ce qu'il fait, dans quel ordre, etc..

Mais comme dit plus haut, tu peux tout a fait monter un initrd pour
voir son contenu
--
Kevin



Avatar
Marylin Dubois
Rakotomandimby (R12y) Mihamina wrote:
( Mon, 21 Mar 2005 11:10:44 +0100 ) Marylin Dubois :


Bonjour,




Bonjour,


re-bonjour,


en compilant le kernel je ramarque que seul le vmlinuz
et le modules sont compilés.



ah, tiens! au niveau de la formulation je crois qu'on (toi et moi) est un
peu embrouillé:

d'après moi, vmlinuz et les modules sont des "output" de compilation, et
on n'a compilé que les fichiers sources (*.c avec l'aide des *.h)


bien sur que l'on compile les *.c à l'aide des *.h
mais pour aboutir a quoi ? a avoir vmlinuz-version-xxx
selon les expressions que l'on emplois.
Ceci est une question de vocabulaire.
Le résulta de cette compilation est bien d'obtenir un kernel
que l'on le nomme kernel ou vmlinuz etc...peu importe.

donc on n'a pas compilé vmlinuz du tout.

est-ce que je suis dans le faux?
faudrais qu'un spécialiste se manifeste.



Main qu"en est-il du
programme que l'on trouve dans le directory /boot initrd.img que l'on
trouve après l'installation ? Sais-t-on le compile aussi ? et comment ?



initrd.img n'est pas un programme, mais un fichier, et plus exactement une
archive qui est la "copie" d'une partie de l'arborescence de "/"...
programme ou pas..d'ou vient-il?

j'ai lu que l'on pouvais le former( je ne sais si c'est la bonne
expression) moyennant le programme 'mkinitd'
mais comment ? ou va-il chercher les composants?



http://www.linux-wizard.net/howto.php?section=4&key=kernel_compil#compil

Je n'ai pas trouvé de définition exacte de initrd.img, parceque je ne
l'utilise pas mais bon ça devrait se trouver un peu partout... en
chercahtn longtemps :-). j'ai trouvé ce lien en utilisant "kernel howto
initrd".
on peut ne pas l'utiliser ? vais essayer.

merci de ton aide.





Avatar
yves
Bonjour,

en compilant le kernel je ramarque que seul le vmlinuz
et le modules sont compilés. Main qu"en est-il du
programme que l'on trouve dans le directory /boot
initrd.img que l'on trouve après l'installation ?
Sais-t-on le compile aussi ? et comment ?


Si tu viens de recompiler un noyau, il est peu vraisemblable que tu aies
besoin d'un initrd. Pour info, le initrd sert à la chose suivante. Quand
le distributeur (Mandrake, Redhat, Debian ou un autre), ne sait pas sur
quel machine va tourner son noyau. Alors il fait un noyau minimum
capable de booter sur un ramdisk (le initrd.img). Dans ce initrd, on
trouve les drivers (modules) pour le noyau, ainsi qu'un programme qui va
les charger. Notamment, on y trouve le module du disque dur, du système
de fichiers, etc... Il est donc nécessaire de les charger pour accéder
au contenu du disque (donc à /sbin/init ainsi qu'à tout le reste...).

Quand on recompile un noyau nous même, autant mettre ce genre de drivers
directement dans le noyau, et pas en tant que module, car on connait la
machine sur laquelle va tourner le noyau. Donc, cette fois, le noyau
peut directement lire le contenu du disque dur, et plus besoin de faire
un ramdisk.

Yves

PS: c'est peut-être un peu confus mais j'ai pas eu bcp de temps
aujourd'hui pour faire une belle prose... Les questions sont les
bienvenues au cas où ;-)


--
http://wiki.rougy.net -- Wiki Unix/Linux

Avatar
John Doe

Bonjour,

en compilant le kernel je ramarque que seul le vmlinuz
et le modules sont compilés. Main qu"en est-il du
programme que l'on trouve dans le directory /boot
initrd.img que l'on trouve après l'installation ?
Sais-t-on le compile aussi ? et comment ?



Si tu viens de recompiler un noyau, il est peu vraisemblable que tu aies
besoin d'un initrd. Pour info, le initrd sert à la chose suivante. Quand
le distributeur (Mandrake, Redhat, Debian ou un autre), ne sait pas sur
quel machine va tourner son noyau. Alors il fait un noyau minimum
capable de booter sur un ramdisk (le initrd.img). Dans ce initrd, on
trouve les drivers (modules) pour le noyau, ainsi qu'un programme qui va
les charger. Notamment, on y trouve le module du disque dur, du système
de fichiers, etc... Il est donc nécessaire de les charger pour accéder
au contenu du disque (donc à /sbin/init ainsi qu'à tout le reste...).

Quand on recompile un noyau nous même, autant mettre ce genre de drivers
directement dans le noyau, et pas en tant que module, car on connait la
machine sur laquelle va tourner le noyau. Donc, cette fois, le noyau
peut directement lire le contenu du disque dur, et plus besoin de faire
un ramdisk.

Yves

PS: c'est peut-être un peu confus mais j'ai pas eu bcp de temps
aujourd'hui pour faire une belle prose... Les questions sont les
bienvenues au cas où ;-)


Bonsoir,


Quand on veut pouvoir booter sur un disque usb sans que ce soit possible
au niveau bios, est-ce que la solution peut venir d'un initrd qui
chargerait les modules usb au préalable ?

Si oui, est-ce difficile à mettre au point ?
Des pistes, des lectures appropriées, des exemples concrets seraient les
bienvenus.
(je précise : sans être expert système...)


Avatar
Nicolas George
John Doe wrote in message :
Quand on veut pouvoir booter sur un disque usb sans que ce soit possible
au niveau bios, est-ce que la solution peut venir d'un initrd qui
chargerait les modules usb au préalable ?


Non, le bootloader et le noyau doivent nécessairement être sur des supports
pris en charge par le BIOS. Pour que la racine soit sur un disque USB, il
faut _en plus_ un initrd pour compenser le fait que la détection des disques
USB est asynchrone, mais ça n'a pas de rapport, car c'est également vrai si
le BIOS prend en charge les disques USB.

Avatar
Kevin Denis
On 2005-03-21, John Doe wrote:

Quand on veut pouvoir booter sur un disque usb sans que ce soit possible
au niveau bios, est-ce que la solution peut venir d'un initrd qui
chargerait les modules usb au préalable ?

Oui.


Si oui, est-ce difficile à mettre au point ?


non. Il faut faire attention a la taille noyau+initrd (dans mon cas
qui fait moins d'1M44).

Des pistes, des lectures appropriées, des exemples concrets seraient les
bienvenus.
(je précise : sans être expert système...)


Bin, prends n'importe quelle disquette boot (genre syslinux) remplace
le noyau par le tiens, met les modules USB dans /lib/modules de l'initrd
et regarde le script linuxrc.
--
Kevin

Avatar
Rakotomandimby (R12y) Mihamina
( Tue, 22 Mar 2005 09:52:35 +0000 ) Kevin Denis :

Bin, prends n'importe quelle disquette boot (genre syslinux) remplace
le noyau par le tiens, met les modules USB dans /lib/modules


Tant qu'a remplacer le noyau, autant le remplacer par un qui inclu les
trucs dont on a besoin en dur non? on peut toujours dire que ça va
engrosser le noyau, mais si on ne les met pas dans le noyau, on les mettra
dans /lib/modules, donc sur la disquette quand même... alors tant qu'a
faire...

--
Les serveurs avec 10Mb/s se louent maintenant pour 50 ou 60 Euros par mois!
La preuve http://www.google.fr/search?q=serveur+dedie
Infogerance de serveur dedie http://aspo.rktmb.org/activites/infogerance
(En louant les services de l'ASPO vous luttez contre la fracture numerique)

1 2