/dev/kmem 没有这样的设备或地址

/dev/kmem 没有这样的设备或地址

我最近构建了linux内核版本。 4.13.9,带有配置选项CONFIG_DEVKMEMCONFIG_DEVMEM.由于家庭作业,我需要访问内核内存,我需要查看内存中某些进程的文件描述符表(是的,我了解/proc文件系统,但我想查看内核内存中的确切结构)。

所以,我用这些选项构建了内核。/dev/mem工作正常,但是当我尝试从中读取内容时/dev/kmem,出现以下错误:

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 存在:

user@debian-macbook:~$ file /dev/kmem
/dev/kmem: character special (1/2)

我正在运行 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

请告诉我 /dev/kmem 有什么问题,或者建议采用不同的方法?

谢谢。

附言。这些选项肯定已启用:

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

相关内容