Table des matières
Debian GNU/Linux est une des plus grandes distributions "historiques" Linux. Ce système d'exploitation existe depuis 1993.
Presque entièrement libre et connue pour faire le moins de compromis possible, elle a donc la faveur des fervents défenseurs du Logiciel Libre
![smile](img/smiles/icon_smile.gif)
Non commerciale, cette distribution respecte un "contrat social Debian" et respecte les "principes du logiciel libre selon Debian". Le fonctionnement interne est régi par une constitution. Un système de vote par pondération permet de prendre les décisions concernant le projet. Le développement est communautaire. Utiliser Debian c'est donc aussi souvent adopter une certaine philosophie.
Liens :
- http://www.debian.org/
- http://www.debian.org/social_contract.fr.html#guidelines
- http://fr.wikipedia.org/wiki/Debian
Une formation Debian pour les débutants, très claire : http://formation-debian.via.ecp.fr/
![](img/icons/external_link.gif)
![en Français Image](img/flags/France.gif)
Se procurer Debian : http://www.debian.org/distrib/
![](img/icons/external_link.gif)
![en Français Image](img/flags/France.gif)
Pour vérifier que votre matériel sera bien reconnu par Debian, tapez lspci -n dans un terminal (avec un live CD d'une distribution Linux si vous êtes sous Windows) et recopiez le résultat sur ce site : http://kmuto.jp/debian/hcl/
![](img/icons/external_link.gif)
![en Anglais Image](img/flags/United_Kingdom.gif)
1. Les différentes versions de Debian
Il y a trois branches dans Debian :
Sid : (ou expérimental) c'est la branche "Unstable", c'est à dire instable, constamment en développement.
Testing : (ou stretch) c'est la "préparation" de la future branche stable.
Stable : la distribution "stable" contient la dernière distribution officiellement sortie de Debian.
Lorsqu'un développeur Debian crée une nouvelle version d'un paquet, celle ci entre dans Sid. Si ce paquet ne présente aucun bogue grave pendant une durée déterminée, il est alors inclus dans Testing.
Après une période variable qui peut aller de un a deux ans, voire plus, Testing est figée, c'est à dire que les paquets venant de Sid n'y entrent plus. Les bogues restant sont corrigés et Testing est stabilisée, elle devient alors Stable.
La sortie de Stable n'est donc effectuée que lorsque les développeurs estiment qu'elle est vraiment prête. Il n'y a pas de date fixe, c'est la raison pour laquelle une version de Stable est vraiment... stable. Voir : https://www.debian.org/releases/index.fr.html
![](img/icons/external_link.gif)
![en Français Image](img/flags/France.gif)
2. Quelle branche de Debian choisir pour la MAO?
En fait tout dépend de vos besoins. Sid est instable dans le sens où les paquets de logiciels changent tout le temps, mais elle peut être par période, tout a fait fonctionnelle, et de fait une grosse partie des utilisateurs de Debian s'en servent au quotidien. Mais on n'est jamais à l'abri d'un problème momentané. Si par exemple, par manque de chance, une nouvelle version de jackd est boguée pendant une durée indéterminée, ou qu'Ardour ne peut être lancé pour cause de problème de dépendances, cela peut être problématique. Cette branche demande un plus gros travail d'administration de sa machine et les mises à jour sont très fréquentes, pour ne pas dire quotidiennes.
Sauf cas particulier, Testing est déconseillée par la documentation officielle puisqu'elle dépend de l'arrivée des paquets en provenance de Sid. Il se peut donc qu'il y ait des conflits ou que la branche ne soit pas complète en tant que système d'exploitation.
Mais ce problème peut être résolu par l'étiquetage de paquets
![](img/icons/external_link.gif)
Ainsi, par exemple, on peut très bien avoir une Testing qui pioche dans Sid les paquets qui lui manque pour être complète.
Ceci dit, Bien que la fonction de pinning d'APT décrite dans apt_preferences (5) soit puissante, ses effets peuvent être difficiles à comprendre et à gérer. Vous devriez la considérer comme une Fonction Avancée. C'est pas moi qui le dit, c'est la doc officielle...
Je vous conseille donc d'utiliser l'actuelle stable et donc d'installer la version 10, Buster (au 24/01/2021) si vous voulez utiliser Debian pour faire de la MAO.
(Le tutoriel Installation d'une Debian Jessie dédiée à la MAO peut vous aider à le faire.)
Sinon, vous pouvez toujours utiliser LibraZiK qui est elle, basée sur Debian Stable.
3. Configurer l'accès au temps-réel pour les applications audio (JACK)
Si vous avez jack1 d'installé :dpkg-reconfigure -p high jackd
Si vous avez jack2 :
dpkg-reconfigure -p high jackd2
Plus d'info : voir la page PAM.
4. Noyaux pour faire de la MAO avec Debian
À partir du noyau 2.6.39, il n'y a plus forcément besoin d'appliquer le patch RT pour faire du noyau linux un noyau RT afin de faire de la MAO.
4.1. Jessie
Il suffit d'ajouter les dépôts "Debian backport"s à votre sources.list :
deb http://http.debian.net/debian jessie-backports main
Puis d'installer le noyau 2.6.39 (ou supérieur) disponible dans ces dépôts.
# aptitude update # aptitude install -t jessie-backports linux-image-2.6.39-bpo.2-amd64
Ou l'équivalent pour i386. Taper aptitude search linux-image dans un terminal vous fournira une liste des noyaux disponibles.
4.2. Testing / sid
Le noyau de base des dépôts devrait fonctionner, il n'y a rien de spécial à faire.
4.3. Compilation d'un noyau RT avec la méthode Debian
Si malgré tout vous voulez vous compiler un noyau RT, libre à vous.
Attention! dans ce qui suit, pour les lignes de commandes, si elles sont précédées d'un $, cela signifie qu'elles doivent être effectuées en utilisateur normal, # si elles doivent être effectuées en root. Vous ne devez pas recopier le symbole $ ou # dans votre terminal, mais uniquement ce qui suit.
- Commençons par installer les paquets nécessaires ou utiles pour la compilation d'un noyau sous Debian.
# aptitude install make build-essential kernel-package fakeroot libncurses5-dev bzip2 debconf-utils dpkg-dev debhelper
- Ensuite il vous faut les sources du noyau et le patch temps réel. Les patch RT se trouvent à cette adresse
![](img/icons/external_link.gif)
![en Anglais Image](img/flags/United_Kingdom.gif)
![](img/icons/external_link.gif)
![](img/icons/external_link.gif)
Pour l'exemple nous allons compiler un noyau 2.6.31.12-rt20.
- Nous téléchargeons donc les sources du noyau linux-2.6.31.12.tar.bz2
![](img/icons/external_link.gif)
![](img/icons/external_link.gif)
![en Anglais Image](img/flags/United_Kingdom.gif)
- Nous allons décompresser les sources :
J'utilise le paquet unp
![](img/icons/external_link.gif)
![en Anglais Image](img/flags/United_Kingdom.gif)
# aptitude install unp $ unp linux-2.6.31.12.tar.bz2
- Nous allons renommer le répertoire que contenant les sources qui viennent d'être décompressées, le nom dépendra bien sur du patch appliqué. Par exemple linux-2.6.31.12-rt20 dans notre cas.
$ mv linux-2.6.31.12 linux-2.6.31.12-rt20
- Nous allons nous placer dans le répertoire de ces sources :
$ cd linux-2.6.31.12-rt20
- Nous allons maintenant patcher les sources avec le patch temps réel qui se situe dans le répertoire juste au dessus :
$ bzcat ../patch-2.6.31.12-rt20.bz2 | patch -p1
- À ce stade, je vérifie que le fichier Makefile qui se trouve dans le répertoire des sources a bien été édité pour changer le nom de mon futur noyau.
$ less Makefile
Au début du Makefile il y a ces lignes :
VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 31 EXTRAVERSION =
Il faut que la ligne EXTRAVERSION ait été éditée ainsi dans notre cas :
EXTRAVERSION =.12-rt20
Si ce n'est pas le cas, j'édite moi-même avec un éditeur de texte et je sauve.
- Ensuite nous allons configurer le noyau (voir plus haut pour plus de précisions) :
$ make menuconfig
Vous vous retrouvez devant un menu dans votre terminal dans lequel vous allez naviguer avec les flèches haut et bas. Barre d'espace pour sélectionner ou de-sélectionner une option. Entrée pour entrer dans un sous-menu.
Allez dans Processor type and features, vérifiez que Processor family est celui de votre processeur.
Plus bas, vérifiez que le Preemption Mode est Complete Preemption (real time)
Encore plus bas vérifiez que le Timer frequency est à 1000 HZ
Avec les flèches gauche-droite allez sur Exit pour revenir dans le répertoire plus haut avec Entrée. Refaites Exit -> Entrée pour revenir au menu principal.
- Si vous avez une carte wifi, vous pouvez vérifier qu'elle sera bien supportée dans Networking -> Wireless, il doit y avoir un <M> devant Generic IEEE 802.11 Networking Stack
Remontez et allez dans Device Drivers -> Network device support (qui doit être activé aussi avec * devant) -> Wireless LAN, activez Wireless LAN (IEEE 802.11) et trouvez le module dont vous avez besoin.
- Si vous préférez une méthode plus graphique pour choisir les options du noyau, installez libqt3-mt-dev :
# aptitude install libqt3-mt-dev
Et à la place de make menuconfig, faites :
$ make xconfig
Vous pourrez utiliser la souris et avoir des explications sur les options choisies.
Mes connaissances en compilation de noyau s'arrêtant là pour l'instant, je ne peux guère vous donner plus de conseils. Mais c'est intéressant de creuser la question afin de pouvoir se faire un noyau sur mesure. Je vous rappelle que sur la page Compiler un noyau 2.6RT de LinuxMAO, il y a de nombreux conseils pour optimiser votre noyau. Voir également : Tuto Compiler un noyau Temps-Réel.
Sinon vous trouverez des informations utiles sur ces différentes pages :
- [http://andesi.org/logiciels/noyau/compilation-d-un-noyau-a-la-sauce-debian?s[]=compilation&s[]=noyau#choisir-les-options-de-son-noyau].
- http://www.andesi.org/noyau:les-options-du-noyau
.
Juste une dernière chose, il semble que pour pouvoir installer les drivers propriétaires nvidia par la suite, il faille désactiver Virtualization dans le menu principal ainsi que Paravirtualized guest support dans la section Processor type and features.
- Enfin la compilation en elle même qui va durer un petit moment. Cela dépend de votre processeur en fait.
$ make-kpkg clean $ time fakeroot make-kpkg --initrd --revision youki1 kernel_image kernel_headers
Pour l'option --revision vous mettez ce que vous voulez bien sur. Mais il faudra qu'il contienne un nombre, par exemple --revision batman6 si c'est la 6e version de ce noyau que vous compilez. Cette option est de toutes façons, facultative.
Si vous utilisez un multi-core, éditez le fichier
/etc/kernel-pkg.conf
pour y ajouter la ligne suivante :CONCURRENCY_LEVEL=nombre de processeurs a utiliser
Si tout se passe bien à la fin de la compilation, vous allez vous retrouver avec un paquet .deb linux-image et un paquet .deb linux-headers dans le répertoire au dessus de celui où vous êtes. Il n'y a plus qu'à les installer.
$ su # cd .. # dpkg -i linux-image-2.6.31.12-rt20_youki1_amd64.deb linux-headers-2.6.31.12-rt20_youki1_amd64.deb
Il ne vous reste plus qu'à redémarrer pour tester votre nouveau noyau.
Pour effectuer la compilation à partir des sources d'un noyau patché Debian.
Le seul problème est qu'il vous faudra vous assurez qu'un patch RT est compatible avec les sources du noyau Debian que vous souhaitez utiliser.
Pour voir les sources disponibles dans votre sources.list tapez aptitude search linux-source. Par exemple chez moi (dépôts Debian et Pengutronix dans mon sources.list) :
Pour installer les sources voulues # aptitude install le_nom_du_paquet_sources_voulues, par exemple # aptitude install linux-source-2.6.35.
Ces sources seront téléchargées dans /usr/src/, vous pouvez copier ces sources ailleurs pour les compiler. $ cp /usr/src/linux-source-2.6.35.tar.bz2 /home/votre_utilisateur/ par exemple. Vous n'avez plus qu'à appliquer la méthode de compilation expliquée dans le paragraphe précédent. Le résultat sera peut-être plus aléatoire, il faudra peut-être essayer différents patchs.
Vous pouvez aussi vous contenter de re-compiler un noyau déjà patché RT, comme les sources du noyau pengutronix par exemple. Dans ce cas, pas besoin d'appliquer le patch RT, il l'est déjà.
5. Liens
Vous trouverez aussi un tutoriel pour créer un Live CD/USB Debian optimisé MAO sur la page live-build.
Voir aussi ce Wiki en allemand dédié à la MAO sous debian : http://de.musix-wiki.org
![](img/icons/external_link.gif)
Voir également : debian 8.6 jessie MAO.