Risposte:
/procè un filesystem virtuale. Dovrai scrivere un modulo del kernel che crei le strutture appropriate al suo interno.
La risposta di Ignacio Vazquez-Abrams è corretta : i file sotto /proce /syssono forniti dal kernel. Se vuoi aggiungere un file lì, scrivi un modulo del kernel. È possibile trovare una presentazione leggermente datata /procdell'interfaccia di programmazione in Linux Device Driver 3rd ed. ch. 4 .
Tecnicamente, è possibile saltare attraverso i cerchi per far apparire un file /proc/sys/crypto(o altrove, davvero). Effettuare un mount bind da /proc/sys/cryptouna directory di staging e creare nuovamente un mount unione della directory di staging e una directory overlay /proc/sys/crypto. Ecco un esempio usando 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
hello
# umount /proc/sys/crypto
# umount /proc/sys/crypto
# cat /tmp/overlay/test
hello
Nota: declinerò ogni responsabilità per danni al sistema o al cervello causati dalla sperimentazione di queste cose. I comandi sopra sono perfettamente sicuri, ma fare confusione con altre aree /syse /procpossono causare comportamenti strani.
/proc/è un filesystem virtuale./proc/sys/cryptodovrebbe apparire magicamente nell'istante in cui il kernel carica un driver che lo utilizza. Ho il sospetto che in realtà manchi qualcos'altro: puoi approfondire cosa stai facendo che ti dice di creare quel file?