root@TOTO:~# olinuxino-sd-to-sata
Detecting board...
Detecting the root device...
Root partition: /dev/sda1
Root device: /dev/sda
Detecting SATA device...
Failed to detect SATA device!
root@TOTO:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 111,8G 0 disk
└─sda1 8:1 0 111,8G 0 part /
mmcblk0 179:0 0 14,8G 0 disk
└─mmcblk0p1 179:1 0 1,1G 0 part
root@TOTO:~# df .
Sys. de fichiers blocs de 1K Utilisé Disponible Uti% Monté sur
/dev/sda1 114784676 1262712 107645052 2% /
$ ulimit -r
0
$ /usr/bin/chrt -f 8 true
chrt: failed to set pid 0's policy: Operation not permitted
sudo -s
cat > /etc/security/limits.d/99-audio.conf << EOF
@audio - rtprio 20
@audio - memlock unlimited
#@audio - nice -19
EOF
ulimit -r is now 20, which is correct.chrt -f 8 true fails, so I looked in kernel config:grep -E 'CONFIG_(CGROUPS|CGROUP_SCHED|RT_GROUP_SCHED|PREEMPT_RT)=|# CONFIG_(CGROUPS|CGROUP_SCHED|RT_GROUP_SCHED|PREEMPT_RT) is not set' "/boot/config-$(uname -r)"
CONFIG_CGROUPS=y
CONFIG_CGROUP_SCHED=y
CONFIG_RT_GROUP_SCHED=y
QuoteCONFIG_RT_GROUP_SCHED=y. With that option, a task in any cgroup other than the root cgroup can only use realtime scheduling if that cgroup has cpu.rt_runtime_us > 0. systemd puts your login session in user.slice/user-1000.slice/session-N.scope, and those cgroups default to 0. The kernel then returns EPERM even though rtprio is 20 in limits.conf
scripts/config --disable RT_GROUP_SCHED
make olddefconfig
grep RT_GROUP_SCHED .config # should show "is not set"

Bus 004 Device 002: ID 08bb:2902 Texas Instruments PCM2902 Audio Codec
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 04b3:310c IBM Corp. Wheel Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub