OVH Cloud OVH Cloud

Nouveau noyau depuis Mandrake

10 réponses
Avatar
Meunier Bernard
Toutes les doc que j'ai pu lire indique que lorsqu'on veut installer un
nouveau noyau, on le "de-tar" dans /usr/src.

Ce qui créé le répertoire ./linux-xxx
Dans ./linux-xxx, on fait make xconfig (ce qui créé et met à jour le
fichier .config, qui pour une 2.4.22 fait de l'ordre de 15Ko), puis make
dep clean bzImage

puis make modules modules_install

puis quelques copies de fichiers et /sbin/lilo.

Dans un premier temps, je voudrais,en conservant le noyau d'origine
(2.4.21-0.13mdk) pouvoir enlever ou ajouter quelques modules.

Avec MDK 9.1,avant toute manipulation, dans /usr/src, il n'y a qu'un
répertoire /RPM, et aucun fichier .config.

Le seul fichier config est dans /boot (fait de l'ordre de 46Ko)

Je créé alors un répertoire /usr/src/linix-2.4.21-0.13mdk et j'y copie
dedans le config du répertoire /boot, pour l'utiliser avec make xconfig.
Mais impossible de faire un make xconfig. Il manque, évidement, Makefile
et toute l'arborescence (/scripts ...).

Premiere question : cette manipulation est-elle possible ? Si oui, comment?

A défaut d'arriver à adapter l'existant en ce qui concerne l'utilisation
des modules, j'ai cherché à suivre la procédure pour installer un nouveau
noyau avec les modules dont j'ai besoin. La procédure se passe
normalement, mais le résultat n'est pas fameux. Il y a toujours quelque(s)
chose(s) qui va(vont) pas. (au niveau des fonctions réseau, des types de
fichiers montables, supermount...).

Deuxième question : Cela est-il du à ce que la structure des répertoires
générée par mandrake est différente de celle générée par la procédure
décrite dans les doc.

En tout état de cause toute suggestion sera la bienvenue.

D'avance merci.

Bernard

10 réponses

Avatar
Saïd
Meunier Bernard :
En tout état de cause toute suggestion sera la bienvenue.



D'abord il faut installer le rpm des sources du noyau, ce qui n'est pas le
cas aparemment. Ton /usr/src/linuxxxx a l'air vide alors que typiquement il
doit contenir 120Mo de fichiers sources/docs/scripts.

Ensuite la mandrake doit venir avec un noyau ou tout ou
presque est deja compile en module. Donc, si tu as besoin d'un truc
particulier, tu devrais faire modprobe le_module_que_je_veux.

Si tu veux compiler un noyau a toi tout seul avec juste ce que tu veux,
c'est aussi une bonne idee, mais il faut prendre le temps de lire toutes les
options offertes dans make xconfig. Lire l'aide de chaque chose pour
comprendre a quoi elle peut servir. noter celles que tu ne comprends pas et
poster ici pour demander de l'aide au sujet de ces dernieres.

--
Saïd.

Avatar
Meunier Bernard
On Tue, 16 Sep 2003 09:49:46 +0000, Saïd wrote:

Meunier Bernard :
En tout état de cause toute suggestion sera la bienvenue.


D'abord il faut installer le rpm des sources du noyau, ce qui n'est pas

le
cas aparemment. Ton /usr/src/linuxxxx a l'air vide alors que typiquement
il doit contenir 120Mo de fichiers sources/docs/scripts.

Ensuite la mandrake doit venir avec un noyau ou tout ou
presque est deja compile en module. Donc, si tu as besoin d'un truc
particulier, tu devrais faire modprobe le_module_que_je_veux.

Si tu veux compiler un noyau a toi tout seul avec juste ce que tu veux,
c'est aussi une bonne idee, mais il faut prendre le temps de lire toutes
les options offertes dans make xconfig. Lire l'aide de chaque chose pour
comprendre a quoi elle peut servir. noter celles que tu ne comprends pas
et poster ici pour demander de l'aide au sujet de ces dernieres.



Lorsqu'on fait
rpm -qpl kernel-2.4.21.0.13mdk-1-1mdk.i586.rpm
on constate qu'il n'y aura pratiquement que des fichiers de modules de
créés , plus un config et un vmlinuz dans le boot, mais rien dans
/usr/src.

Je ne vois donc pas comment je peux modifier les modules utilisés par la
version de bases par un make xconfig.

Aidé de documentations (Linux Administeation de Tsoft-Eyrolles par ex.) et
de la lecteure de tous (du moins c'était l'objectif) les 'help', je
n'arrive pas encore à faire une nouvelle config. convenable. Il y aurait
tellement de questions que je n'ose pas les poser. Je vais bien finir par
y arriver, ou du moins en décanter un grand nombre.

Merci


Avatar
Francis Chartier
écrivait :

Je ne vois donc pas comment je peux modifier les modules utilisés par la
version de bases par un make xconfig.


Je pense que le truc qu'il te manque, ce sont juste les sources du
noyau. :)
J'ai l'impression que tu confonds l'installation d'un noyau déjà compilé
et fourni sous forme de rpm avec ses modules et la compilation d'un
noyau, pour lequel tu dois disposer des sources, généralement installées
dans /usr/src/linux-x.y.z.

--
Francis Chartier

Avatar
vmlinux (Christophe)
Meunier Bernard wrote:

...
Lorsqu'on fait
rpm -qpl kernel-2.4.21.0.13mdk-1-1mdk.i586.rpm
on constate qu'il n'y aura pratiquement que des fichiers de modules de
créés , plus un config et un vmlinuz dans le boot, mais rien dans
/usr/src.
...


Salut,

En fait, il te faut installer les sources du noyau (kernel source) par urpmi
kernel-source. Si tu as bien configuré urpmi, il ira chercher la dernière
version du noyau (chez moi c'est 2.4.21-0.25mdk).

Par exemple (sur une seule ligne) :
urpmi.addmedia updates_med.univ-angers.fr_i586_9.1
ftp://med.univ-angers.fr/pub/mirror/Mandrake/9.1/i586/../../updates/9.1/RPMS/
with ../base/synthesis.hdlist.cz

Bonne continuation.

--
A+
Christophe
http://laguna2.free.fr

Avatar
Landry MINOZA
Le Mardi 16 Septembre 2003 11:52, Meunier Bernard à écrit:

Lorsqu'on fait
rpm -qpl kernel-2.4.21.0.13mdk-1-1mdk.i586.rpm
on constate qu'il n'y aura pratiquement que des fichiers de modules de
créés , plus un config et un vmlinuz dans le boot, mais rien dans
/usr/src.


C'est normal, il s'agit du package contenant le noyau précompilé par
Mandrake et non ces sources.

$urpmi kernel-source-2.4.21-0.13mdk
$cd /usr/src/linux/
$cp /boot/config-2.4.21-0.13mdk .config
éventuellement changer la ligne EXTRAVERSION= du Makefile (afin de lui
donner un nom différent que celui du répertoire ou sont stockés tes modules
actuels
$make ...

Je ne vois donc pas comment je peux modifier les modules utilisés par la
version de bases par un make xconfig.

Aidé de documentations (Linux Administeation de Tsoft-Eyrolles par ex.) et
de la lecteure de tous (du moins c'était l'objectif) les 'help', je
n'arrive pas encore à faire une nouvelle config. convenable. Il y aurait
tellement de questions que je n'ose pas les poser. Je vais bien finir par
y arriver, ou du moins en décanter un grand nombre.

Merci


Pas de quoi ;-)

--
Landry MINOZA
supprimer _NOSPAM_ pour répondre.

Avatar
Meunier Bernard
On Tue, 16 Sep 2003 14:21:49 +0200, Francis Chartier wrote:

écrivait :

Je ne vois donc pas comment je peux modifier les modules utilisés par
la version de bases par un make xconfig.


Je pense que le truc qu'il te manque, ce sont juste les sources du noyau.
:)
J'ai l'impression que tu confonds l'installation d'un noyau déjà
compilé et fourni sous forme de rpm avec ses modules et la compilation
d'un noyau, pour lequel tu dois disposer des sources, généralement
installées dans /usr/src/linux-x.y.z.


En fait, je pensais pas que Mandrake utilisait (fournissait) un noyau
pre-compilé.

Il y a un autre truc que je comprends pas.
Dans /boot il y a un fichier initrd-2.4.21-0.13mdk.img.

La compilation d'un nouveau noyau ne génére pas ce fichier (ou du moins,
je ne le trouve pas).

Est-il necessaire ? Si oui, comment se crée-t-il ?

D'avance merci

Bernard


Avatar
vmlinux (Christophe)
Meunier Bernard wrote:


Il y a un autre truc que je comprends pas.
Dans /boot il y a un fichier initrd-2.4.21-0.13mdk.img.

La compilation d'un nouveau noyau ne génére pas ce fichier (ou du moins,
je ne le trouve pas).

Est-il necessaire ? Si oui, comment se crée-t-il ?

D'avance merci

Bernard



Salut,

C'est un disque ram (RAD pour ceux qui connaissent l'Amiga) qui sert au
démarrage de Linux. Il est nécessaire.

Avec la commande :
mkinitrd -f -v /boot/initrd-<version du noyau>.img <version du noyau>

Mais il faut qu'il y ait un répertoire /lib/modules/<version du noyau> (créé
à l'étape précédente par make modules_install).

Ne pas oublier d'exécuter lilo après.

--
A+
Christophe
http://laguna2.free.fr

Avatar
J. Mayer
On Wed, 17 Sep 2003 14:24:53 +0200, vmlinux (Christophe) wrote:

Meunier Bernard wrote:


Il y a un autre truc que je comprends pas.
Dans /boot il y a un fichier initrd-2.4.21-0.13mdk.img.

La compilation d'un nouveau noyau ne génére pas ce fichier (ou du moins,
je ne le trouve pas).

Est-il necessaire ? Si oui, comment se crée-t-il ?

D'avance merci

Bernard



Salut,

C'est un disque ram (RAD pour ceux qui connaissent l'Amiga) qui sert au
démarrage de Linux. Il est nécessaire.

Avec la commande :
mkinitrd -f -v /boot/initrd-<version du noyau>.img <version du noyau>

Mais il faut qu'il y ait un répertoire /lib/modules/<version du noyau> (créé
à l'étape précédente par make modules_install).

Ne pas oublier d'exécuter lilo après.


Il n'est absolument pas nécessaire, sauf si tu utilises des drivers
propriétaires pour booter (drivers pour le chipset et/ou les disques).
Sinon, il suffit d'avoir les drivers qui permettent de booter
dans le noyau.


Avatar
Francis Chartier
écrivait :

C'est un disque ram (RAD pour ceux qui connaissent l'Amiga) qui sert au
démarrage de Linux. Il est nécessaire.


Pas forcément.
On peut souvent d'en dispenser si l'on a pas besoin pour booter de
drivers "exotiques" dont on ne dispose que sous forme de module.
Il faut alors inclure dans le noyau tout ce qui est nécessaire pour
booter, notamment le support du disque dur de la partition boot et root,
celui du filesystem de ces partitions.

Par contre, quand le disque de boot est derrière une carte raid dont le
driver n'existe que sous forme d'un module propriétaire, là, on n'a pas
trop le choix, effectivement.

--
Francis Chartier

Avatar
vmlinux (Christophe)
Francis Chartier wrote:

écrivait :

C'est un disque ram (RAD pour ceux qui connaissent l'Amiga) qui sert au
démarrage de Linux. Il est nécessaire.


Pas forcément.
On peut souvent d'en dispenser si l'on a pas besoin pour booter de
drivers "exotiques" dont on ne dispose que sous forme de module.
Il faut alors inclure dans le noyau tout ce qui est nécessaire pour
booter, notamment le support du disque dur de la partition boot et root,
celui du filesystem de ces partitions.

Par contre, quand le disque de boot est derrière une carte raid dont le
driver n'existe que sous forme d'un module propriétaire, là, on n'a pas
trop le choix, effectivement.





Salut,

J'ai fait une généralité d'un cas particulier... Désolé.
Parce que chez moi Linux (Mandrake 9.1) refuse de démarrer si le fichier
initrd*.img n'a pas été créé, je pensais qu'il était indispensable.
Merci à vous deux pour ces précision.

--
Christophe
http://laguna2.free.fr