/usr/src/kernels无内容
时间: 2023-10-03 10:02:06 浏览: 80
`/usr/src/kernels` 目录通常是用来存放内核源代码的,如果该目录下没有内容,可能有以下几种情况:
1. 没有安装内核源代码:如果你需要编译自己的内核或者构建内核模块,你需要安装相应的内核源代码。如果没有安装内核源代码,那么 `/usr/src/kernels` 目录就会是空的。
2. 内核源代码被移动或删除:如果你曾经安装过内核源代码,但是后来将其移动或删除了,那么 `/usr/src/kernels` 目录就会是空的。
3. 操作系统不支持:某些操作系统可能不会使用 `/usr/src/kernels` 目录来存放内核源代码,因此该目录可能没有内容。
你可以尝试安装内核源代码来填充 `/usr/src/kernels` 目录,具体方法可能因操作系统而异。
相关问题
/usr/src/kernels/4.18.0-348.7.1.el8_5.x86_64/./include/linux/kconfig.h:5:10: fatal error: 'generated/autoconf.h' file not found
这个错误通常发生在编译Linux内核时,提示找不到'generated/autoconf.h'文件。这个文件是由内核配置工具生成的,因此您需要先运行内核配置工具以生成该文件。
请按照以下步骤操作:
1. 进入内核源代码目录:
```
cd /usr/src/kernels/4.18.0-348.7.1.el8_5.x86_64/
```
2. 运行内核配置工具:
```
make menuconfig
```
3. 在内核配置工具中,对内核进行配置并保存:
```
# make your configurations
# press "ESC" and then type ":wq" to save and quit
```
4. 生成'generated/autoconf.h'文件:
```
make headers_install
```
5. 重新编译内核:
```
make
```
这样应该就可以解决这个问题了。如果仍然存在问题,请尝试检查您的内核源代码是否完整,并尝试重新下载并解压缩内核源代码。
我在centos7中自己编写了一个内核模块,但是在通过makefile进行make时,却报错fatal error: linux/regex.h: No such file or directory #include <linux/regex.h> ^ compilation terminated. make[2]: *** [/home/dyc/Desktop/Test5/mymodule/Plus/message.o] Error 1 make[1]: *** [_module_/home/dyc/Desktop/Test5/mymodule/Plus] Error 2 make[1]: Leaving directory `/usr/src/kernels/3.10.0-957.el7.x86_64' make: *** [default] Error 2
这个错误提示是因为编译器找不到 linux/regex.h 这个头文件,可能是因为您的操作系统中没有安装相应的开发包。
您可以尝试安装 gcc、make 和 kernel-devel(或者 kernel-headers)等开发环境,方法如下:
1. 安装 gcc 和 make
```
sudo yum install gcc make
```
2. 安装 kernel-devel 或 kernel-headers(根据您的内核版本选择)
```
sudo yum install kernel-devel-$(uname -r)
```
或
```
sudo yum install kernel-headers-$(uname -r)
```
3. 进入您的内核模块目录,执行 make 命令
```
cd /path/to/your/module
make
```
如果还有问题,请提供更多的错误信息和您的内核模块代码。