在编译Linux内核之后,我正在尝试使用eclipse来调试Linux。我创建了一个新项目,现在在run->debug配置中,我为vmlinux指定了路径。已提供TCP端口并单击DEBUG。我得到了下面的错误
"/home/linux-kernel/vmlinux":
not in executable format: File format not recognized TCP port and clicked on debug.
请给我指出我哪里错了。
使用过的GCC: Linaro--GCC 4.7/4.8/4.9.3/6.4/7.3,但版本似乎没有意义
操作系统:更新了Linux Mint 19和4.17.2-ext73-57.2内核。
我试着编译了一些源代码(例如官方的LineageOS源代码),每次我都会得到:
WARNING: vmlinux.o(.data+0x10f40): Section mismatch in reference from the
variable gdsc_driver to the (unknown reference) .init.data:(unknown)
The variable gdsc_dr
我正在尝试将postmarketOS连接到三星Galaxy S3 Neo。在编译linux内核的过程中,我得到了一个错误: ERROR: modpost: Found 2 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
To build the kernel despite the mismatches, build with:
'make CONFIG_NO_ERROR_ON_MISMATCH=y'
我正在尝试远程调试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
我正在尝试安装UML linux。内核是2.6.28。
我链接到Linux文件,这样我就有了一个可以恢复的只读副本。
然后我运行以下命令:
make defconfig ARCH=um # works
make ARCH=um # errors out at the very end:
final close failed: Input/output error
make: *** [vmlinux.o] Error 1
由于这个错误,我的二进制vmlinux永远不会被创建,所以我不能运行我自己的UML Linux。有什么想法吗?
我正在尝试使用gdb调试Linux,我用"compile kernel with debug info“编译了内核。一旦内核编译完成,我正在尝试提供GDB文件vmlinux (运行上面的命令会出现下面的错误)
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
Reading symbols from file...(no debugging symbols found)...done.
"/home/Linux/vmlinux" is not a core dump: File format not recognized
我试图使用kdump和崩溃实用程序来分析openSUSE 11.3上的Linux内核恐慌。系统正在成功地创建vmcore文件,但是当我去分析它时,crash抱怨缺少符号。
# crash -s vmlinux-2.6.34-12-desktop.gz vmcore
crash: vmlinux-2.6.34-12-desktop.gz: no debugging data available
crash: vmlinux-2.6.34-12-desktop.debug: debuginfo file not found
crash: either install the appropriat
当我尝试创建主线(暂存-测试)内核时,它会以错误告终。
BTF: .tmp_vmlinux.btf: pahole version v1.15 is too old, need at least v1.16\
Failed to generate BTF for vmlinux\
Try to disable CONFIG_DEBUG_INFO_BTF
make: *** [Makefile:1162: vmlinux] Error 1
所以,当我在谷歌上搜索它时,我发现它可以安装矮人。
当我安装它的时候,它显示了它已经在那里,这是更新的版本,是V1.15-2。所以它没有升级到V1.16+,
我正在使用google ndk工具链为我的Samsung Note3 SM-N900P模型交叉编译图像。我下载了Kitkat版本的三星源代码,我相信我已经按照内核自述文件中的说明进行了操作。它声明使用4.7工具链,我在NDK版本8d中找到了它。但我得到以下错误:
ERROR: modpost: Found 2 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
To build the kernel despite the
此错误将停止内核生成进程。
ld: arch/x86/entry/syscall_64.o:(.rodata+0x1120): undefined reference to `__x64_sys_fd'
BTF .btf.vmlinux.bin.o
pahole: .tmp_vmlinux.btf: No such file or directory
LD .tmp_vmlinux.kallsyms1
.btf.vmlinux.bin.o: file not recognized: file format not recognized
下面是我在linux内核源代码中
我正在尝试使用谷歌工具链为我的android手机编写一个独立的内核,并且已经尝试过Uber和linarc。
他们都犯了同样的错误,我不明白:
/home/aayushgupta219/kernel/toolchain64/bin/aarch64-linux-android-ld: cannot find libgcc.a: No such file or directory
/home/aayushgupta219/kernel/toolchain64/bin/aarch64-linux-android-ld: cannot find libgcc.a: No such file or dir
我想知道在C代码中执行printf时调用哪个内核模块。我怎么能找到那个?比方说,当我使用ldd时,我可以找到哪些库附加到我的二进制文件中。我在找类似的东西。基本上,我想研究负责printf的文件的结构。
考虑以下代码
#include <stdio.h>
int main()
{
int i = 0;
int N = 100;
while (i++ <= N) {
printf("%d ", i);
}
return 0;
}
当我运行perf命令perf record -e cycles -j any -a -o perf.dat
我正在尝试用自定义补丁构建ubuntu5.3.0内核。我下载了源代码,并使用
patch -p1 < patch_name.patch
并使用
make config
然后我用
make -j6
这给了我vmlinux和vmlinux.o文件。我不知道如何使用它们,所以我尝试将内核变成一个.deb文件。我用
make deb-pkg
fakeroot make-kpkg -j N --initrd --append-to-version=my-very-own-kernel kernel-image kernel-headers
make bindeb-pkg
但是在编译完整个内核之
我在Lubuntu13.04下用GRSecurity修补程序编译Linux内核3.10.10有问题
下面是我用来编译的命令:
make-kpkg clean
make-kpkg --initrd --append-to-version "grsec" kernel_image
在显示此错误消息之前,所有操作都正常:
[...]
AS arch/x86/lib/putuser.o
AS arch/x86/lib/rwlock.o
AS arch/x86/lib/rwsem.o
CC arch/x86/lib/string_3