Trucs:Noyau 2.4.x et Supermount

De Lea Linux
Aller à la navigation Aller à la recherche
Jice<jice chez lea-linux point org>

Les noyaux d'origine 2.4.0-final et 2.4.1 n'intègrent pas automount qui permet au démon autofs ou autofs4 (pour la dernière version) de monter simplement et rapidement à la demande des systèmes de fichiers amovibles (cdrom : iso9660, disquette : vfat).
Je n'ai pas vu à ce jour de noyau 2.4.x patché chez Mandrake ou ailleurs ce qui est le cas pour les noyaux 2.2.xx-mdk.

POUR LE NOYAU 2.4.0 FINAL il existe un patch supermount : on peut le trouver à (entre autres) : http://www.geocities.com/SiliconValley/Lab/8144/supermount.html

POUR LE NOYAU 2.4.18 : on peut trouver le patch sur le site de Mandrake.

On récupère (c'est minuscule) on décompresse et on patche (voir [/kernel rubrique noyau] sur Lea)
La sélection de supermount dans le noyau nécessite la sélection de NFS (c'est ce qui est écrit dans l'aide en ligne : rubrique Filesystem de xconfig). Il y a deux versions de supermount : si on utilise la nouvelle en modules et que le démon autofs ne la reconnaît pas, il faut faire un alias autofs autofs4 dans /etc/modules.conf (C'est dans la doc).

Il faut qu'il y ait un répertoire /.automount à la racine du système de fichiers et un démon autofs actif ainsi qu'un /etc/fstab qui contienne les options supermount pour /mnt/cdrom et /mnt/floppy (et vos autres périphériques amovibles, zip, etc.).
Attention la syntaxe n'est pas la même que pour le montage classique, par exemple pour un lecteur de CD :
/mnt/cdrom /mnt/cdrom supermount fs=iso9660,dev=/dev/cdrom 0 0
(voir aussi man supermount et info supermount)

SURTOUT n'oubliez pas de relancer lilo (ou grub ou autre chargeur de boot) après compilation et installation du noyau (sans ça kernel panic :o( ).

Si un noyau qui ne prenait pas en charge supermount a été lancé, /etc/fstab a été modifié au premier démarrage du système en ce qui concerne le montage du lecteur de CD-ROM et du lecteur de disquettes : il faut donc y réintégrer supermount (je vous conseille de le sauvegarder pas loin si vous voulez éviter de le retaper souvent ainsi que le fichier /usr/src/linux/.config du noyau et /etc/lilo.conf, ça gagne du temps). Ne pas oublier de conserver dans lilo ou grub un démarrage possible sur l'ancien noyau en cas de problème : (cf [/kernel rubrique noyau] de Lea).

POUR LE NOYAU 2.4.1 le patch n'est pas encore sorti : il faudra attendre (c'est donc ce que je fais...) mais dès qu'il sortira ce sera la même chose sans doute.

On récapitule : ( après récupération des sources kernel-2.4.0 et supermount-0.5.3-2.4.0.diff.zip) en root :

  1. Décompresser le noyau dans /usr/src (pour une archive compressée xxxx.tar.bz2 avec l'option -j de tar à la place de -z qui est pour une archive compressée xxxx.tar.gz)
  2. Décompresser le patch dans /usr/src.
  3. Renommer le noyau (qui a pris le nom linux) en linux-2.4.0 (par exemple) :
    # mv linux linux-2.4.0
  4. Créer le lien symbolique 'linux' vers 'linux-2.4.0' :
    # ln -s linux-2.4.0 linux
  5. Patcher le noyau :
    # cd linux
    # patch -p1 < /usr/src/ supermount-0.5.3-2.4.0.diff
  6. Si un noyau de même numérotation avait déjà eté installé, renommer /lib/modulesxxxx et nettoyer les sources dans /usr/src/linux avant (les fichiers de /boot seront, eux, renommés automatiquement avec le suffixe .old lors de l'installation ce qui permet entre autre de booter en cas de problème en ajoutant une entrée qui pointe vers eux dans /etc/lilo.conf) :
    # cd /lib
    # mv modules-2.4.0 modules-2.4.0.old
    # cd /usr/src/linux
    # make mrproper
  7. Configurer le noyau :
    # make xconfig (sous X)
    ou bien
    # make menuconfig (en console)
    ou alors
    # make config (à l'ancienne !)
  8. On peut repasser en niveau trois pour compiler plus vite selon sa machine : (voir dans le LeaBook)
    # init 3
  9. Compiler et installer noyau et modules :
    # make dep && make clean && make bzImage && make install && make modules && make modules_install
  10. Faire prendre en charge le nouveau noyau par lilo (ou par grub ou autre.) :
    # lilo
  11. Éventuellement ajouter une entrée vers l'ancien noyau qui fonctionne attendez avant de le jeter surtout!) et refaire une disquette de boot pour le nouveau noyau.
  12. Vérifier /etc/fstab et l'installation de autofs :
    # emacs /etc/fstab (si on utilise emacs)
    [(faire les modifications nécessaires (par exemple)]
    /mnt/cdrom /mnt/cdrom supermount fs=iso9660,dev=/dev/cdrom 0 0
    /mnt/floppy /mnt/floppy supermount fs=vfat,dev=/dev/fd0 0 0
    C-x C-s (sauve le fichier) C-x C-c (ferme emacs) *
  13. Si les choix de configuration le rendent nécessaire (voir la doc et l'aide en ligne), ajouter un alias dans /etc/modules.conf :
    # emacs /etc/modules.conf
    alias autofs autofs4
    C-x C-s C-x C-c

    Remarque : Si vous faites ça APRÈS avoir redemarré (oubli par exemple) faire un 'depmod -a' sous root en mode console (init 3) pour la prise en compte des modifications.
  14. Redémarrer :
    # reboot
    ou bien
    # init 6
  15. Par précaution démarrer en niveau 3 :
    # linux 3
  16. Si tout va bien passer sous X (connecté sous root)
    root
    **********
    # init 5

    * C-x = touche Ctrl ET touche x en même temps etc...


Voilà ce que j'ai trouvé mais pas essayé parce que je suis sous 2.4.1 qui va bien, même très bien et que j'y reste. Mais je ne pense pas qu'il y ait d'erreur à part problème de patch.



Si quelqu'un veut passer à 2.4.0 merci de me dire si le patch supermount fonctionne.

Remarque : Cette astuce fonctionne avec MDK 7.1 et 7.2 qui sont paramétrées avec supermount à l'origine). Dans le cas contraire (c'est à dire pour des distributions comme Suse ou d'autres) ajouter l'installation et la configuration du démon 'autofs'

(astuce transmise par André Salaün)