标签: linux-headers

帮助定位 linux/version.h

我正在尝试修复一个旧程序,我以前遇到的问题可以在Missing modversions.h 中找到

当我make程序时,它给了我以下错误,

kaodv-mod.c:22:27: fatal error: linux/version.h: No such file or directory
compilation terminated.
Run Code Online (Sandbox Code Playgroud)

所以我跑了

find / -name version.h
Run Code Online (Sandbox Code Playgroud)

返回

/opt/VBoxGuestAdditions-4.3.2/src/vboxguest-4.3.2/vboxguest/include/VBox/version.h
/usr/include/linux/dvb/version.h
/usr/include/linux/version.h
/usr/src/linux-headers-3.8.0-29-generic/include/config/arch/want/ipc/parse/version.h
/usr/src/linux-headers-3.8.0-29-generic/include/generated/uapi/linux/version.h
/usr/src/linux-headers-3.8.0-29/include/uapi/linux/dvb/version.h
/usr/src/linux-headers-3.8.0-29/include/xen/interface/version.h
Run Code Online (Sandbox Code Playgroud)

这清楚地证明linux/version.h存在

为了解决这个问题,我应该改变

kaodv-mod.c:22:27: fatal error: linux/version.h: No such file or directory
compilation terminated.
Run Code Online (Sandbox Code Playgroud)

进入

#include</usr/include/linux/version.h>
Run Code Online (Sandbox Code Playgroud)

或者是否可以对 Makefile 进行更改

PS:生成文件

compiling c makefile make linux-headers

4
推荐指数
1
解决办法
4万
查看次数

在 Ubuntu 22.04(内核 5.17)上安装 VMWare Player

我正在运行 Ubuntu (Mate) 22.04,内核升级到 5.17.4(我有非常新的硬件)。

从 VM-Ware 下载并运行 .bundle 文件后,vmmonvmnet模块安装失败。

日志显示多个stdarg.hstddef.h发现的错误。我尝试了在这里找到的解决方案:

sudo CPATH=/usr/src/linux-headers-5.17.4-051704/include/linux vmware-modconfig --console --install-all
Run Code Online (Sandbox Code Playgroud)

但我得到了多个 error: expression in static assertion is not constant

如何让 VMWare 运行?

vmware compiling linux-headers

4
推荐指数
1
解决办法
1万
查看次数

Jammy 22.04 升级后无法构建 dkms 模块

概括

我最近从 Ubuntu 20.04 升级到 22.04,从那时起,我就无法在没有错误的情况下安装内核头文件。最初,我因缺少flexbison而出现错误。手动安装这些后,我遇到了以下错误,但无法解决。

错误

尝试安装(以及几个旧版本)失败,并在 dkms 模块构建期间makelinux-headers-5.15.0-47-generic返回错误状态。

apt说检查make log,有如下错误:

No rule to make target 'arch/x86/entry/syscalls/syscall_32.tbl',
             needed by 'arch/x86/include/generated/uapi/asm/unistd_32.h'
Run Code Online (Sandbox Code Playgroud)

完整的apt输出

$ sudo apt install --reinstall linux-headers-$(uname -r)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 2,898 kB of archives.
After this operation, 0 B of additional disk space will be …
Run Code Online (Sandbox Code Playgroud)

scripts compiling kernel make linux-headers

4
推荐指数
1
解决办法
4967
查看次数

如何添加自定义内核风味?

由于多种原因,我需要为标准 x86 Ubuntu 16.04 系统构建自定义内核。按照这些说明,我通过以下调用成功构建了我需要的软件包套件:

fakeroot debian/rules binary-headers binary-generic binary-perarch skipdbg=false do_tool=true
Run Code Online (Sandbox Code Playgroud)

然而,作为这项工作的下一步,我想知道是否要做一些事情,例如减少不需要的驱动程序的数量,包括我目前使用 dh_dkms 软件包安装的一些补丁等。我觉得即使是我自己使用,它也会如果这些更改可以在内部发布,而不是使用标准的“通用”名称,而是可能是特定于我公司的半嵌入式用例的新风格/配置,那就最好了。

我发现 Ubuntu 内核存储库(例如 git://kernel.ubuntu.com/ubuntu/ubuntu-disco.git)有点难以导航,而且它似乎与 Debian 的做法有很大的不同,他们的有关内核构建的文档也不是很有帮助。

所以我的问题是:这个存储库中定义的口味及其配置(或默认配置)在哪里?看起来它可能已经在 中debian.master/control.d/vars.<flavourname>,但在那里添加新文件并没有使binary-<flavourname>构建目标可用,也没有改变任何fakeroot debian/rules editconfigs行为方式。

谢谢。

compiling kernel linux-headers

3
推荐指数
1
解决办法
1039
查看次数

删除后如何重新安装丢失的内核模块?

前几天我正在清理一些磁盘空间。我删除了一些带有 Linux 内核头文件的目录。现在我看到很多错误抱怨缺少 Linux 头文件。我试图重新安装它们,但找不到它们。

我已经研究了很多命令,但是,它们都不起作用。这是我迄今为止尝试过的:

linux@linux:~$ sudo apt-get install uswsusp
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libx86-1
The following NEW packages will be installed:
  libx86-1 uswsusp
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 220 kB of archives.
After this operation, 977 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://mirror.ufscar.br/ubuntu bionic/universe …
Run Code Online (Sandbox Code Playgroud)

kernel linux-headers

2
推荐指数
1
解决办法
1万
查看次数

为什么环境变量在 Linux 中没有返回?

在 windows 中设置一个新的变量 = value 我们可以简单地将它添加到环境变量中。但是,在 linux 中,看起来有点难。这是我遵循的程序:

打开终端并写入:

vim ~/.bashrc  
Run Code Online (Sandbox Code Playgroud)

然后按键盘“i”,然后定义变量如下:

Test_MyVariable='Tessst'
export Test_MyVariable
PATH=$PATH:Test_MyVariable/bin
Run Code Online (Sandbox Code Playgroud)

然后 :wq

在 $echo 之后我看到了变量:

echo $Test_MyVariable 
Run Code Online (Sandbox Code Playgroud)

它返回:

测试

但在我的崇高文本中,它返回无。

import os
new_v= os.environ.get('Test_MyVariable')
print(new_v)
Run Code Online (Sandbox Code Playgroud)

没有任何

我什至检查了所有可用的 os.environ 但我找不到我的Test_MyVariable. 此外,我还尝试使用~/.bash_profile~/.profile并为它们添加变量,但结果相同。请告诉我我做错了什么?

vim command-line bash environment-variables linux-headers

2
推荐指数
1
解决办法
4102
查看次数

Ubuntu 如何定义哪些 linux-headers-* 将与 linux-headers-generic 一起安装?

从 22.10 升级到 23.04 时,我遇到了这个错误,导致系统无法启动,因为最新的内核6.2.0-20尚未正确安装。

\n

我使用 GRUB 启动菜单来定义较旧的内核(显然,5.19.0-41这是最新内核“后面”唯一可用的内核6.2.0-20),所以现在我在这个较旧的内核上运行。

\n

为了清理我的系统,我尝试清理新内核和损坏内核的apt remove linux-headers-6.2.0-20所有其他相关标头,但这是不可能的,因为非特定依赖于这些包。6.2.0-20linux-headers-generic

\n

因此,我还linux-headers-generic计划在删除有问题的标头后重新安装它。我手动清除了所有这些新标头,直到列表几乎为空(我离开是linux-libc-dev:amd64因为这似乎不会引起问题):

\n
$ sudo dpkg -l | grep "6.2.0-20"\npi  linux-headers-6.2.0-20                                      6.2.0-20.20                               all          Header files related to Linux kernel version 6.2.0\nrc  linux-image-6.2.0-20-generic                                6.2.0-20.20                               amd64        Signed kernel image generic\nii  linux-libc-dev:amd64                                        6.2.0-20.20                               amd64        Linux Kernel Headers for development\nrc  linux-modules-6.2.0-20-generic                              6.2.0-20.20                               amd64        Linux kernel extra modules for version 6.2.0 on 64 bit x86 SMP\nrc …
Run Code Online (Sandbox Code Playgroud)

upgrade kernel linux-headers 23.04

2
推荐指数
1
解决办法
2365
查看次数

$DISPLAY 环境变量值可以有多长?

$DISPLAY 环境变量值的最大长度是多少?

我知道它是 - 主机名:displaynumber.screennumber

那么它会 => max($DISPLAY) = max(主机名) + max(显示编号) + max(屏幕编号) 吗?

Linux 上主机名、显示编号和屏幕编号的最大长度是多少?

environment-variables linux-headers

1
推荐指数
1
解决办法
1279
查看次数

具体命令的使用方法

我正在尝试安装VMware。但由于存在一些困难,我遵循了一个教程,其中列出了一些命令来解决我的问题。我看到这个命令:

$ sudo apt update && sudo apt install -y linux-headers-$(uname -r) linux-modules-$(uname -r)
Run Code Online (Sandbox Code Playgroud)

但我不知道如何使用它。我应该uname -r用我的用户名替换吗?我尝试了很多方法但没有一个效果很好。

apt vmware kernel linux-headers

0
推荐指数
1
解决办法
39
查看次数