I am running CentOS 6.2 and I need to create a subdirectory named "crypto" inside /proc/sys. Inside /proc/sys/crypto, I need to create a file named test which contains the value "1".

  • As per the other two answers, /proc/ is a virtual filesystem. /proc/sys/crypto should appear magically the instant the kernel loads a driver that uses it. I suspect that you're actually missing something else -- can you elaborate as to what you're doing that tells you to create that file? – Shadur May 10 '12 at 6:46

/proc is a virtual filesystem. You will need to write a kernel module that creates the appropriate structures within it.

  • Could you give me more details on it, i am not linux person you got step by step solution? I bet it just mounts some other directory then? – user18567 May 9 '12 at 21:55
  • 2
    IBM Developerworks even has a tutorial on how to do this: ibm.com/developerworks/linux/library/l-proc/index.html I know this worked, once upon a time, can't recall if it was 2.4 or 2.6 kernel... – Bruce Ediger May 9 '12 at 22:39

Ignacio Vazquez-Abrams's answer is correct: files under /proc and /sys are provided by the kernel. If you want to add a file there, write a kernel module. You can find a slightly dated presentation of the /proc programming interface in Linux Device Drivers 3rd ed. ch. 4.

Technically, it is possible to jump through hoops to make a file appear in /proc/sys/crypto (or anywhere else, really). Make a bind mount from /proc/sys/crypto to a staging directory, and make a union mount of the staging directory and an overlay directory back onto /proc/sys/crypto. Here's an example using unionfs-fuse.

# mkdir /tmp/original /tmp/overlay
# mount --bind /proc/sys/crypto /tmp/original
# unionfs-fuse -o nonempty /tmp/overlay=RW:/tmp/original=RO /proc/sys/crypto
# echo hello >/proc/sys/crypto/test
# cat /proc/sys/crypto/test
# umount /proc/sys/crypto
# umount /proc/sys/crypto
# cat /tmp/overlay/test

Note: I disclaim any responsibility for system or brain damage caused by experimenting with this stuff. The commands above are perfectly safe, but messing with other areas of /sys and /proc can cause weird behavior.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.