[Nix-dev] Directly configuring sysfs or /sys (not sysctl)

Roger Qiu roger.qiu at polycademy.com
Sun May 24 06:27:05 CEST 2015


I think sysctl is not the same as sysfs in Linux. The sysfs is a vfs 
that is mounted on `/sys`, whereas sysctl only controls the settings 
that are available inside `/proc/sys`.

Not all the settings in `/sys` is related to the kernel. So it's 
probably better for it to be located in `boot.sys`.

For example /sys allows you to change CPU frequency.

See:

* http://www.noah.org/wiki/sysctl_and_sysfs
* 
http://people.ee.ethz.ch/~arkeller/linux/multi/kernel_user_space_howto-2.html

On BSD I think it's different, in that sysctl there might be able to do 
everything.

On 24/05/2015 4:08 AM, Bjørn Forsman wrote:
> On 23 May 2015 at 19:35, Roger Qiu <roger.qiu at polycademy.com> wrote:
>> Just listing the current possible methods for configuring /sys (I haven't
>> tried all of them):
>>
>> * Configuring a custom systemd service to run on boot that just executes
>> something like `bash -c 'echo ... > /sys...`
>> * Setting up a udev rule: http://serverfault.com/a/636759/147813
>> * Use systemd's tmpfiles.d and write a rule that writes a parameter to /sys:
>> http://www.freedesktop.org/software/systemd/man/tmpfiles.d.html
>> * Use `/etc/sysfs.conf` or `/etc/sysfs.d/` and package up the systemd
>> sysfsutils.service (this doesn't exist in Nix/NixOS currently).
>>
>> Perhaps the primitive in Nix could use of them as a backing. The
>> configuration primitive could be`boot.kernel.sys` or `boot.sys`.
> There is already boot.kernel.sysctl:
>
> https://nixos.org/nixos/manual/ch-options.html#opt-boot.kernel.sysctl
>
> - Bjørn

-- 
Founder of Matrix AI
http://matrix.ai/
+61420925975



More information about the nix-dev mailing list