如何解决在Fedora上的make menuconfig中编译Linux时出现的以下错误:
$ make menuconfig
Makefile:323: /home/user/linux-3.12.6/scripts/Kbuild.include: No such file or directory
make: *** empty variable name. Stop.
我使用以下命令下载了Ubuntu的perf程序:
sudo apt-get install linux-tools-common linux-tools-generic
不过,当我试着顶的时候,它给了我这个
WARNING: perf not found for kernel 4.9.78-xxxx
You may need to install the following packages for this specific kernel:
linux-tools-4.9.78-xxxx-std-ipv6-64
linux-cloud-tools-4.9.78-xxxx-std-ipv
我正在尝试远程调试Linux的内核。我已经创建了一个VM (使用VMware),并使用gdb从我的PC连接到它,一切正常。
问题是gdb无法加载vmlinux-gdb.py脚本。我尝试在gdb上使用source命令添加它,但得到以下错误:
Traceback (most recent call last):
File "~/workspace/kernels/default-kernel/scripts/gdb/vmlinux-gdb.py", line 28, in <module>
ImportError: No module named 'linu
当试图包含linux/init.h时,我的编辑器告诉我这个文件不存在。我做了一些关于如何修复这个问题的研究,当我looked up on how to install header files for linux drivers development时,我发现/usr/src有一些,我假设是内核版本。我所做的是将linux-headers-5.10.0-kali4-common中的一堆文件夹移动到/usr/include和/usr/lib/module/5.10.0-kali4-amd64/source中。 有一段时间,我认为它是有效的,但给了我一个新的错误cannot open sour
我跟踪这篇文章并生成了一个initramfs.cpio文件。
现在,教程提到我必须将这个文件放在构建目录中:
Finally, you have to rebuild the kernel again:
# 0. Copy the CPIO archive to your kernel build directory:
cp initramfs.cpio .
但是我没有看到任何构建目录:
[root@xilinx linux-xlnx]# ls
arch CREDITS drivers include Kbuild lib mm
我在Linux内核v5.6中向prctl(2)系统调用添加了一个新选项。在用我的更改编译内核之后,当我用数字调用prctl (即prctl(59, arg1, arg2, arg3, arg4))时,我能够从用户空间触发新选项对进程的影响。但是,当我为include/uapi/linux/prctl.h中的选项创建为#define PR_NEW_OPTION 59的宏定义时,在编译用户空间代码时会出现以下错误:
error: ‘PR_NEW_OPTION’ undeclared (first use in this function); did you mean ‘PR_SET_SECCOMP
从昨天起,我对linux还很陌生。我正在使用linux小狗,试图从一个10岁的,缓慢的笔记本电脑中得到最大的好处。我安装的很好,没有问题,但是一旦我尝试使用我的usb的安装CD,问题就开始了。
CD包括对linux和windows的支持,因此我从CD中复制了linux文件,并通过控制台运行install.sh文件以方便安装驱动程序。一切看起来都很顺利直到..。我得到以下错误:
make: *** /lib/modules/2.6.37.6/build: No such file or directory. Stop.
然后显示错误2消息。
这是我唯一能找到的关于它的任何信息的web结果,但是我
我有简单的设备驱动程序的代码,hello world和make file.it在12.04LTS的情况下执行得很好,但最近我将我的ubuntu升级到了14.04,之后,同样的程序无法编译。错误消息打开时
make
make -C /lib/modules/3.13.0-45-generic/build M= modules
make[1]: Entering directory `/usr/src/linux-headers-3.13.0-45-generic'
make[2]: *** No rule to make target `/usr/src/linux-headers-3
我正在使用buildroot来构建linux固件。我怎样才能只重新构建linux内核(而不需要构建一个小时的整个程序)?
我试过-
make linux-rebuild
但那可不是干净的。
我也试过
make linux-reconfigure && make linux-rebuild
但这也不起作用。
我想使用userfaultfd特性的写保护模式,但它只在Linux 5.11中实现。我有ubuntu20和内核5.4,所以我从源代码安装了5.11版本的Linux,但当我在安装的版本上重新启动,并试图在c用户程序中使用写保护模式时,宏(例如,UFFDIO_WRITEPROTECT)似乎仍然没有定义。并且我验证了userfaultfd不是一个模块(执行lsmod)。
另一方面,如果我只是为了一个测试而在调度器中进行了修改(假设在kernel/sched/core.c:context_switch中),这些修改会被考虑在内,因为这是在内核中,但对用户空间的修改不会被考虑在内,我就会感到困惑。
us
我想要构建和安装wil6210驱动器,这是在Linux上游。我已经设法从这里下载了源代码。该文件夹包含Makefile和另一个名为Kconfig的文件。当我试图使它说:make: *** No targets. Stop.,我尝试使用不同的配置文件,但它们没有工作。结果如下:
elans@elans-TravelMate-P446-M:~/linux-source/wil6210$ ./configure
bash: ./configure: No such file or directory
elans@elans-TravelMate-P446-M:~/linux-source/wil6