Eu criei recentemente o Linux kernel ver. 4.13.9, com opções de configuração CONFIG_DEVKMEM
e CONFIG_DEVMEM
. Eu preciso acessar a memória do kernel por causa da lição de casa, eu preciso olhar para a tabela de descritor de arquivo de algum processo na memória (sim, eu sei sobre /proc
filesystem, mas eu quero olhar para a estrutura exata na memória do kernel) .
Então, eu criei o kernel com essas opções. /dev/mem
está funcionando bem, mas quando tento ler algo de /dev/kmem
, estou recebendo o seguinte erro:
user@debian-macbook:~$ sudo dd if=/dev/kmem bs=1k count=1 of=~/kmem
dd: error reading '/dev/kmem': No such device or address
0+0 records in
0+0 records out
0 bytes copied, 6.9563e-05 s, 0.0 kB/s
/ dev / kmem existe:
user@debian-macbook:~$ file /dev/kmem
/dev/kmem: character special (1/2)
Estou usando o Debian 9:
user@debian-macbook:~$ uname -a
Linux debian-macbook 4.13.9 #1 SMP Mon Oct 23 01:17:31 MSK 2017 x86_64 GNU/Linux
user@debian-macbook:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 9.2 (stretch)
Release: 9.2
Codename: stretch
Por favor, me diga o que está errado com / dev / kmem, ou talvez sugira uma abordagem diferente?
Obrigado.
PS. Essas opções são ativadas com certeza:
user@debian-macbook:~$ cat /boot/config-4.13.9 | grep -Ee 'DEV(|K)MEM'
CONFIG_DEVMEM=y
CONFIG_DEVKMEM=y
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
# CONFIG_STRICT_DEVMEM is not set
Tags linux linux-kernel