[Paramètres noyaux] Paramètres différents sur plusieurs noyaux (Résolu)

Questions et astuces concernant l'installation et la configuration d'archlinux
luluone
Hankyu
Messages : 15
Inscription : ven. 23 mars 2012, 17:03

[Paramètres noyaux] Paramètres différents sur plusieurs noyaux (Résolu)

Message par luluone »

Bonjour à tous
J'ai installé plusieurs noyaux sur mon PC.
J'utilise notamment le noyau Zen dans mon utilisation quotidienne et un noyau RT pour de l'audio avec jack (utilisation de mixxx pour piloter mes platines vyniles en timecode)

Pour une utilisation audio optimale il faut modifier certains paramètres du noyau
vm.swappiness = 10
fs.inotify.max_user_watches = 600000

Pour cela j'ai créé un .conf dans /etc/sysctl.d/ pour modifier ces paramètres au démarrage.

Je dois également modifier la fréquence d'interruption RTC.
echo 2048 > /sys/class/rtc/rtc0/max_user_freq
echo 2048 > /proc/sys/dev/hpet/max-user-freq

Pour cela j'ai créé un service sytemd qui lance un script sh

Mise à jour : Je crois que j'ai trouvé la solution pour systemd dans la documentation systemd.unit
ConditionKernelVersion= may be used to check whether the kernel version (as reported by uname -r) matches a certain expression

Par contre je ne suis pas sûr que ces paramètres soient optimaux pour une utilisation quotidienne avec le noyau Zen.
Ma question : il y a t-il un moyen de modifier ces paramètres en fonction du noyau utilisé ?

PS : j'utilise le bootloader systemd-boot
Dernière modification par luluone le lun. 13 avr. 2020, 10:15, modifié 1 fois.
luluone
Hankyu
Messages : 15
Inscription : ven. 23 mars 2012, 17:03

Re: [Paramètres noyaux] Paramètres différents sur plusieurs noyaux

Message par luluone »

Bonjour
J'ai trouvé la solution dont je poste ici le détail.
Comme indiqué dans mon post précédent la solution est apportée par systemd avec ConditionKernelVersion
Je crée un service kernel_rt.service

Code : Tout sélectionner

sudo nano /etc/systemd/system/kernel_rt.service
[Unit]
Description=Modification paramètres pour noyau RT
ConditionKernelVersion=*rt
 
[Service]
ExecStart=/usr/bin/myscript-kernel_rt
 
[Install]
WantedBy=multi-user.target
Je crée le script associé au service myscript-kernel_rt en indiquant #/bin/bash en entête afin d'indiquer à systmd qu'il s'agit d'un script shell

Code : Tout sélectionner

sudo nano /usr/bin/myscript-kernel_rt
#!/bin/bash
echo 2048 > /sys/class/rtc/rtc0/max_user_freq
echo 2048 > /proc/sys/dev/hpet/max-user-freq
sysctl vm.swappiness=30
sysctl fs.inotify.max_user_watches=600000
cpupower frequency-set -g performance
J'active bien sûr mon service au démarrage

Code : Tout sélectionner

sudo systemctl enable kernel_rt.service
Même manipulation pour mes autres noyaux
Au prochain démarrage mes paramètres seront appliqués en fonction du noyau chargé
Merci systemd :D
Répondre