首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有规则使`arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h‘需要的目标’`arch/x86/entry/syscalls/syscall_32.tbl‘

没有规则使`arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h‘需要的目标’`arch/x86/entry/syscalls/syscall_32.tbl‘
EN

Stack Overflow用户
提问于 2016-08-23 17:54:32
回答 3查看 44K关注 0票数 11

当我试图在Ubuntu机器中启用PPP时,在menuconfig之后发生了以下错误,并试图使内核:

代码语言:javascript
复制
$ sudo make
代码语言:javascript
复制
make[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-泛型被使用.

请帮我修一下。

EN

回答 3

Stack Overflow用户

发布于 2017-03-15 07:11:12

使用$(PWD)时,这可能是语法错误。考虑改变这一点:

代码语言:javascript
复制
all: 
    $(MAKE) -C $(KDIR) M=$(PWD) modules

对此:

代码语言:javascript
复制
all: 
    $(MAKE) -C $(KDIR) M=$(shell pwd) modules

这解决了我的问题。

票数 16
EN

Stack Overflow用户

发布于 2016-09-02 11:18:47

简写版:

这不是您正在构建的完整内核。也许只是头,或者其他不完整的东西。确保这是完整的内核源代码。

长版本:

不确定Ubuntu怎么做..。通常的方法在ubuntu上不起作用,比如只对模块(不是你想要的):

代码语言:javascript
复制
apt-get install linux-headers-...
cd /lib/modules/$(uname -r)/build
make modules_prepare

或者像您想要的整个内核一样,也不适合我(Ubuntu16.04):

代码语言:javascript
复制
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 ):

代码语言:javascript
复制
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-pkgdpkg -i ../linux-... )。

除了使用apt-get source ...之外,对于ubuntu源代码,您可以从kernel.org或通过git获得普通的tgz文件。

票数 3
EN

Stack Overflow用户

发布于 2021-07-06 20:00:21

当我试图为ARM Raspberry Pi构建mt7610u WIFI驱动程序时,我收到了类似的信息。读取README.md并按照文件开头的说明操作。注意,它确实需要大约900 it的空闲空间,因为它下载linux内核源代码,然后构建它。

代码语言:javascript
复制
#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]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39107811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档