I am running Arch Linux on a Raspberry Pi 2.
I have a user-space program that uses Gordon's
wiringPi library and, in particular, the
piHiPri() function that attempts to set the highest priority for the current process (using
This function needs superuser privileges.
The root user is the default one when installing Arch Linux so I created a user named
builder that I added to
sudoers thanks to
My problem is:
when I execute the program with the
root user, the
sched_setscheduler function returns “Operation not permitted” (getting it from
If I execute it while being
builder I get a “permission denied”.
However if I execute it with
sudo myProgram while being
builder, everything is fine and I can see that priority has changed with the
I thought that the
root user might not have UID 0 so I checked with
id -u root but this returns 0.
ls -l myProgramm gives
-rwxr-xr-x 1 root root. I also tried to set SUID with
chmod +s myProgramm without success.
Any idea on how to make my program executable by root?
As Gilles advised I ran
ulimit -r and it returned 0 in any cases (
I changed a line in
* - rtprio 0
* - rtprio 99
This affected the output of
ulimit -r as expected: it returns now 99.
I then tried again to run my program with
root but I still have the same
Operation not permitted error and now it does not work anymore with
Operation not permittedas above)... strange !
While investigating I reverted back to old