/ 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 に問題があるかどうかを教えてください。

ありがとうございます。

PS。次のオプションを有効にする必要があります。

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

関連情報