J'essaie d'être basic
et d'expliquer un maximum mais ceci n'est pas un cour de Linux
mais d'AX25 sous Linux, vous devez déja avoir
un minimum de connaissances,
les liens les plus utiles et en francais sont
ici
.
Installation de Linux
Si vous êtes débutants à l'installation ne
faites pas d'épicerie installez TOUT.
Pour ceux qui commencent à connaître il vous faut
une redhat standard cochée
par défaut, networking, outils de devellopement, librairies,
sources et headers du kernel.
Si vous comptez faire du mode graphique installez aussi Gnome
et Kde pour avoir un
évantail maximum d'applications. Utilisez "grub" (par
défaut) en gestionnaire d'amorçage.
Par pitié dites OUI quand on vous demande de faire une
disquette boot.
Recompilation
du kernel
Houlà ! Dur dur mais il faut y passer, l'AX25 n'est pas
coché par defaut. Je vais quand même soigner cette
partie même si c'est du Linux pur.
En fait j'avais moins détaillé la première fois
que j'ai fais cette rubrique mais il restais finalement tellement peu
à faire pour qu'on puisse la considérer comme un mini
Kernel-Howto à peu prêt correct que j'ai fait le pas, il
y a le strict minimum, vous pouvez très bien vous demander encore
ce que c'est qu'un kernel après en avoir compilé un ! Manque
les remarques des gens qui s'en sont vraiment servi pour voir si ca tient
la route !
Attention ce n'est pas difficile de compiler un kernel mais malheureux
ne faites pas ca le premier jour où vous installez Linux, lisez
les docs et dans ce cas en particulier le "Kernel-Howto" de référence,
voir lien plus haut le lien sur les sites de documentation. Sauvegardez
vos documents et vos fichiers de configuration (/etc/* /var/* $home/*
) auparavant.
Si votre Linux est tout cassé après, que vous jetez
votre savate dans l'écran, que celui-ci prend feu et que de rage
vous le jetez par la fenêtre, si par hasard il atterri sur une
voiture qui s'enflamme également et qu'un avion crash sur une péniche
suite à la fumée dégagée
JE NE SUIS PAS RESPONSABLE !
Vous êtes prévenus !
Ceci dit si vous faites réellement bien et sérieusement
ce qui est écrit ci-dessous, même si vous connaissez mal
Linux vous devriez pouvoir rebooter même s'il y a des erreurs ou
s'il manque des drivers dans un premier temps, au besoin utilisez votre
disquette boot.
- Tant qu'a faire on va récuperer
le dernier kernel disponible sur ftp://ftp.free.fr/mirrors/ftp.redhat.com/updates/7.2/en/os/
et le personnaliser à son callsign.
- Choisissez votre version en fonction
de votre machine.
- Login en root
cd répertoire où vous avez téléchargé
rpm --upgrade kernel-version.rpm
cd /usr/src/linux/config (ou cd /usr/src/linux-version/config)
- Choisissez votre config
ls -l
cp -f votreconfig ../.config
cd ..
make config (Pour les puristes)
make menuconfig (Pour les malheureux en mode
texte)
make xconfig (Pour les plus heureux, avec un
GROS PC tout neuf en mode graphique, Ha ! Heu lancez
l'interface graphique avant ! Ca ne gène pas !)
)
- Rubrique "Amateur radio support" cochez
ceci
- Sous rubrique "ax25 network device drivers"
cochez ceci
Attention certaines rubriques ne sont pas cochées
car la compilation est difficile voire impossible ou provoque des erreurs,
donc si vous voulez tout cochez à vos risques et périls
!
Si c'est comme chez moi (RH 7.2) et que vous
prenez par exemple un kernel pour Athlon ca va coincer à la compilation,
donc soit vous essayez déja sans rien toucher soit :
- Vous jetez maintenant un oeuil dans le fichier de config,
ca ne mord pas !
pico .config
et virez sauvagement toutes les
lignes "CONFIG_ABI*"
- Soit vous êtes à la bourre :
cat .config | grep -v CONGIG_ABI > config
mv config .config
- Après vous être sauvagement défoulé
éditez le Makefile :
pico Makefile
- Rubrique
EXTRAVERSION = -Xcustom
Mettez à la place :
EXTRAVERSION = -votre_indicatif
Maintenant passons à la compilation en elle même :
make dep
make clean
make bzlilo
make modules
make modules_install
Si vous voulez manger entre temps :
make dep && make clean && make bzlilo &&
make modules && make modules_install
Mais bon, si vous ne connaissez pas trop vous
aurez du mal à savoir où ca a coincé donc restez sage
et faites les un par un,
il y en a pour 1h sur un Athlon 1Giga.
Vous avez maintenant un /vmlinuz, un /System.map
et normalement un truc du genre /lib/modules/version-
indicatif
Tapez ls pour voir tout ca :
ls -l /
ls -l /lib/modules
Jusque là nous n'avons pas touché à l'amorçage
du système.
Nous allons faire un backup des fichiers boot :
cp -rf /boot /boot.bak
Si vous utilisez lilo en boot manager :
cp -f /etc/lilo.conf /etc/lilo.conf.bak
Pas de regrets ?
Allons-y !
- Jettez un oeuil sur ce qu'il y a là
dedant :
ls -l /boot
- Récupérez votre oeuil, il pourra
encore servir.
- On enlève les anciens fichiers dans /boot
rm -f /boot/vmlinuz* initrd* System.map*
- On met en place notre nouveau kernel :
cp -f /vmlinuz /boot/vmlinuz
-version-indicatif
cp -f /System.map /boot/System.map
-version-indicatif
/sbin/mkinitrd /boot/initrd
-version-indicatif.img
version-indicatif
----------
Cette dernière commande
quelquefois peut ne pas fonctionner et vous donne un message d'erreur style
tous les loop devise sont occupé, pas d'affolement ! Faite déja
toute la suite après les -------- et revenez
ici avant de rebooter :
Si vous avez lilo modifiez le /etc/lilo.conf
et commentez la ligne où il y a inird (mettez un # en
début de ligne) :
pico /etc/lilo.conf
- Rebootez (ca va faire des erreurs mais ca doit marcher) , faites la
commande :
- Loggez vous en root.
/sbin/mkinitrd /boot/initrd
-version-indicatif
.img version-indicatif
- Réeditez le /etc/lilo.conf en
enleve le # que vous avez mis.
Tapez :
lilo
- Rebootez, ca doit marcher !
- Si vous avez grub ne touchez a rien,
- Au premier reboot dans le boot manager grub mettez vous sur Linux. Tapez
e pour editer
le fichier boot, mettez vous sur la ligne ou il y a initrd, virez la avec
d.
- Tapez b pour booter, ca va booter avec quelques erreurs.
- Loggez vous en root.
- Faites la commande :
/sbin/mkinitrd /boot/initrd
-version-indicatif
.img version-indicatif
Rebootez, ca doit marcher !
------------
ln -sf /boot/vmlinuz-version-indicatif
/boot/vmlinuz
ln -sf /boot/System.map-version-indicatif System.map
ln -sf /boot/initrd-version-indicatif.img /boot/initrd.img
Si vous avez une redhat 7.2 le dernier fichier /boot/initd.img n'existait
pas avant
mais il va nous permettre de toucher une fois et une seule au fichier
boot, PLUS BESOIN
D'Y TOUCHER DANS LES COMPILATIONS FUTURES
- Les cinq version-indicatif en
rouge doivent concorder.
- Si c'est votre première compilation avec cette documentation
vous devez editer le fichier de démarrage :
- Si vous avez grub en gestionnaire d'amorcage
:
pico /boot/grub/grub.conf
Seules deux lignes qui doivent à peu prêt ressembler
à ceci nous interressent :
kernel /boot/vmlinuz
ro root=/dev/hddX
initrd /boot/initrd-version.img
Vous devez remplacer ce qu'il y a en vert
ci-dessus par ce qu'il y a en jaune plus haut.
- Si vous avez lilo en
gestionnaire d'amorcage c'est le même pricipe, vert et jaune
doivent concorder, ne touchez pas au reste !
pico /etc/lilo.conf
Si vous utilisez grub,
que c'est votre deuxième compilation et que la première
a bien marché vous avez peut-être remarqué la ligne
splashimage=(hd2,1)/boot/grub/splash2.xpm.gz
Amusez vous à personnaliser encore plus le gestionnaire d'amorcage
:
Remplacez splash2.xpm.gz par un fichier de votre choix
ou éditer celui-ci :
cp /boot/grub/splash2.xpm.gz
- décompressez le
gzip -d /boot/grub/splash2.xpm.gz
On obtient un splash2.xpm
Sous votre interface graphique démarrez gimp. (Clic droit
sur le bureau, exécuter une commande, gimp)
Editez le comme vous voulez.
Le but du jeu est maintenant de trouver l'option dans gimp qui permet
d'enregister dans un format XPM et EN 16 COULEURS.
N'oubliez pas qu'au démarrage vous êtes en VGA standard
16 couleurs. On le sauvegarde sous par exemple splash2-indicatif.xpm.
- Recompressez le :
gzip splash2-indicatif.xpm
- Remettez le à la bonne place :
cp splash2-indicatif.xpm.gz /boot/grub
- Puis :
pico /boot/grub/grub.conf
et changez la ligne
splashimage=(hd2,1)/boot/grub/splash2.xpm.gz
par :
splashimage=(hd2,1)/boot/grub/splash2-indicatif.xpm.gz
- Vérifiez qu'il ne manque rien !
ls -l /boot.bak
ls -l /boot
Normalement vous avez un initrd.img en plus (Sur redhat 7.2) sinon
tous les
fichiers sont les mêmes à la version/taille près.
Ce que nous avons touché ce sont ces trois fichiers avec leur
trois liens mais le reste doit y être, on ne doit pas y toucher
!
/boot/initrd-version-indicatif.img et son lien
: /boot/initrd.img
/boot/vmlinuz-version-indicatif.img et son lien : /boot/vmlinuz
/boot/System.map-version-indicatif et son lien : /boot/System.map
Ouf ! La minute de vérité !
Avant de rebooter allez faire ce qu'il y a de marqué entre les -------------
plus haut
si vous avez eu une erreur avec cette commande :
/sbin/mkinitrd /boot/initrd
-version-indicatif.img
version-indicatif
- Si vous avez lilo en
gestionnaire d'amorcage :
lilo
- Serrez les fesses (Indispensable !), faites
une prière (Recommandé !) et appuyez sur CTRL ALT DEL
- Ca marche ? ! Vous êtes un Génie
passez à la rubrique suivante !
- Ca ne boote plus ! Ouch ! Essayez votre disquette
boot, et dites pas que vous en avez pas ! Je vous l'avais dit ! Na !
- Ca ne boote toujours pas ... dommage ..., heu
je crois bien qu'il va falloir reinstaller !
- Tout c'est bien passé, pas d'erreur
au démarrage mais ... j'ai plus mon lecteur zip port parallèle
!
Bon pas d'affolement, sje est là ! C'est
un probleme courant, on a perdu un driver quelquonque !
Je vais donner un exemple pour un lecteur zip
mais ca permet de résoudre pratiquement tout, en fait c'est une
démarche à avoir.
L'équivalent d'un driver du config.sys sous dos ca s'appelle
un module sous nunux, sous dos l'extension est .sys, sous Linux c'est .o.
1) Identifier son driver :
cd /usr/src/linux(-version)/Documentation
Je cherche donc un driver pour iomega !
Il faut fouiller la dedant, lancez ça et rappellez vous de
mc, c'est hyper sympa, si vous êtes en mode texte et même graphique
faites en votre copain :
mc
Bon ben on ne va pas s'embeter
F9 / commande / rechercher fichier / contenant / IOMEGA
Attention à la casse !
J'apprend par ce biais que mon driver s'appelle ppa.o
Je tapes en root :
/sbin/modprobe ppa
Cool mon zip est revenu :-)
2) Rechercher les dépendances
Maintenant mon probleme va être de le charger au démarrage
et là un autre probleme va se poser, en effet dans une Redhat standard
il y a des drivers pour à peu prêt tout et même (hasard)
pour un port parallèle. Quand j'ai tapé /sbin/modprobe
il m'a trouvé toutes les dépendances (les drivers à
charger avant) de ce driver et les a chargées.
Mon 2ième probleme c'est qu'au démarrage mon kernel
ne peut pas lancer "modprobe", il utilise la commande "insmod" qui elle
charge les modules un par un sans chercher les dépendances. Pour
info si vous utilisez la commande insmod vous devez précisez .o
( modprobe ppa -----> ismod ppa.o ).
1ière solution :
La commande modprobe trouve les dépendances dans /lib/modules/
version-indicatif/modules.dep.
pico /lib/modules/version-indicatif/modules.dep
(ou mc puis F3 sur modules.dep puis F7 rechercher ppa.o)
La ligne qui nous interresse est celle-ci
:
/lib/modules/version-indicatif/kernel/drivers/scsi/ppa.o: /lib/modules/version-indicatif/kernel/drivers/parport/parport.o
\
/lib/modules/version-indicatif/kernel/drivers/scsi/scsi_mod.o
Je vois là que je dois charger avant le zip : parport.o et
scsi_mod.o.
2ième solution :
J'ai tapé modprobe ppa, si mon zip fonctionne
mes 3 modules parport.o scsi_mod.o ppa.o doivent être chargés
, listons les modules en mémoire ( dans ce cas je ne montre que
ce qui nous interresse si vous tapez lsmod chez vous ya plus du monde !
) :
lsmod (list
module) le résultat en rouge
ppa
9728 0
<-- aucun autre module n'utilise ppa d'où le 0
scsi_mod
95968 2 [ppa sd_mod] <-- ici on voit
que le module scsi_mod est utilisé par 2 modules : ppa et sd_mod
parport
24832 1 [ppa]
<-- ici on voit que le module parport est utilisé par 1
module : ppa
Bon ici nous avons un cas un peu atypique, le lecteur zip est
considéré comme un dique scsi et dès qu'on charge
un module scsi, le module sd_mod est automatiquement chargé, ce module
prend en charge les disques scsi.
Ceci m'amène à autre chose en passant : Sous
linux on peut décharger les modules de la mémoire un par
un avec la commande "rmmod" (remove module). Il me semble donc logique
qu'on ne pourra pas décharger comme ca le parport par exemple sans
avoir déchargé auparavant le ppa
3) Charger mon driver au démarrage :
Très simple on utilise la commande "mkinitrd" qui ne devrait
pas vous être étrangère.
Vous l'avez tapée tout à l'heure juste après
la compilation.
mkinitrd va lire /etc/modules.conf, va charger les drivers qui sont
dedant. On peut y trouver aussi des options pour certain drivers ( Pour
plus d'infos man mkinitrd ).
Nous nous contenterons d'une soluion plus simple et qui reste propre,
ceci résoudra complètement notre problème de zip
:
rm /boot/initrd-version-indicatif.img
mkinitrd --preload parport.o --preload scsi_mod.o --preload ppa.o
/boot/initrd-version-indicatif.img version-indicatif
Remarquez que ici on précise le .o
Voilà je pense qu'avec ca vous devriez vous en sortir pour
n'importe quel driver, au pire vous ne trouvez pas son nom.
Un coup de lilo pour assurer si vous utilisez
lilo en gestionnaire d'amorçage :
lilo
- Ca se passe mal, plein d'erreurs au
démarrage ? Recommencez, vérifiez, Re Re vérifiez,
lisez les docs de compilaion, faites travailler votre cerveau, faites
schcrafougner vos neurones et quand vous en aurez marre :
rm -rf /boot
cp -r /boot.bak /boot
- Si vous avez
lilo en gestionnaire d'amorcage :
cp -f /etc/lilo.conf.bak /etc/lilo.conf
lilo
CTRL ALT DEL
Là vous revenez au point de départ avant la compile.
Installation de l'AX25 proprement
dit :
- Lol vous êtes encore là
? Et pas las ? Bon continuons ...
- Félicitations pour la compilation haut la main du kernel,
si si c'était du grand art !
- Si tout semble ok au démarrage :
rm -f /vmlinuz /System.map
- Téléchargez les "Indispensables"
ici
- Les utilitaires vont s'installer dans /usr/local,
si votre Linux est tout frais et encore vert ils ne seront donc pas dans
le path, il faut donc éditer celui-ci.
- Login en root
pico /root/.bash_profile
- Ajoutez au path :/usr/local/bin:/usr/local/sbin
- Les differents path se séparent par
":".
- Faites la même chose pour votre utilisateur
préféré.
- Certains utilitaires s'installent directement
dans /usr ou à partir de la racine donc pour ne pas être
ennuyés faites ceci , toujours en root :
mkdir -p /usr/local/var/ax25
mkdir -p /usr/local/etc/ax25
ln -sf /usr/local/etc/ax25 /etc/ax25
ln -sf /usr/local/var/ax25 /var/ax25
Ceci crée des liens, en fait les répertoires /etc/ax25
et /var/ax25 sont les même que /usr/local/etc/ax25 et /usr/local/var/ax25.
cd répertoire ou vous avez téléchargé
les indispensables.
tar -zxvf libax25-0.0.10.tar.gz
cd libax25-0.0.10
./configure && make && make
install
- idem pour ax25-tools et xlog (Ce dernier si
vous êtes en mode graphique).
Configuration :
Je suppose que j'ai un TNC en mode kiss sur le COM1 pour dos.
Pardon ? Non non Allons, je ne vais pas apprendre à un vieux
packetteur aguerri qui a fait ses armes sous MS Dos 1.1 à passer
un TNC en mode kiss ! (.
)
- login root
- Edition du fichier de configuration des ports
ax25
pico /etc/ax25/axport
Bon voici ce fameux fichier (Les lignes en # ne sont pas prises
en compte ) :)
---------------- Coupez ici
# Nom de l'interface Indicatif
Vitesse du port série Paclen Window Description
#
du tnc
#
144
F1SJE
4800
256
7 144.675 MHz
(1200 bps)
#
---------------- Coupez là
- C'est tout !
Lancement
- Login en root
- Création d'un fichier batch de lancement :
pico /usr/local/bin/ax25
--------------- Coupez ici
#
# Lancement du module (driver) kiss
modprobe mkiss
#
# Création de l'interface ax25, la première va s'appeller
ax0
#
# -m 490 : mtu 490 recommandé en 1200 bauds
#
# /dev/ttyS0 = COM1 sous dos /dev/ttyS1 = COM2 etc etc ...
#
# Le 144 correspond au nom de l'interface dans /etc/axports
#
# 44.151.94.25 votre No IP si vous en avez un sinon : 0.0.0.0
#
# & démarrage en tache de fond
#
kissattach -m 490 /dev/ttyS0 144 44.151.94.25 &
#
# Démon mheard qui va vous permettre de voir les stations
entendues.
# le -f pour remettre à zéro le fichier log.
#
mheardd -f
#
--------------- Coupez là
Tip :
- A propos de mheard sur certain systemes il ne sait pas créer
son fichier au démarrage, il suffit de lui créer un fichier
vide :
touch /var/ax25/mheard.dat
- rendez votre fichier executable :
chmod 711 /usr/local/bin/ax25
- lancez le :
ax25
Scripts pour Yam par F1SXO
Ces scripts sont prévus pour un accés
sur le serveur F6FBB via la
gateway F6BEX, à chacun de le modifier selon les besoins locaux.
Yam 1200 Bauds
Yam
9600 bauds
Première connexion :
- A partir de là on peut cesser de travailler en root,
tout est prêt.
- Bon on va jeter un oeuil si tout va bien, déja au lancement
de ax25 votre TNC devrait passer en émission au moins 1 fois.
- Vérifiez que kissattach et mheard sont bien lancés
:
ps auxw
regardez les dernières lignes, il doit y avoir au moins
kissattach (et mheardd mais bon sans mheardd l'ax25 fonctionne)
- Vérifiez la présence de l'interface ax0 :
/sbin/ifconfig
Ou mieux :
/sbin/ifconfig ax0
- êtes vous sur une QRG très fréquentée
? Regardez si votre interface entend :
mheard
- connectez vous qq part :
ax25_call interface votre_call call_a_connecter
ex :
ax25_call 144 f1sje f6ptt-1
Heu ca DOIT marcher :-)
Si vous êtes arrivé là et que ca n'a pas semblé
protester qq part et que tout s'est lancé normalement il y a 99,99%
de chances que ce soit un problème physique, mauvais port com
ou TNC pas en mode kiss ou mauvaise vitesse....
Voilà, félicitations si vous êtes arrivés
jusque là ! N'hésitez pas à signer
mon livre d'or
si cette modeste contribution vous été de quelque
utilité. Les critiques sont les bienvenues je suis sur qu'il y
a des fautes ou omissions; corrections orthographiques ou/et grammaticales
bienvenues.
Meilleurs 73s de Dominique, F1SJE
: