我注意到,当通过 Ubuntu Pro 启用实时内核更新时,内核会更新,但直到重新启动才会激活,所以我想知道如果必须重新启动才能激活内核,那有什么意义呢?
每次重启后,我都必须运行这个命令列表来释放我的处理器,避免其过载
sudo -s
echo "disable" > /sys/firmware/acpi/interrupts/gpe13
exit
我尝试将操作系统升级到最新版本 - 但无济于事
这是我的系统参数:
- 华硕 N551JW
- 英特尔® 酷睿™ i7-4720HQ CPU @ 2.60GHz × 8
- NVIDIA GeForce GTX 960M/PCIe/SSE2
- 内存 16GB
现在我使用这些操作系统和内核
Ubuntu 22.04.5 LTS x64
5.15.0-76-通用
Ubuntu 24.04.1 LTS
6.8.0-47-通用
我决定拆分我之前的问题来获得所有问题的答案
我想跟踪系统范围的跟踪点。Perf 列表告诉我以下跟踪点可用:
block:block_io_start [Tracepoint event]
block:block_plug [Tracepoint event]
block:block_rq_complete [Tracepoint event]
block:block_rq_error [Tracepoint event]
block:block_rq_insert [Tracepoint event]
...
power:cpu_frequency [Tracepoint event]
power:cpu_frequency_limits [Tracepoint event]
power:cpu_idle [Tracepoint event]
power:cpu_idle_miss [Tracepoint event]
我知道我应该用
perf record -e TRACEPOINT -a
用于系统范围的跟踪。但是,我被告知跟踪点是unsupported tracepoint
:
perf record -e block:block_io_start -a
event syntax error: 'block:block_io_start'
\___ unsupported tracepoint
libtraceevent is necessary for tracepoint support
Run 'perf list' for a list of valid events
我安装了所有libtraceevent*
软件包。我的内核是:
6.8.0-45-generic #45~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Sep 11 15:25:05 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
6.8.0-45
我目前正在尝试按照类似于此处提到的步骤编译自定义的 Ubuntu Jammy (22.04) HWE 内核版本。我正在对iwlwifi
驱动程序应用一些补丁。
以下是我的分步过程:
git clone git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/jammy && cd jammy
git checkout Ubuntu-hwe-6.8-6.8.0-45.45_22.04.1
git switch -c my_branch/6.8.0-45_iwl_patch
- 将我的更改应用到
drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c
文件 git add . && git commit -m "My commit message"
cp /boot/config-$(uname -r) .config
sed -i 's/CONFIG_LOCALVERSION=""/CONFIG_LOCALVERSION="-ricciolino"/g' .config
make oldconfig
fakeroot debian/rules clean
fakeroot debian/rules binary-headers binary-generic
一切工作正常,直到第 10 步,我在构建过程中遇到以下错误:
(my_branch/6.8.0-45_iwl_patch)> fakeroot debian/rules binary-headers binary-generic
Debug: /opt/my-kernel/jammy/debian/stamps/stamp-prepare-indep
dh_prep -i
[ -d /opt/my-kernel/jammy/debian/stamps/ ] || mkdir /opt/my-kernel/jammy/debian/stamps/; touch /opt/my-kernel/jammy/debian/stamps/stamp-prepare-indep
Debug: /opt/my-kernel/jammy/debian/stamps/stamp-install-headers
dh_testdir
install -d /opt/my-kernel/jammy/debian/linux-hwe-6.8-headers-6.8.0-45/usr/src/linux-hwe-6.8-headers-6.8.0-45
find . -path './debian' -prune -o -path './debian.hwe-6.8' -prune \
-o -path './include/*' -prune \
-o -path './scripts/*' -prune -o -type f \
\( -name 'Makefile*' -o -name 'Kconfig*' -o -name 'Kbuild*' -o \
-name '*.sh' -o -name '*.pl' -o -name '*.lds' \) \
-print | cpio -pd --preserve-modification-time /opt/my-kernel/jammy/debian/linux-hwe-6.8-headers-6.8.0-45/usr/src/linux-hwe-6.8-headers-6.8.0-45
27658 blocks
cp -a scripts include /opt/my-kernel/jammy/debian/linux-hwe-6.8-headers-6.8.0-45/usr/src/linux-hwe-6.8-headers-6.8.0-45
(find arch -name include -type d -print | \
xargs -n1 -i: find : -type f) | \
cpio -pd --preserve-modification-time /opt/my-kernel/jammy/debian/linux-hwe-6.8-headers-6.8.0-45/usr/src/linux-hwe-6.8-headers-6.8.0-45
xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value
cpio: /opt/my-kernel/jammy/debian/linux-hwe-6.8-headers-6.8.0-45/usr/src/linux-hwe-6.8-headers-6.8.0-45/arch/powerpc/include/uapi/asm/Kbuild not created: newer or same age version exists
...
<more cpio lines>
...
cpio: /opt/my-kernel/jammy/debian/linux-hwe-6.8-headers-6.8.0-45/usr/src/linux-hwe-6.8-headers-6.8.0-45/arch/x86/include/asm/Kbuild not created: newer or same age version exists
28358 blocks
# Do not ship .o and .cmd artifacts in headers
find /opt/my-kernel/jammy/debian/linux-hwe-6.8-headers-6.8.0-45/usr/src/linux-hwe-6.8-headers-6.8.0-45 -name \*.o -or -name \*.cmd -exec rm -f {} \;
[ -d /opt/my-kernel/jammy/debian/stamps/ ] || mkdir /opt/my-kernel/jammy/debian/stamps/; touch /opt/my-kernel/jammy/debian/stamps/stamp-install-headers
Debug: binary-headers
dh_installchangelogs -plinux-hwe-6.8-headers-6.8.0-45
dh_installdocs -plinux-hwe-6.8-headers-6.8.0-45
dh_compress -plinux-hwe-6.8-headers-6.8.0-45
dh_fixperms -plinux-hwe-6.8-headers-6.8.0-45
dh_installdeb -plinux-hwe-6.8-headers-6.8.0-45
flock -w 60 /opt/my-kernel/jammy/debian/.LOCK dh_gencontrol -plinux-hwe-6.8-headers-6.8.0-45
dh_md5sums -plinux-hwe-6.8-headers-6.8.0-45
dh_builddeb -plinux-hwe-6.8-headers-6.8.0-45
dpkg-deb: building package 'linux-hwe-6.8-headers-6.8.0-45' in '../linux-hwe-6.8-headers-6.8.0-45_6.8.0-45.45~22.04.1_all.deb'.
x86_64-linux-gnu-gcc-12 debian/scripts/fix-filenames.c -o debian/scripts/fix-filenames
Debug: /opt/my-kernel/jammy/debian/stamps/stamp-prepare-tree-generic
install -d /opt/my-kernel/jammy/debian/build/build-generic
touch /opt/my-kernel/jammy/debian/build/build-generic/ubuntu-build
python3 debian/scripts/misc/annotations --export --arch amd64 --flavour generic > /opt/my-kernel/jammy/debian/build/build-generic/.config
sed -i 's/.*CONFIG_VERSION_SIGNATURE.*/CONFIG_VERSION_SIGNATURE="Ubuntu 6.8.0-45.45~22.04.1-generic 6.8.12"/' /opt/my-kernel/jammy/debian/build/build-generic/.config
find /opt/my-kernel/jammy/debian/build/build-generic -name "*.ko" | xargs rm -f
make ARCH=x86 CROSS_COMPILE=x86_64-linux-gnu- HOSTCC=x86_64-linux-gnu-gcc-12 CC=x86_64-linux-gnu-gcc-12 BINDGEN=bindgen-0.65 KERNELRELEASE=6.8.0-45-generic CONFIG_DEBUG_SECTION_MISMATCH=y KBUILD_BUILD_VERSION="45~22.04.1" CFLAGS_MODULE="-DPKG_ABI=45" PYTHON=python3 O=/opt/my-kernel/jammy/debian/build/build-generic -j24 rustavailable || true
make[1]: Entering directory '/opt/my-kernel/jammy'
make[2]: Entering directory '/opt/my-kernel/jammy/debian/build/build-generic'
***
*** Rust bindings generator 'bindgen-0.65' could not be found.
***
***
*** Please see Documentation/rust/quick-start.rst for details
*** on how to set up the Rust support.
***
make[3]: *** [/opt/my-kernel/jammy/Makefile:1718: rustavailable] Error 1
make[2]: *** [/opt/my-kernel/jammy/Makefile:240: __sub-make] Error 2
make[2]: Leaving directory '/opt/my-kernel/jammy/debian/build/build-generic'
make[1]: *** [Makefile:240: __sub-make] Error 2
make[1]: Leaving directory '/opt/my-kernel/jammy'
make ARCH=x86 CROSS_COMPILE=x86_64-linux-gnu- HOSTCC=x86_64-linux-gnu-gcc-12 CC=x86_64-linux-gnu-gcc-12 BINDGEN=bindgen-0.65 KERNELRELEASE=6.8.0-45-generic CONFIG_DEBUG_SECTION_MISMATCH=y KBUILD_BUILD_VERSION="45~22.04.1" CFLAGS_MODULE="-DPKG_ABI=45" PYTHON=python3 O=/opt/my-kernel/jammy/debian/build/build-generic -j24 olddefconfig
make[1]: Entering directory '/opt/my-kernel/jammy'
make[2]: Entering directory '/opt/my-kernel/jammy/debian/build/build-generic'
***
*** The source tree is not clean, please run 'make ARCH=x86 mrproper'
*** in /opt/my-kernel/jammy
***
make[3]: *** [/opt/my-kernel/jammy/Makefile:646: outputmakefile] Error 1
make[2]: *** [/opt/my-kernel/jammy/Makefile:240: __sub-make] Error 2
make[2]: Leaving directory '/opt/my-kernel/jammy/debian/build/build-generic'
make[1]: *** [Makefile:240: __sub-make] Error 2
make[1]: Leaving directory '/opt/my-kernel/jammy'
make: *** [debian/rules.d/2-binary-arch.mk:23: /opt/my-kernel/jammy/debian/stamps/stamp-prepare-tree-generic] Error 2
怎么了 ?
感谢支持
前段时间,我创建了一个简单的脚本,可以根据文档设置笔记本电脑的电池充电限制。
我甚至修改了 crontab,以便它可以在启动之间保留。
但是,我想从很短的一段时间(可能是一两天)开始,我注意到它停止工作了。当我尝试修改时,它/sys/class/power_supply/CMB0/charge_control_end_threshold
只会恢复为 0(无论我运行 sudoedit 还是任何其他方法)
我之前曾注意到这种行为具有文档页面中描述的不同功能,但我只是假设它们在某种程度上不受支持。
任何评论或见解都将受到赞赏。
$ echo 80 | sudo tee /sys/class/power_supply/CMB0/charge_control_end_threshold
[sudo] password for kornel:
80
kornel@kornel-LG:~$ cat /sys/class/power_supply/CMB0/charge_control_end_threshold
0
(请注意,我有一台 LG Gram 笔记本电脑)
从 ubuntu 18 升级到 ubuntu 24 时,我在运行 Python 解释器时遇到了性能倒退。您认为这是什么原因造成的?有修复或解决方法吗?
我有一些证据表明,Linux 内核的变化(而不是用户空间的任何变化)可能是造成该问题的原因。
我可以通过一个非常简单的测试重现性能差异:
python3 -c "import timeit; print(timeit.Timer('for _ in range(0,1000): pass').timeit())"
我通过在同一 Cisco UCS C220 M5SX 机架系统上启动 ubuntu 18 实时服务器和 ubuntu 24 实时服务器 ISO 来运行此测试。您可以在 Canonical 的网站上找到实时服务器 ISO 并重现实验。
我有一组在 Debian Squeeze 系统上从源代码构建的 Python 3.11 二进制文件,它们可以在各种 Linux 发行版上运行。这使我有机会在 18 和 24 上测试完全相同的 Python 二进制文件。我们将这些 Python 二进制文件称为 python_pegged。我们将通过“apt-get”获取的 Python3 称为 python_sys。
我也尝试在 ubuntu 24 中运行 ubuntu:18.04 docker 容器——它具有 ubuntu 24 的不良性能特征,并且行为不像 ubuntu 18,这让我相信用户空间不负责任。
实验结果:
Ubuntu 18.04.6 bare metal python_sys 13 seconds
Ubuntu 18.04.6 bare metal python_pegged 13 seconds
Ubuntu 18.04.6 bare metal sysbench --test=cpu run 1288 events/s
Ubuntu 24.04 bare metal python_sys 83 seconds
Ubuntu 24.04 bare metal python_pegged 112 seconds
Ubuntu 24.04 bare metal sysbench --test=cpu run 925 events/s
ubuntu:18.04 docker container hosted by Ubuntu 24.04 python_sys 82 seconds
ubuntu:18.04 docker container hosted by Ubuntu 24.04 python_pegged 112 seconds
在 ubuntu 24 中,采取以下操作没有任何效果:
- 将 scaling_governor 设置为 performance
- tuned-adm 配置文件吞吐量性能
- tuned-adm 配置文件虚拟主机
- tuned-adm 配置文件平衡
该系统有 40 个物理核心和 80 个超线程。我尝试运行各种数量的并发实例。
concurrent instances seconds
40 82..83
80 53..53
120 87..115
我很惊讶 80 个实例比 40 个实例更快。我进行了几次实验,结果从未改变。我尝试了不同的调整配置文件,但没有效果。53 秒与 ubuntu18 的 13 秒相差甚远。
python 在 ubuntu24 上遇到了一些昂贵的问题,而 sysbench 不会,或者至少程度不同。我可能会在不久的将来开始使用分析器进行深入挖掘。
对各种中间版本的测试表明,在 21 -> 22 升级过程中出现了回归。
perf stat -a 在 python3 命令上的结果:
统计 | Ubuntu 20 | Ubuntu 22 |
---|---|---|
CPU 时钟 | 80% | 80% |
上下文切换 | 0.003 开尔文/秒(3829) | 6.656 / 秒 (45238) |
CPU 迁移 | 0 公里/秒 (3) | 0.039 / 秒 (268) |
页面错误 | 0.001 开尔文/秒 (620) | 0.151 / 秒 (1029) |
周期 | 0.047 GHz | 0.034 GHz |
指示 | 3.34 指令/周期 | 0.88 insn/周期 |
分支 | 30.703 米/秒 | 5.329 米/秒 |
分支未命中 | 0.03% | 13.18% |
那里有很大的不同。我不相信每秒 6 次上下文切换真的能产生影响。每周期指令数大概是这里最相关的数据点。
当安装最新的内核时,我失去了使用 rhythmbox 播放文件的能力。
我可以恢复到以前的内核并重新使用节奏盒。另一个升级的内核出来后,它也破坏了节奏盒。
我仍然可以恢复到工作内核,但如果出现另一个升级的内核,我的工作内核将从恢复列表中消失,所以我想删除不工作的内核以腾出空间。
我问谷歌如何删除内核,并找到了这个删除内核的命令sudo apt-get purge linux-image-5.8.0-53-generic
。
现在我无法启动这些内核并且它们仍然被列为已安装。
我找到了主线应用程序并尝试使用它来删除坏的内核,但是错误太多并且失败了。我该如何修复或完全删除损坏的内核。
运行此脚本“sudo apt purge $(apt-cache pkgnames |fgrep 5.8.0-53)”后得到以下结果,不确定我是否已完全正确格式化它,我对此很陌生。
Reading database ... 244305 files and directories currently
installed.)
Removing linux-image-6.5.0-45-generic (6.5.0-45.45~22.04.1) ...
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs:
Deleting /boot/initrd.img-6.5.0-45-generic/etc/kernel/postrm.d/
zz-update-grub:Sourcing file `/etc/default/grub'/usr/sbin/grub-
mkconfig: 1: /etc/default/grub: If:not found run-parts: /etc/
kernel/postrm.d/zz-update-grub exited with return code 127
dpkg: error processing package linux-image-6.5.0-45-generic (--
remove): installed linux-image-6.5.0-45-generic package post-
removal script subprocess returned error exit status 1
dpkg:too many errors, stopping Errors were encountered while
processing:linux-image-6.5.0-45-generic
Processing was halted because there were too many errors.
E: Sub-process /usr/bin/dpkg returned an error code (1)
stanley@stanley-OptiPlex-7020:~$
只是一个想法,我使用 deja-dup 有一个完整的备份,我可以对包含恢复内核构建所需文件的几个子目录进行部分恢复吗,或者这是一条毁灭之路。
我在安装运行 VMware Workstation 所需的 vmmon 和 vmnet 模块时遇到了问题,这些模块需要在我的 Ubuntu 22.04.4 LTS 系统上运行。我使用的是内核版本 6.8.0-40-generic。
这是我尝试安装模块时收到的日志输出:
VMware Workstation 日志 pid=40456 version=17.5.2 build=build-23775571 option=Release 主机是 x86_64。 主机代码页=UTF-8 编码=UTF-8 主机是 Linux 6.8.0-40-generic Ubuntu 22.04.4 LTS Ubuntu 22.04 22.04.4 LTS (Jammy Jellyfish) 主机与 UTC 的偏移量为 +03:00。 DictionaryLoad:无法打开文件“/usr/lib/vmware/settings”:没有此文件或目录。 [msg.dictionary.load.openFailed] 无法打开文件“/usr/lib/vmware/settings”:没有此文件或目录。 PREF 在 /usr/lib/vmware/settings 中未找到可选首选项文件。使用默认值。 DictionaryLoad:无法打开文件“/home/sa7/.vmware/config”:没有此文件或目录。 [msg.dictionary.load.openFailed] 无法打开文件“/home/sa7/.vmware/config”:没有此文件或目录。 PREF 未在 /home/sa7/.vmware/config 中找到可选首选项文件。使用默认值。 记录到 /tmp/vmware-sa7/vmware-40456.log 使用正在运行的内核获取信息。 创建了新的pathsHash。 将 6.8.0-40-generic 的标头路径设置为“/lib/modules/6.8.0-40-generic/build/include”。 验证内核版本“6.8.0-40-generic”的路径“/lib/modules/6.8.0-40-generic/build/include”。 无法找到 /lib/modules/6.8.0-40-generic/build/include/linux/version.h 未找到 /lib/modules/6.8.0-40-generic/build/include/linux/version.h,请改为查找 generated/uapi/linux/version.h。 使用 /usr/bin/gcc-12 进行预处理检查 预处理 UTS_RELEASE,得到值“6.8.0-40-generic”。 内核“6.8.0-40-generic”的头文件路径“/lib/modules/6.8.0-40-generic/build/include”有效。哇哦! 找到符号版本文件 /lib/modules/6.8.0-40-generic/build/Module.symvers 从 /lib/modules/6.8.0-40-generic/build/Module.symvers 读取符号版本。 阅读 28974 个符号版本 读取 vmmon 模块的信息。 读取 vmnet 模块的信息。 在“vmmon”上调用 modinfo。 “/sbin/modinfo” 以状态 256 退出。 在“vmnet”上调用 modinfo。 “/sbin/modinfo” 以状态 256 退出。 待安装:vmmon 状态:0 待安装:vmnet 状态:0 使用正在运行的内核获取信息。 将 6.8.0-40-generic 的标头路径设置为“/lib/modules/6.8.0-40-generic/build/include”。 验证内核版本“6.8.0-40-generic”的路径“/lib/modules/6.8.0-40-generic/build/include”。 无法找到 /lib/modules/6.8.0-40-generic/build/include/linux/version.h 未找到 /lib/modules/6.8.0-40-generic/build/include/linux/version.h,请改为查找 generated/uapi/linux/version.h。 使用 /usr/bin/gcc-12 进行预处理检查 预处理 UTS_RELEASE,得到值“6.8.0-40-generic”。 内核“6.8.0-40-generic”的头文件路径“/lib/modules/6.8.0-40-generic/build/include”有效。哇哦! 找到符号版本文件 /lib/modules/6.8.0-40-generic/build/Module.symvers 从 /lib/modules/6.8.0-40-generic/build/Module.symvers 读取符号版本。 阅读 28974 个符号版本 从 FileEntry 检索到的内核头路径:/lib/modules/6.8.0-40-generic/build/include 将内核头路径更新为 /lib/modules/6.8.0-40-generic/build/include 验证内核版本“6.8.0-40-generic”的路径“/lib/modules/6.8.0-40-generic/build/include”。 无法找到 /lib/modules/6.8.0-40-generic/build/include/linux/version.h 未找到 /lib/modules/6.8.0-40-generic/build/include/linux/version.h,请改为查找 generated/uapi/linux/version.h。 使用 /usr/bin/gcc-12 进行预处理检查 预处理 UTS_RELEASE,得到值“6.8.0-40-generic”。 内核“6.8.0-40-generic”的头文件路径“/lib/modules/6.8.0-40-generic/build/include”有效。哇哦! 在“/usr/bin/gcc”找到编译器 获得 gcc 版本“11”。 GCC 主版本 11 与内核 GCC 主版本 12 不匹配。 尝试使用位于“/usr/bin/gcc-12”位置的编译器。 获得 gcc 版本“12”。 GCC 版本与内核 GCC 小版本完美匹配。 获得 gcc 版本“12”。 GCC 版本与内核 GCC 小版本完美匹配。 尝试为内核“6.8.0-40-generic”找到合适的 PBM 集。 未找到与内核“6.8.0-40-generic”匹配的 PBM 集。 GCC 版本与内核 GCC 小版本完美匹配。 验证内核版本“6.8.0-40-generic”的路径“/lib/modules/6.8.0-40-generic/build/include”。 无法找到 /lib/modules/6.8.0-40-generic/build/include/linux/version.h 未找到 /lib/modules/6.8.0-40-generic/build/include/linux/version.h,请改为查找 generated/uapi/linux/version.h。 使用 /usr/bin/gcc-12 进行预处理检查 预处理 UTS_RELEASE,得到值“6.8.0-40-generic”。 内核“6.8.0-40-generic”的头文件路径“/lib/modules/6.8.0-40-generic/build/include”有效。哇哦! GCC 版本与内核 GCC 小版本完美匹配。 验证内核版本“6.8.0-40-generic”的路径“/lib/modules/6.8.0-40-generic/build/include”。 无法找到 /lib/modules/6.8.0-40-generic/build/include/linux/version.h 未找到 /lib/modules/6.8.0-40-generic/build/include/linux/version.h,请改为查找 generated/uapi/linux/version.h。 使用 /usr/bin/gcc-12 进行预处理检查 预处理 UTS_RELEASE,得到值“6.8.0-40-generic”。 内核“6.8.0-40-generic”的头文件路径“/lib/modules/6.8.0-40-generic/build/include”有效。哇哦! 使用临时目录“/tmp”。 停止 VMware 服务: VMware 身份验证守护进程已完成 虚拟机监控完成 make:进入目录‘/tmp/modconfig-k9mAMw/vmmon-only’ /usr/bin/make -C /lib/modules/6.8.0-40-generic/build/include/.. M=$PWD SRCROOT=$PWD/。\ MODULEBUILDDIR= 模块 make[1]: 进入目录 '/usr/src/linux-headers-6.8.0-40-generic' CC [M] /tmp/modconfig-k9mAMw/vmmon-only/linux/driver.o CC [M] /tmp/modconfig-k9mAMw/vmmon-only/linux/driverLog.o CC [M] /tmp/modconfig-k9mAMw/vmmon-only/linux/hostif.o CC [M] /tmp/modconfig-k9mAMw/vmmon-only/common/apic.o CC [M] /tmp/modconfig-k9mAMw/vmmon-only/common/comport.o CC [M] /tmp/modconfig-k9mAMw/vmmon-only/common/cpuid.o CC [M] /tmp/modconfig-k9mAMw/vmmon-only/common/memtrack.o CC [M] /tmp/modconfig-k9mAMw/vmmon-only/common/phystrack.o make[1]: 离开目录 '/usr/src/linux-headers-6.8.0-40-generic' make:离开目录‘/tmp/modconfig-k9mAMw/vmmon-only’ make:进入目录“/tmp/modconfig-k9mAMw/vmnet-only” /usr/bin/make -C /lib/modules/6.8.0-40-generic/build/include/.. M=$PWD SRCROOT=$PWD/。\ MODULEBUILDDIR= 模块 make[1]: 进入目录 '/usr/src/linux-headers-6.8.0-40-generic' CC [M] /tmp/modconfig-k9mAMw/vmnet-only/driver.o CC [M] /tmp/modconfig-k9mAMw/vmnet-only/hub.o CC [M] /tmp/modconfig-k9mAMw/vmnet-only/userif.o CC [M] /tmp/modconfig-k9mAMw/vmnet-only/netif.o CC [M] /tmp/modconfig-k9mAMw/vmnet-only/bridge.o CC [M] /tmp/modconfig-k9mAMw/vmnet-only/procfs.o CC [M] /tmp/modconfig-k9mAMw/vmnet-only/smac_compat.o CC [M] /tmp/modconfig-k9mAMw/vmnet-only/smac.o make[1]: 离开目录 '/usr/src/linux-headers-6.8.0-40-generic' make:离开目录‘/tmp/modconfig-k9mAMw/vmnet-only’ [AppLoader] GLib 不支持 GSettings。 使用内核构建系统。 警告:编译器与构建内核所用的编译器不同 内核由以下系统构建:x86_64-linux-gnu-gcc-12(Ubuntu 12.3.0-1ubuntu1~22.04)12.3.0 您正在使用:gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0 在从 /tmp/modconfig-k9mAMw/vmmon-only/./include/vmware.h:37 包含的文件中, 来自 /tmp/modconfig-k9mAMw/vmmon-only/common/apic.c:19: /tmp/modconfig-k9mAMw/vmmon-only/./include/vm_basic_types.h:130:10: 致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-k9mAMw/vmmon-only/common/apic.o] 错误 1 make[3]: *** 等待未完成的作业.... 在 /tmp/modconfig-k9mAMw/vmmon-only/common/comport.h:27 包含的文件中, 来自 /tmp/modconfig-k9mAMw/vmmon-only/common/comport.c:39: /tmp/modconfig-k9mAMw/vmmon-only/./include/vm_basic_types.h:130:10: 致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-k9mAMw/vmmon-only/common/comport.o] 错误 1 在从 /tmp/modconfig-k9mAMw/vmmon-only/./include/vmware.h:37 包含的文件中, 来自 /tmp/modconfig-k9mAMw/vmmon-only/common/cpuid.c:29: /tmp/modconfig-k9mAMw/vmmon-only/./include/vm_basic_types.h:130:10: 致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-k9mAMw/vmmon-only/common/cpuid.o] 错误 1 在从 /tmp/modconfig-k9mAMw/vmmon-only/./include/vmware.h:37 包含的文件中, 来自 /tmp/modconfig-k9mAMw/vmmon-only/common/memtrack.c:89: /tmp/modconfig-k9mAMw/vmmon-only/./include/vm_basic_types.h:130:10: 致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-k9mAMw/vmmon-only/common/memtrack.o] 错误 1 在从 /tmp/modconfig-k9mAMw/vmmon-only/./include/vmware.h:37 包含的文件中, 来自 /tmp/modconfig-k9mAMw/vmmon-only/common/phystrack.c:45: /tmp/modconfig-k9mAMw/vmmon-only/./include/vm_basic_types.h:130:10: 致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-k9mAMw/vmmon-only/common/phystrack.o] 错误 1 在从 /tmp/modconfig-k9mAMw/vmmon-only/./include/vm_assert.h:43 包含的文件中, 来自 /tmp/modconfig-k9mAMw/vmmon-only/linux/driverLog.h:33, 来自 /tmp/modconfig-k9mAMw/vmmon-only/linux/driverLog.c:31: /tmp/modconfig-k9mAMw/vmmon-only/./include/vm_basic_types.h:130:10: 致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-k9mAMw/vmmon-only/linux/driverLog.o] 错误 1 在从 /tmp/modconfig-k9mAMw/vmmon-only/./include/vmware.h:37 包含的文件中, 来自 /tmp/modconfig-k9mAMw/vmmon-only/linux/hostif.c:58: /tmp/modconfig-k9mAMw/vmmon-only/./include/vm_basic_types.h:130:10: 致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-k9mAMw/vmmon-only/linux/hostif.o] 错误 1 在从 /tmp/modconfig-k9mAMw/vmmon-only/./include/vmware.h:37 包含的文件中, 来自 /tmp/modconfig-k9mAMw/vmmon-only/linux/driver.c:45: /tmp/modconfig-k9mAMw/vmmon-only/./include/vm_basic_types.h:130:10: 致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-k9mAMw/vmmon-only/linux/driver.o] 错误 1 make[2]: *** [/usr/src/linux-headers-6.8.0-40-generic/Makefile:1926: /tmp/modconfig-k9mAMw/vmmon-only] 错误 2 make[1]: *** [Makefile:240: __sub-make] 错误 2 make:*** [Makefile:110:vmmon.ko] 错误 2 使用内核构建系统。 警告:编译器与构建内核所用的编译器不同 内核由以下系统构建:x86_64-linux-gnu-gcc-12(Ubuntu 12.3.0-1ubuntu1~22.04)12.3.0 您正在使用:gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0 在 /tmp/modconfig-k9mAMw/vmnet-only/smac_compat.h:30 包含的文件中, 来自 /tmp/modconfig-k9mAMw/vmnet-only/smac.c:57: /tmp/modconfig-k9mAMw/vmnet-only/vm_basic_types.h:130:10:致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-k9mAMw/vmnet-only/smac.o] 错误 1 make[3]: *** 等待未完成的作业.... 在 /tmp/modconfig-k9mAMw/vmnet-only/vnet.h:27 包含的文件中, 来自 /tmp/modconfig-k9mAMw/vmnet-only/vnetInt.h:24, 来自 /tmp/modconfig-k9mAMw/vmnet-only/hub.c:43: /tmp/modconfig-k9mAMw/vmnet-only/vm_basic_types.h:130:10:致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-k9mAMw/vmnet-only/hub.o] 错误 1 在 /tmp/modconfig-k9mAMw/vmnet-only/vnet.h:27 包含的文件中, 来自 /tmp/modconfig-k9mAMw/vmnet-only/vnetInt.h:24, 来自 /tmp/modconfig-k9mAMw/vmnet-only/smac_compat.c:53: /tmp/modconfig-k9mAMw/vmnet-only/vm_basic_types.h:130:10:致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-k9mAMw/vmnet-only/smac_compat.o] 错误 1 在 /tmp/modconfig-k9mAMw/vmnet-only/vnet.h:27 包含的文件中, 来自 /tmp/modconfig-k9mAMw/vmnet-only/vnetInt.h:24, 来自 /tmp/modconfig-k9mAMw/vmnet-only/netif.c:42: /tmp/modconfig-k9mAMw/vmnet-only/vm_basic_types.h:130:10:致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-k9mAMw/vmnet-only/netif.o] 错误 1 在 /tmp/modconfig-k9mAMw/vmnet-only/vnet.h:27 包含的文件中, 来自 /tmp/modconfig-k9mAMw/vmnet-only/vnetInt.h:24, 来自 /tmp/modconfig-k9mAMw/vmnet-only/driver.c:48: /tmp/modconfig-k9mAMw/vmnet-only/vm_basic_types.h:130:10:致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 在 /tmp/modconfig-k9mAMw/vmnet-only/vnet.h:27 包含的文件中, 来自 /tmp/modconfig-k9mAMw/vmnet-only/vnetInt.h:24, 来自 /tmp/modconfig-k9mAMw/vmnet-only/userif.c:46: /tmp/modconfig-k9mAMw/vmnet-only/vm_basic_types.h:130:10:致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-k9mAMw/vmnet-only/driver.o] 错误 1 在 /tmp/modconfig-k9mAMw/vmnet-only/vnet.h:27 包含的文件中, 来自 /tmp/modconfig-k9mAMw/vmnet-only/vnetInt.h:24, 来自 /tmp/modconfig-k9mAMw/vmnet-only/procfs.c:43: /tmp/modconfig-k9mAMw/vmnet-only/vm_basic_types.h:130:10:致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-k9mAMw/vmnet-only/userif.o] 错误 1 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-k9mAMw/vmnet-only/procfs.o] 错误 1 在 /tmp/modconfig-k9mAMw/vmnet-only/vnet.h:27 包含的文件中, 来自 /tmp/modconfig-k9mAMw/vmnet-only/vnetInt.h:24, 来自 /tmp/modconfig-k9mAMw/vmnet-only/bridge.c:53: /tmp/modconfig-k9mAMw/vmnet-only/vm_basic_types.h:130:10:致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-k9mAMw/vmnet-only/bridge.o] 错误 1 make[2]: *** [/usr/src/linux-headers-6.8.0-40-generic/Makefile:1926: /tmp/modconfig-k9mAMw/vmnet-only] 错误 2 make[1]: *** [Makefile:240: __sub-make] 错误 2 make:*** [Makefile:110:vmnet.ko] 错误 2 无法安装所有模块。请参阅日志了解详细信息。 GCC 版本与内核 GCC 小版本完美匹配。 验证内核版本“6.8.0-40-generic”的路径“/lib/modules/6.8.0-40-generic/build/include”。 无法找到 /lib/modules/6.8.0-40-generic/build/include/linux/version.h 未找到 /lib/modules/6.8.0-40-generic/build/include/linux/version.h,请改为查找 generated/uapi/linux/version.h。 使用 /usr/bin/gcc-12 进行预处理检查 预处理 UTS_RELEASE,得到值“6.8.0-40-generic”。 内核“6.8.0-40-generic”的头文件路径“/lib/modules/6.8.0-40-generic/build/include”有效。哇哦! 使用临时目录“/tmp”。 停止 VMware 服务: VMware 身份验证守护进程已完成 虚拟机监控完成 make:进入目录‘/tmp/modconfig-O92BdV/vmmon-only’ /usr/bin/make -C /lib/modules/6.8.0-40-generic/build/include/.. M=$PWD SRCROOT=$PWD/。\ MODULEBUILDDIR= 模块 make[1]: 进入目录 '/usr/src/linux-headers-6.8.0-40-generic' CC [M] /tmp/modconfig-O92BdV/vmmon-only/linux/driver.o CC [M] /tmp/modconfig-O92BdV/vmmon-only/linux/driverLog.o CC [M] /tmp/modconfig-O92BdV/vmmon-only/linux/hostif.o CC [M] /tmp/modconfig-O92BdV/vmmon-only/common/apic.o CC [M] /tmp/modconfig-O92BdV/vmmon-only/common/comport.o CC [M] /tmp/modconfig-O92BdV/vmmon-only/common/cpuid.o CC [M] /tmp/modconfig-O92BdV/vmmon-only/common/memtrack.o CC [M] /tmp/modconfig-O92BdV/vmmon-only/common/phystrack.o make[1]: 离开目录 '/usr/src/linux-headers-6.8.0-40-generic' make:离开目录‘/tmp/modconfig-O92BdV/vmmon-only’ make:进入目录“/tmp/modconfig-O92BdV/vmnet-only” /usr/bin/make -C /lib/modules/6.8.0-40-generic/build/include/.. M=$PWD SRCROOT=$PWD/。\ MODULEBUILDDIR= 模块 make[1]: 进入目录 '/usr/src/linux-headers-6.8.0-40-generic' CC [M] /tmp/modconfig-O92BdV/vmnet-only/driver.o CC [M] /tmp/modconfig-O92BdV/vmnet-only/hub.o CC [M] /tmp/modconfig-O92BdV/vmnet-only/userif.o CC [M] /tmp/modconfig-O92BdV/vmnet-only/netif.o CC [M] /tmp/modconfig-O92BdV/vmnet-only/bridge.o CC [M] /tmp/modconfig-O92BdV/vmnet-only/procfs.o CC [M] /tmp/modconfig-O92BdV/vmnet-only/smac_compat.o CC [M] /tmp/modconfig-O92BdV/vmnet-only/smac.o make[1]: 离开目录 '/usr/src/linux-headers-6.8.0-40-generic' make:离开目录‘/tmp/modconfig-O92BdV/vmnet-only’ [AppLoader] GLib 不支持 GSettings。 使用内核构建系统。 警告:编译器与构建内核所用的编译器不同 内核由以下系统构建:x86_64-linux-gnu-gcc-12(Ubuntu 12.3.0-1ubuntu1~22.04)12.3.0 您正在使用:gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0 在从 /tmp/modconfig-O92BdV/vmmon-only/./include/vmware.h:37 包含的文件中, 来自 /tmp/modconfig-O92BdV/vmmon-only/common/apic.c:19: /tmp/modconfig-O92BdV/vmmon-only/./include/vm_basic_types.h:130:10: 致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 在 /tmp/modconfig-O92BdV/vmmon-only/common/comport.h:27 包含的文件中, 来自 /tmp/modconfig-O92BdV/vmmon-only/common/comport.c:39: /tmp/modconfig-O92BdV/vmmon-only/./include/vm_basic_types.h:130:10: 致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-O92BdV/vmmon-only/common/apic.o] 错误 1 make[3]: *** 等待未完成的作业.... make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-O92BdV/vmmon-only/common/comport.o] 错误 1 在从 /tmp/modconfig-O92BdV/vmmon-only/./include/vmware.h:37 包含的文件中, 来自 /tmp/modconfig-O92BdV/vmmon-only/common/cpuid.c:29: /tmp/modconfig-O92BdV/vmmon-only/./include/vm_basic_types.h:130:10: 致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 在从 /tmp/modconfig-O92BdV/vmmon-only/./include/vmware.h:37 包含的文件中, 来自 /tmp/modconfig-O92BdV/vmmon-only/common/memtrack.c:89: /tmp/modconfig-O92BdV/vmmon-only/./include/vm_basic_types.h:130:10: 致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-O92BdV/vmmon-only/common/cpuid.o] 错误 1 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-O92BdV/vmmon-only/common/memtrack.o] 错误 1 在从 /tmp/modconfig-O92BdV/vmmon-only/./include/vmware.h:37 包含的文件中, 来自 /tmp/modconfig-O92BdV/vmmon-only/common/phystrack.c:45: /tmp/modconfig-O92BdV/vmmon-only/./include/vm_basic_types.h:130:10: 致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-O92BdV/vmmon-only/common/phystrack.o] 错误 1 在从 /tmp/modconfig-O92BdV/vmmon-only/./include/vm_assert.h:43 包含的文件中, 来自 /tmp/modconfig-O92BdV/vmmon-only/linux/driverLog.h:33, 来自 /tmp/modconfig-O92BdV/vmmon-only/linux/driverLog.c:31: /tmp/modconfig-O92BdV/vmmon-only/./include/vm_basic_types.h:130:10: 致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-O92BdV/vmmon-only/linux/driverLog.o] 错误 1 在从 /tmp/modconfig-O92BdV/vmmon-only/./include/vmware.h:37 包含的文件中, 来自 /tmp/modconfig-O92BdV/vmmon-only/linux/hostif.c:58: /tmp/modconfig-O92BdV/vmmon-only/./include/vm_basic_types.h:130:10: 致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-O92BdV/vmmon-only/linux/hostif.o] 错误 1 在从 /tmp/modconfig-O92BdV/vmmon-only/./include/vmware.h:37 包含的文件中, 来自 /tmp/modconfig-O92BdV/vmmon-only/linux/driver.c:45: /tmp/modconfig-O92BdV/vmmon-only/./include/vm_basic_types.h:130:10: 致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-O92BdV/vmmon-only/linux/driver.o] 错误 1 make[2]: *** [/usr/src/linux-headers-6.8.0-40-generic/Makefile:1926: /tmp/modconfig-O92BdV/vmmon-only] 错误 2 make[1]: *** [Makefile:240: __sub-make] 错误 2 make:*** [Makefile:110:vmmon.ko] 错误 2 使用内核构建系统。 警告:编译器与构建内核所用的编译器不同 内核由以下系统构建:x86_64-linux-gnu-gcc-12(Ubuntu 12.3.0-1ubuntu1~22.04)12.3.0 您正在使用:gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0 在 /tmp/modconfig-O92BdV/vmnet-only/smac_compat.h:30 包含的文件中, 来自 /tmp/modconfig-O92BdV/vmnet-only/smac.c:57: /tmp/modconfig-O92BdV/vmnet-only/vm_basic_types.h:130:10:致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-O92BdV/vmnet-only/smac.o] 错误 1 make[3]: *** 等待未完成的作业.... 在 /tmp/modconfig-O92BdV/vmnet-only/vnet.h:27 包含的文件中, 来自/tmp/modconfig-O92BdV/vmnet-only/vnetInt.h:24, 来自 /tmp/modconfig-O92BdV/vmnet-only/smac_compat.c:53: /tmp/modconfig-O92BdV/vmnet-only/vm_basic_types.h:130:10:致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-O92BdV/vmnet-only/smac_compat.o] 错误 1 在 /tmp/modconfig-O92BdV/vmnet-only/vnet.h:27 包含的文件中, 来自/tmp/modconfig-O92BdV/vmnet-only/vnetInt.h:24, 来自 /tmp/modconfig-O92BdV/vmnet-only/driver.c:48: /tmp/modconfig-O92BdV/vmnet-only/vm_basic_types.h:130:10:致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-O92BdV/vmnet-only/driver.o] 错误 1 在 /tmp/modconfig-O92BdV/vmnet-only/vnet.h:27 包含的文件中, 来自/tmp/modconfig-O92BdV/vmnet-only/vnetInt.h:24, 来自 /tmp/modconfig-O92BdV/vmnet-only/userif.c:46: /tmp/modconfig-O92BdV/vmnet-only/vm_basic_types.h:130:10:致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-O92BdV/vmnet-only/userif.o] 错误 1 在 /tmp/modconfig-O92BdV/vmnet-only/vnet.h:27 包含的文件中, 来自/tmp/modconfig-O92BdV/vmnet-only/vnetInt.h:24, 来自 /tmp/modconfig-O92BdV/vmnet-only/hub.c:43: /tmp/modconfig-O92BdV/vmnet-only/vm_basic_types.h:130:10:致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 在 /tmp/modconfig-O92BdV/vmnet-only/vnet.h:27 包含的文件中, 来自/tmp/modconfig-O92BdV/vmnet-only/vnetInt.h:24, 来自 /tmp/modconfig-O92BdV/vmnet-only/netif.c:42: /tmp/modconfig-O92BdV/vmnet-only/vm_basic_types.h:130:10:致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-O92BdV/vmnet-only/netif.o] 错误 1 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-O92BdV/vmnet-only/hub.o] 错误 1 在 /tmp/modconfig-O92BdV/vmnet-only/vnet.h:27 包含的文件中, 来自/tmp/modconfig-O92BdV/vmnet-only/vnetInt.h:24, 来自 /tmp/modconfig-O92BdV/vmnet-only/procfs.c:43: /tmp/modconfig-O92BdV/vmnet-only/vm_basic_types.h:130:10:致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-O92BdV/vmnet-only/procfs.o] 错误 1 在 /tmp/modconfig-O92BdV/vmnet-only/vnet.h:27 包含的文件中, 来自/tmp/modconfig-O92BdV/vmnet-only/vnetInt.h:24, 来自 /tmp/modconfig-O92BdV/vmnet-only/bridge.c:53: /tmp/modconfig-O92BdV/vmnet-only/vm_basic_types.h:130:10:致命错误:stdint.h:没有此文件或目录 130 | #包括<stdint.h> |^~~~~~~~~~ 编译终止。 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-O92BdV/vmnet-only/bridge.o] 错误 1 make[2]: *** [/usr/src/linux-headers-6.8.0-40-generic/Makefile:1926: /tmp/modconfig-O92BdV/vmnet-only] 错误 2 make[1]: *** [Makefile:240: __sub-make] 错误 2 make:*** [Makefile:110:vmnet.ko] 错误 2 无法安装所有模块。请参阅日志了解详细信息。
我在日志中注意到以下问题:
The script seems to have trouble finding the kernel header path: /lib/modules/6.8.0-40-generic/build/include/linux/version.h The GCC version (11) doesn't match the kernel GCC version (12). However, it attempts to use gcc-12 later on. The script mentions "No matching PBM set was found for kernel 6.8.0-40-generic". I'm unsure what this means. I've tried searching online for solutions, but haven't found anything specific to my situation.
I tried sudo vmware-modconfig --console --install-all
but the output is for the same issue
Any help on how to successfully install the vmmon and vmnet modules would be greatly appreciated.
我刚刚将内核更新到 6.9,以使我的笔记本电脑(DELL XPS15)的扬声器正常工作。
现在 Ubuntu 更新程序显示错误并要求“部分升级”。但是,当我尝试时,它被阻止,要求我停止刚刚安装的内核,以便可以将其删除。有什么解决方法可以解决这个问题吗?我想保留内核,因为我可以第一次享受体面的声音。如果这是一个幼稚的问题,请原谅我,我不知道内核是否与更新有关,我很乐意得到有关如何继续的任何建议。
编辑:如果我理解正确的话,这个内核目前还不受支持,而且在不久的将来也不会受支持。所以我要么接受这个(缺乏更新/支持),要么回滚到以前的版本。迁移到 Ubuntu 24.04 也无济于事。
我一直在尝试编译自己的内核,在按照BuildYourOwnKernel的说明进行操作时,添加本地版本修饰符时遇到了困难。这是使用 编译内核的“Debian 方式”,fakefoot debian/rules binary-generic
而不是使用 从主线编译make bindeb-pkg
。
按照说明操作后,我实际上成功编译了内核。但是,+test1
我作为本地版本修饰符添加的后缀仅添加到.deb
存档文件中,而不会添加到任何二进制包中。因此,我在安装过程中遇到冲突,因为名称与当前安装的内核匹配。
我正在使用 Ubuntu 22.04 Server。
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.4 LTS
Release: 22.04
Codename: jammy
当前内核:
$ uname -r
5.15.0-113-generic
以下是我遵循的步骤:
1.安装依赖项
sudo apt build-dep linux linux-image-unsigned-$(uname -r)
sudo apt install fakeroot crash kexec-tools kernel-wedge libncurses5 libncurses5-dev binutils-dev
2.下载源码
apt source linux-image-unsigned-$(uname -r)
3. 进入源目录
cd linux-5.15.0
4.修改debian.master/changelog
按照说明:
为了使您的内核比您基于的 Ubuntu 内核“更新”,您应该添加本地版本修饰符。在构建之前,在 debian.master/changelog 文件中的第一个版本号末尾添加类似“+test1”的内容。
+test1
因此,我在第一个版本号末尾添加了以下内容:
$ head -n1 debian.master/changelog
linux (5.15.0-113.123+test1) jammy; urgency=medium
5. 构建内核
fakeroot debian/rules clean
fakeroot debian/rules binary-headers binary-generic
编译完成后你会看到+test1
所有文件都添加了后缀.deb
:
$ tree -L 1 /home/mike
/home/mike
├── linux-5.15.0
├── linux_5.15.0-113.123.diff.gz
├── linux_5.15.0-113.123.dsc
├── linux_5.15.0.orig.tar.gz
├── linux-buildinfo-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
├── linux-cloud-tools-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
├── linux-headers-5.15.0-113_5.15.0-113.123+test1_all.deb
├── linux-headers-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
├── linux-image-unsigned-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
├── linux-modules-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
├── linux-modules-extra-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
├── linux-modules-iwlwifi-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
└── linux-tools-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
但问题是+test1
该文件内的任何文件都没有添加后缀.deb
,因此在安装内核时会发生冲突。
$ sudo dpkg -i linux-image-unsigned-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
dpkg: regarding linux-image-unsigned-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb containing linux-image-unsigned-5.15.0-113-generic:
linux-image-unsigned-5.15.0-113-generic conflicts with linux-image-5.15.0-113-generic
linux-image-5.15.0-113-generic (version 5.15.0-113.123) is present and installed.
dpkg: error processing archive linux-image-unsigned-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb (--install):
conflicting packages - not installing linux-image-unsigned-5.15.0-113-generic
Errors were encountered while processing:
linux-image-unsigned-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
但是,标题已安装:
$ sudo dpkg -i linux-headers-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
(Reading database ... 138403 files and directories currently installed.)
Preparing to unpack linux-headers-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb ...
Unpacking linux-headers-5.15.0-113-generic (5.15.0-113.123+test1) over (5.15.0-113.123+test1) ...
Setting up linux-headers-5.15.0-113-generic (5.15.0-113.123+test1) ...
/etc/kernel/header_postinst.d/dkms:
* dkms: running auto installation service for kernel 5.15.0-113-generic
...done.
但请注意,没有目录包含本地版本后缀+test
。它似乎只是覆盖了现有的标题。
$ tree -L 1 /usr/src
/usr/src
├── linux-headers-5.15.0-113-generic
└── python3.10
以下是内容的片段linux-headers-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
:
$ dpkg -c linux-headers-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb | head -n20
drwxr-xr-x root/root 0 2024-07-07 16:31 ./
drwxr-xr-x root/root 0 2024-07-07 16:27 ./lib/
drwxr-xr-x root/root 0 2024-07-07 16:27 ./lib/modules/
drwxr-xr-x root/root 0 2024-07-07 16:27 ./lib/modules/5.15.0-113-generic/
drwxr-xr-x root/root 0 2024-07-07 16:31 ./usr/
drwxr-xr-x root/root 0 2024-07-07 16:31 ./usr/share/
drwxr-xr-x root/root 0 2024-07-07 16:31 ./usr/share/doc/
drwxr-xr-x root/root 0 2024-07-07 16:31 ./usr/share/doc/linux-headers-5.15.0-113-generic/
-rw-r--r-- root/root 714273 2024-07-07 15:58 ./usr/share/doc/linux-headers-5.15.0-113-generic/changelog.Debian.gz
-rw-r--r-- root/root 1292 2024-07-07 15:58 ./usr/share/doc/linux-headers-5.15.0-113-generic/copyright
drwxr-xr-x root/root 0 2024-07-07 16:27 ./usr/src/
drwxr-xr-x root/root 0 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/
-rw-r--r-- root/root 261963 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/.config
-rw-r--r-- root/root 39 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/.gitignore
-rw-r--r-- root/root 1013 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/.missing-syscalls.d
-rw-r--r-- root/root 1818060 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/Module.symvers
drwxr-xr-x root/root 0 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/arch/
drwxr-xr-x root/root 0 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/arch/x86/
drwxr-xr-x root/root 0 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/arch/x86/entry/
drwxr-xr-x root/root 0 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/arch/x86/entry/syscalls/
以下是内容linux-image-unsigned-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
:
$ dpkg -c linux-image-unsigned-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
drwxr-xr-x root/root 0 2024-07-07 16:29 ./
drwxr-xr-x root/root 0 2024-07-07 16:26 ./boot/
-rw------- root/root 11680480 2024-07-07 16:26 ./boot/vmlinuz-5.15.0-113-generic
drwxr-xr-x root/root 0 2024-07-07 16:29 ./usr/
drwxr-xr-x root/root 0 2024-07-07 16:27 ./usr/lib/
drwxr-xr-x root/root 0 2024-07-07 16:27 ./usr/lib/linux/
drwxr-xr-x root/root 0 2024-07-07 16:27 ./usr/lib/linux/triggers/
drwxr-xr-x root/root 0 2024-07-07 16:29 ./usr/share/
drwxr-xr-x root/root 0 2024-07-07 16:29 ./usr/share/doc/
drwxr-xr-x root/root 0 2024-07-07 16:29 ./usr/share/doc/linux-image-unsigned-5.15.0-113-generic/
-rw-r--r-- root/root 714273 2024-07-07 15:58 ./usr/share/doc/linux-image-unsigned-5.15.0-113-generic/changelog.Debian.gz
-rw-r--r-- root/root 1292 2024-07-07 15:58 ./usr/share/doc/linux-image-unsigned-5.15.0-113-generic/copyright
以下是构建过程结束时的一些尾部输出。请注意指示构建包的行,其中包尚未+test1
包含.deb
。
dpkg-deb: building package 'linux-image-unsigned-5.15.0-113-generic' in '../linux-image-unsigned-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb'.
dh_installchangelogs -plinux-modules-5.15.0-113-generic
dh_installdocs -plinux-modules-5.15.0-113-generic
dh_compress -plinux-modules-5.15.0-113-generic
dh_fixperms -plinux-modules-5.15.0-113-generic -X/boot/
dh_shlibdeps -plinux-modules-5.15.0-113-generic
dh_installdeb -plinux-modules-5.15.0-113-generic
dh_installdebconf -plinux-modules-5.15.0-113-generic
flock -w 60 /home/mike/linux-5.15.0/debian/.LOCK dh_gencontrol -plinux-modules-5.15.0-113-generic -- -Vlinux:rprovides='spl-modules, spl-dkms, zfs-modules, zfs-dkms, v4l2loopback-modules, v4l2loopback-dkms, '
dpkg-gencontrol: warning: Depends field of package linux-modules-5.15.0-113-generic: substitution variable ${shlibs:Depends} used, but is not defined
dpkg-gencontrol: warning: Built-Using field of package linux-modules-5.15.0-113-generic: substitution variable ${linux:BuiltUsing} used, but is not defined
dh_md5sums -plinux-modules-5.15.0-113-generic
dh_builddeb -plinux-modules-5.15.0-113-generic
dpkg-deb: building package 'linux-modules-5.15.0-113-generic' in '../linux-modules-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb'.
if [ -f debian.master/control.d/generic.inclusion-list ] ; then \
dh_installchangelogs -plinux-modules-extra-5.15.0-113-generic; \
dh_installdocs -plinux-modules-extra-5.15.0-113-generic; \
dh_compress -plinux-modules-extra-5.15.0-113-generic; \
dh_fixperms -plinux-modules-extra-5.15.0-113-generic -X/boot/; \
dh_shlibdeps -plinux-modules-extra-5.15.0-113-generic ; \
dh_installdeb -plinux-modules-extra-5.15.0-113-generic; \
dh_installdebconf -plinux-modules-extra-5.15.0-113-generic; \
flock -w 60 /home/mike/linux-5.15.0/debian/.LOCK dh_gencontrol -plinux-modules-extra-5.15.0-113-generic -- -Vlinux:rprovides='spl-modules, spl-dkms, zfs-modules, zfs-dkms, v4l2loopback-modules, v4l2loopback-dkms, ' ; \
dh_md5sums -plinux-modules-extra-5.15.0-113-generic; \
dh_builddeb -plinux-modules-extra-5.15.0-113-generic; \
fi
dpkg-gencontrol: warning: Depends field of package linux-modules-extra-5.15.0-113-generic: substitution variable ${shlibs:Depends} used, but is not defined
dpkg-deb: building package 'linux-modules-extra-5.15.0-113-generic' in '../linux-modules-extra-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb'.
dh_installchangelogs -plinux-modules-iwlwifi-5.15.0-113-generic
dh_installdocs -plinux-modules-iwlwifi-5.15.0-113-generic
dh_compress -plinux-modules-iwlwifi-5.15.0-113-generic
dh_fixperms -plinux-modules-iwlwifi-5.15.0-113-generic -X/boot/
dh_shlibdeps -plinux-modules-iwlwifi-5.15.0-113-generic
dh_installdeb -plinux-modules-iwlwifi-5.15.0-113-generic
dh_installdebconf -plinux-modules-iwlwifi-5.15.0-113-generic
flock -w 60 /home/mike/linux-5.15.0/debian/.LOCK dh_gencontrol -plinux-modules-iwlwifi-5.15.0-113-generic -- -Vlinux:rprovides='spl-modules, spl-dkms, zfs-modules, zfs-dkms, v4l2loopback-modules, v4l2loopback-dkms, '
dpkg-gencontrol: warning: Built-Using field of package linux-modules-iwlwifi-5.15.0-113-generic: substitution variable ${linux:BuiltUsing} used, but is not defined
dh_md5sums -plinux-modules-iwlwifi-5.15.0-113-generic
dh_builddeb -plinux-modules-iwlwifi-5.15.0-113-generic;
dpkg-deb: building package 'linux-modules-iwlwifi-5.15.0-113-generic' in '../linux-modules-iwlwifi-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb'.
dh_installchangelogs -plinux-buildinfo-5.15.0-113-generic
dh_installdocs -plinux-buildinfo-5.15.0-113-generic
dh_compress -plinux-buildinfo-5.15.0-113-generic
dh_fixperms -plinux-buildinfo-5.15.0-113-generic -X/boot/
dh_shlibdeps -plinux-buildinfo-5.15.0-113-generic
dh_installdeb -plinux-buildinfo-5.15.0-113-generic
dh_installdebconf -plinux-buildinfo-5.15.0-113-generic
flock -w 60 /home/mike/linux-5.15.0/debian/.LOCK dh_gencontrol -plinux-buildinfo-5.15.0-113-generic -- -Vlinux:rprovides='spl-modules, spl-dkms, zfs-modules, zfs-dkms, v4l2loopback-modules, v4l2loopback-dkms, '
dpkg-gencontrol: warning: Depends field of package linux-buildinfo-5.15.0-113-generic: substitution variable ${shlibs:Depends} used, but is not defined
dpkg-gencontrol: warning: Built-Using field of package linux-buildinfo-5.15.0-113-generic: substitution variable ${linux:BuiltUsing} used, but is not defined
dh_md5sums -plinux-buildinfo-5.15.0-113-generic
dh_builddeb -plinux-buildinfo-5.15.0-113-generic
dpkg-deb: building package 'linux-buildinfo-5.15.0-113-generic' in '../linux-buildinfo-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb'.
dh_installchangelogs -plinux-headers-5.15.0-113-generic
dh_installdocs -plinux-headers-5.15.0-113-generic
dh_compress -plinux-headers-5.15.0-113-generic
dh_fixperms -plinux-headers-5.15.0-113-generic -X/boot/
dh_shlibdeps -plinux-headers-5.15.0-113-generic
dh_installdeb -plinux-headers-5.15.0-113-generic
dh_installdebconf -plinux-headers-5.15.0-113-generic
flock -w 60 /home/mike/linux-5.15.0/debian/.LOCK dh_gencontrol -plinux-headers-5.15.0-113-generic -- -Vlinux:rprovides='spl-modules, spl-dkms, zfs-modules, zfs-dkms, v4l2loopback-modules, v4l2loopback-dkms, '
dh_md5sums -plinux-headers-5.15.0-113-generic
dh_builddeb -plinux-headers-5.15.0-113-generic
dpkg-deb: building package 'linux-headers-5.15.0-113-generic' in '../linux-headers-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb'.
dh_installchangelogs -plinux-tools-5.15.0-113-generic
dh_installdocs -plinux-tools-5.15.0-113-generic
dh_compress -plinux-tools-5.15.0-113-generic
dh_fixperms -plinux-tools-5.15.0-113-generic -X/boot/
dh_shlibdeps -plinux-tools-5.15.0-113-generic
dh_installdeb -plinux-tools-5.15.0-113-generic
dh_installdebconf -plinux-tools-5.15.0-113-generic
flock -w 60 /home/mike/linux-5.15.0/debian/.LOCK dh_gencontrol -plinux-tools-5.15.0-113-generic -- -Vlinux:rprovides='spl-modules, spl-dkms, zfs-modules, zfs-dkms, v4l2loopback-modules, v4l2loopback-dkms, '
dh_md5sums -plinux-tools-5.15.0-113-generic
dh_builddeb -plinux-tools-5.15.0-113-generic
dpkg-deb: building package 'linux-tools-5.15.0-113-generic' in '../linux-tools-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb'.
dh_installchangelogs -plinux-cloud-tools-5.15.0-113-generic
dh_installdocs -plinux-cloud-tools-5.15.0-113-generic
dh_compress -plinux-cloud-tools-5.15.0-113-generic
dh_fixperms -plinux-cloud-tools-5.15.0-113-generic -X/boot/
dh_shlibdeps -plinux-cloud-tools-5.15.0-113-generic
dh_installdeb -plinux-cloud-tools-5.15.0-113-generic
dh_installdebconf -plinux-cloud-tools-5.15.0-113-generic
flock -w 60 /home/mike/linux-5.15.0/debian/.LOCK dh_gencontrol -plinux-cloud-tools-5.15.0-113-generic -- -Vlinux:rprovides='spl-modules, spl-dkms, zfs-modules, zfs-dkms, v4l2loopback-modules, v4l2loopback-dkms, '
dh_md5sums -plinux-cloud-tools-5.15.0-113-generic
dh_builddeb -plinux-cloud-tools-5.15.0-113-generic
dpkg-deb: building package 'linux-cloud-tools-5.15.0-113-generic' in '../linux-cloud-tools-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb'.
发生什么了?
- 这是一个错误吗?
- 这是故意的吗?我没有正确理解这个过程?
- 或者我做错了什么?