当我试图在Ubuntu机器中启用PPP时,在menuconfig之后发生了以下错误,并试图使内核:
$ sudo makemake[1]: *** No rule to make target `arch/x86/entry/syscalls/syscall_32.tbl', needed by `arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h'. Stop.
make: *** [archheaders] Error 2 Ubuntu版本linux 4.2.0-27-泛型被使用.
请帮我修一下。
发布于 2017-03-15 07:11:12
使用$(PWD)时,这可能是语法错误。考虑改变这一点:
all:
$(MAKE) -C $(KDIR) M=$(PWD) modules对此:
all:
$(MAKE) -C $(KDIR) M=$(shell pwd) modules这解决了我的问题。
发布于 2016-09-02 11:18:47
简写版:
这不是您正在构建的完整内核。也许只是头,或者其他不完整的东西。确保这是完整的内核源代码。
长版本:
不确定Ubuntu怎么做..。通常的方法在ubuntu上不起作用,比如只对模块(不是你想要的):
apt-get install linux-headers-...
cd /lib/modules/$(uname -r)/build
make modules_prepare或者像您想要的整个内核一样,也不适合我(Ubuntu16.04):
apt-get install linux-source-...
cd /lib/modules/$(uname -r)/build
make menuconfig
make bindeb-pkg(请注意,make bindeb-pkg不是纯粹的ubuntu/debian构建方式.使用make-kpkg命令或其他什么的)
它们没有为您创建构建链接,如果您将头部符号链接到其中并复制.config文件,则构建会像您的一样失败。因此,我到目前为止有另外一个选择,例如。对于拥有4.4.16内核的ubuntu 16.04 ):
cd /usr/src
apt-get source linux-image-4.4.0
cd linux-4.4.16
cp /boot/config-$(uname -r) .config
make modules_prepare但最后一种方法是针对与运行中的内核不匹配的.我不知道这是否适用于您(对于我来说,构建一个out of tree模块并不适用,所以我还安装了make bindeb-pkg和dpkg -i ../linux-... )。
除了使用apt-get source ...之外,对于ubuntu源代码,您可以从kernel.org或通过git获得普通的tgz文件。
发布于 2021-07-06 20:00:21
当我试图为ARM Raspberry Pi构建mt7610u WIFI驱动程序时,我收到了类似的信息。读取README.md并按照文件开头的说明操作。注意,它确实需要大约900 it的空闲空间,因为它下载linux内核源代码,然后构建它。
#prepare kernel source code
..if you get this error: no rule, for target „arch/arm/tools/syscall.tbl“,
needed from „arch/arm/include/generated/uapi/asm/unistd-common.h“
For new kernel versions 5+ you need to download the latest rpi-sources to fix it:
$ sudo wget https://raw.githubusercontent.com/notro/rpi-source/master/rpi-source -O /usr/bin/rpi-source
$ sudo chmod +x /usr/bin/rpi-source
$ /usr/bin/rpi-source -q --tag-update
$ rpi-source
if you get any question just answer with [y]https://stackoverflow.com/questions/39107811
复制相似问题