Notre serveur packet sur Bordeaux commence à avoir quelques heures de fonctionnement (quelques années plutôt !!) sans réelle défaillance.
Néanmoins, nous souhaitons le remettre au goût du jour car de nouvelles applications telles que l'APRS par exemple demandent des serveurs un peu plus à jour que celui que nous possédons.
Serveur à jour ne veut pas dire machine récente hi !! on parle ici de l'OS! En effet, nous possédons des cartes USCC>4 au format ISA et bien entendu nous ne sommes pas très enclins à dépenser de grosses sommes pour acheter des cartes PCI.
Les cartes USCC>4 au format ISA et les nouveaux noyaux ne sont pas compatibles "nativemement. Pour être plus, précis, le driver scc et l'outil de configuration sccinit font planter le kernel.
Les sympyômes sont les suivants :
- montage du pack ax25 (insmod ax25) : OK
- montage du pack scc (insmod scc) : OK
- lancement de la configuration (sccinit) : OK .... 20 secondes..
Ensuite le serveur est complètement figé, aucune prise en main possible via les consoles, plus rien ne répond. La seule issue est le reboot.
Au redémarrage vous ne découvrirez pas grand chose dans les journeaux systèmes ...
En fait, le problème vient de la particularité des nouveaux kernels : j'ai nommé SMP !!
SMP est un utilitaire de gestion de multiprocessing pour les nouveaux kernels à base de multi-core. Or sur nos machines ou l'on retrouve des ports ISA, nos procs ne sont pas vraiment multi core !
Le crash vient du fait que l'on lance par défaut le smp sur un non multicore ? ou est-ce scc qui ne supporte pas le smp ? je n'en sais pas plus car ayant une config qui fonctionne je n'ai pas cherché plus loin.
Comment peut on avoir un kernel sans SMP alors ? .... il faut donc compiler !!!
Petite astuce que je vous donne. La machine cible étant un vieille machine (vous savez, avec des ports ISA) la compilation du kernel risque d'être longue et fastidieuse en cas de crash sur un module non coché après 2h de compilation.. l'idée est donc de monter une machine virtuelle sur un pc "actuel" (=performant ?) et d'y installer la même distribution que celle installée sur le serveur packet. vous gagnerez du temps en compilation c'est sur !
Pour toute installation, je vous conseille très vivement de vous référer aux HOWTO de Bernard, F6BVP. Ils sont formidable! vous lisez de la première à la dernière ligne et ça doit fonctionner !!
De mon coté j'utilise des distribution à base de Debian (Ubuntu, debian..). souvent quand on compile un kernel de ce type nous avons des problèmes à l'installation car il manque les initrd.
J'utilise donc la commande suivante qui me compile le kernel et me crée le hearders du kernel :
- make-kpkg clean
- make-kpkg --append-to-version=.21.08.2009.2145 kernel_image kernel_headers --initrd
Le "make-kpkg clean" est important car il évite d'avoir des erreurs de compilation du "append-to-version". Ceci doit être fait après avoir configuré votre nouveau kernel.
Dans le HOWTO FPAC de Bernard indiqué plus haut, il est nécessaire de faire des kissattach pensez donc à ajouter les options PTY:
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
Pour vous servir de base de travail, je vous met mon fichier de configuration (a renommer en ".config" sous la racine des sources de votre kernel ( en général /usr/src/linux) ). Cette configuration est prévue pour 2.6.26.2.
Config Kernel 2.6.26.2 pour carte scc isa et fpac (faire enregistrer sous...).








