lundi 22 mars 2010

Complier un noyaux linux

Compiler un noyaux sous linux.


L'intérêt de ceci est
d'avoir une machine avec dans le noyaux ce dont on a besoin.

Pour se faire il faut récupérer les sources et les headers


pour savoir quel noyaux est disponible on peut utiliser sous debian par exemple :



debian#apt-cache search linux-source | more



Ensuite on télécharge:



debian#apt-get install linux-headers-2.6.18-4

 ou alors avec wget, on se mets
dans /usr/src/


exemple :

 on décompresse le noyaux à
l'aide de la commande

debian#tar -xjf linux-2.6.18.6.tar.bz2

 on obtiens un répertoire
linux-2.6.18.6

on rentre dans ce répertoir et on tape la config suivante,

debian:/usr/src/linux-2.6.18.6# make mrproper

cette commande va nettoyer les librairies dans le cas ou elle avaient été compilées
pour une autre machine.

Ensuite on copie la configuration du
noyaux actuel dans le fichier racine de la nouvelle source.

cp /boot/config-2.6.18-4-486 .config

Ajouter des options au noyaux ou en supprimer il faut lancer la commande

debian:/usr/src/linux-2.6.18.6#make
menuconfig

cette commande lance une interface
ncurse, il en existe d'autres tel que

make xconfig ou make gconfig

une fois les options choisies, taper alt E et dire yes à la question save ?

 Àfin de nommer le noyaux d'une façon spécifique on va renommer les dans le fichier /

la compilation du noyau va générer deux fichier /usr/src/linux-2.6.18.6/Makefile

dans la partie Extraversion =-macompile et sauvegarder la fichier.

Ne pas oublier le – avant le nom de votre compile.

Pour compiler il faut lancer la commande « make »

Vous obtiendrez des messages comme ceci




Les fichier générées
seront comme ci-dessous,



arch/i386/bzimage --> le
noyau

System.map -- > la table
des symboles utilisées par les logiciels pour discuter avec le
système

Ensuite il faut copier le noyau et la tables des symboles dans /boot/vmlinuz-2.6.18-abdel

Afin de garder une trace du fichier de configuration

on le copie dans



#cp .config /boot/vmlinuz-2.6.18-abdel/config-2.6.18-abdel


Une partie du code source du noyaux est compilé sous forme de modules.

Il faut installer les derniers dans le répertoires /lib/modules/2.6.18-abdel

pour se faire il faut aller dans /usr/src/linux-source-2.6.18/ et

taper « make
modules_install »



Esnuite on génère et installe un mini système comme suit :


update-initramfs -c -k 2.6.18-abdel

si il existe déjà il vous affichera un message comme celui-ci

/boot/initrd.img-2.6.18-abdel already exists, cannot create.



Maintenant que le nouveau noyau est installé il faut le mettre dans le
grub qui est le système de gestion de l'amorçage, ceci afin de voire notre version compilé au démarrage.


Editer le menu de GRUB en tapant la commande ci-dessous


#vi /boot/grub/menu.lst



et ajouter ceci au fichier


title
Debian GNU/Linux, kernel 2.6.18-abdel

root
(hd0,0)

kernel
/boot/vmlinuz-2.6.18-abdel root=/dev/sda1 ro

initrd
/boot/initrd.img-2.6.18-abdel

savedefault

Par Abdellah KABOU Network and System expert

mardi 16 mars 2010

simple QOS

exemple de simple QOS sur un OA 5510

match-list voip-ml
udp any any type sip
udp any any type rtp
udp any any dscp ef
Top

class-map voip
match any voip-ml
top

!match list for best effort
match-list best_effort_match
1 tcp any any service ftp
2 tcp any any service http
3 tcp any any service pop3
4 tcp any any service smtp
5 tcp any any service tftp
6 udp any any service tftp
7 tcp any any service 194
8 udp any any service 194
9 tcp any any service 119
10 udp any any service 119
11 tcp any any service 515
12 udp any any service 515
13 tcp any any service 135
14 tcp any any service 1214
15 tcp any any service 990
16 tcp any any service 994
17 udp any any service 994
18 tcp any any service 563
19 udp any any service 563
20 tcp any any service 995
21 udp any any service 995
!maps of network protocol

class-map manage_flow
1 match any best_effort_match

policy-map best_effort
class manage_flow
priority bandwidth percent

policy-map test-simple-qos
class voip
priority
match voip-ml
priority bandwidth percent 70
set ip-dscp ef
exit

interface Tunnel 0
service-policy out test-simple-qos

interface Atm 0
service-policy out best_effort

EF dscp46

Expedited forwarding (EF) garantit que les paquets dotés du point de code recommandé 46 EF (101110) bénéficient du meilleur traitement disponible sur le réseau. Le service Expedited forwarding est souvent comparé à une ligne spécialisée. Les routeurs Diffserv garantissent un traitement préférentiel aux paquets accompagnés du point de code 46 (101110) pour l'acheminement vers leur destination. Pour obtenir des informations techniques sur le service EF, reportez-vous au document RFC 2598, An Expedited Forwarding PHB.