No meu sistema embarcado eu habilitei o CONFIG_CONFIGFS_FS=y
acesso ao configFS. Quando inicializado, montei-o com a ajuda de mount -t configfs none /sys/kernel/config
. Isso funciona como charme:
# mount | grep configfs
configfs on /sys/kernel/config type configfs (rw,relatime)
Agora tento criar uma pasta device-tree
, pois queria experimentar o carregamento dinâmico de arquivos dtbo do espaço do usuário. Infelizmente recebo um erro:
# mkdir -p /sys/kernel/config/device-tree/overlays/dummy
mkdir: can't create directory '/sys/kernel/config/device-tree/': Operation not permitted
Eu já me certifiquei disso CONFIG_OF_DYNAMIC
e CONFIG_OF_OVERLAY
está definido.
As permissões de /sys/kernel/config
são:
# ls -la /sys/kernel/config/
total 0
drwxr-xr-x 2 root root 0 May 31 16:57 .
drwxr-xr-x 8 root root 0 May 31 15:56 ..
Então, eu teria adivinhado que escrever neste diretório como root
não deveria ser um problema.
Alguma dica, como eu poderia investigar esse problema?
Meu problema foi que usei o Kernel 6.1 (LTS) da linha principal que não suporta arquivos
CONFIG_OF_CONFIGFS
. Então baixei um driver de dispositivo dtbo-configfs daqui: https://github.com/ikwzm/dtbocfg , compilei e carreguei no kernel. Aí depois de montar oconfigfs
, já tinha odevice-tree
diretório disponível.