我正在尝试构建模块。
但这里有一些问题。
错误:内核配置无效。
include/ generated/autoconf.h 或 include/config/auto.conf 丢失。
在内核 src 上运行“make oldconfig && make prepare”来修复它。
警告:符号版本转储 ./Module.symvers
不见了;模块将没有依赖项和 modversions。`
这是我的 makefile
ifeq ($(KERNELRELEASE),)
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
modules_install:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
clean:
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions
.PHONY: modules modules_install clean
else
# called from kernel build system: just declare what our modules are
obj-m := hello.o hellop.o seq.o jit.o jiq.o sleepy.o complete.o \
silly.o faulty.o kdatasize.o kdataalign.o
endif
我尝试像这样构建:
export KERNELDIR=/path/to/extern/linux/source
make
我怎么解决这个问题?
重新安装linux-headers
.
先决条件
- 终端访问(
bash presumably
)
- root privileges
首先,我们尝试重新安装(使用 APT)linux-headers
包裹 -but添加您的特定内核版本。由以下命令确定:$(uname -r)
并在一行中完成所有操作:
sudo apt install --reinstall linux-headers-$(uname -r)
然后,当我们谈论内核并对其进行更改(也非常重要,即重新安装内核)时,我们希望在 APT 命令完成后立即重新启动:
sudo reboot
如果你发现找不到任何包,(或类似的)(来自 apt)
尝试apt update
并重试上述操作。
日志
做检查/var/log/kern.log
对于任何消息,
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)