linux-kernel 相关问题

此标记用于解决Linux内核本身的内部问题 - 特别是关于编写在内核上下文中运行的代码(如内核模块或驱动程序)。关于在Linux中编写用户空间代码的问题通常应该标记为[linux]。由于Linux内核的内部不断变化,因此包含您感兴趣的精确内核版本会很有帮助。

即使引导加载程序正常工作,也不执行内核

我正在尝试构建一个简单的引导加载程序和内核。引导加载程序位于 0x7C00,内核位于 0x1000。即使 jmp 到达正确的位置,内核也永远不会被执行。

回答 1 投票 0

无法在Linux上设置内核动态调试?

我已经看到了 Cannot Enable kerneldynamic debug on linux ; https://www.kernel.org/doc/html/v4.11/admin-guide/dynamic-debug-howto.html。 我已经用

回答 2 投票 0

使用非gcc编译linux内核

Linux 内核是为使用 gcc 编译而编写的,并使用了许多小而丑陋的 gcc-hacks。 除了gcc之外还有哪些编译器可以编译linux内核? 可以做到这一点的是英特尔编译器。什么迷你...

回答 3 投票 0

发送的 TCP 数据包超出了连接的 MSS——这怎么可能?

我对网络/网络驱动程序设计原理非常陌生,并且希望获得一些帮助和指导来解决我从设备内捕获的 tcpdump 中看到的奇怪行为。 日志是...

回答 1 投票 0

使用 /proc/kcore 调试内核

我正在学习使用 /proc/kcore 调试内核 我构建了最新的稳定 4.19 Linux 版本并将其安装在我的虚拟机上。 然后我cd到我的linux源代码所在的文件夹...

回答 2 投票 0

选择 Linux I/O 调度程序

我读到据说可以通过写入 /sys/block/[disk]/queue/scheduler 来更改正在运行的内核上特定设备的 I/O 调度程序。 例如我可以在我的系统上看到: 一个...

回答 5 投票 0

我如何知道我的CPU是否支持高分辨率定时器?

作为 Linux 内核课程的一部分,我们解释了硬件可能不支持高分辨率计时器。影响这种支持的硬件只有CPU。 所以我花了我的时间...

回答 1 投票 0

kmalloc_size_index转换表顺序

为什么kmem_cache索引的顺序是这样的? /* * 小板尺寸 / 8 到索引中的换算表 * kmalloc数组。这对于平板来说是必要的 < 192 since we have non powe...

回答 1 投票 0

在 QEMU 下使用 GDB 调试 Linux 内核:未命中断点

我使用的是Ubuntu 24.04系统,在qemu-system-aarch64 +gdb-multiarch下调试内核。但设置断点并不能使其停止。 系统信息: Ubuntu版本:22.04 调试内核

回答 1 投票 0

读取ELF文件的程序头内容

如何从 ELF 文件中单独提取可加载程序头? 通过使用 readelf 检查二进制文件,可以获得类似于以下内容的输出: $ readelf -l 你好世界 Elf 文件类型是 EX...

回答 4 投票 0

I/O 调用上下文中什么是“慢速”设备?

在 man 7 信号中,它描述了有关 SA_RESTART 标志何时生效的某些约束。 read(2)、readv(2)、write(2)、writev(2) 和 ioctl(2) 在“慢”设备上调用。 一个“...

回答 1 投票 0

为什么内核模块中函数 __pud_alloc() 未定义?

我是Linux内核的初学者。现在我正在尝试自己编写一个模块来设置页表。 我的电脑是x86,内核版本是5.4.0。 首先我使用内核参数memmap来保留...

回答 1 投票 0

(已解决)Linux下PCIe BAR对齐问题

我在基于 ARMv8 的嵌入式系统上使用内核 5.4.93(带有 Ubuntu 20.04 rootfs)。 “BIOS”是 U-boot,不包括 PCIe 功能,因此 PCIe 总线枚举完全不...

回答 1 投票 0

如何使用Linux内核哈希表API?

我正在尝试理解和使用内核哈希表,我已经阅读了这个和这个链接,但我一个都不理解。我的第一个问题是:为什么我们的结构必须有结构 h...

回答 1 投票 0

使用ubuntu24.4系统qemu-system-aarch64 +gdb-multiarch调试内核,设置断点无法停止

我使用的是Ubuntu 24.04系统,在qemu-system-aarch64 +gdb-multiarch下调试内核。但设置断点并不能使其停止。 系统信息: Ubuntu版本:22.04 调试内核

回答 1 投票 0

如何在 Linux 内核中打印当前线程堆栈跟踪?

我希望能够打印 Linux 内核中线程的堆栈跟踪。 详细信息:我想将代码添加到特定函数(例如 swap_writepage() ),该函数将打印完整的堆栈tr...

回答 2 投票 0

kexec -e 可以工作,但 kexec -p 不起作用

我想使用kdump&&kexec,所以我安装了kexec-tools,配置了/etc/kdump.conf和kdump.service。 STFW,按照步骤,我可以使用kexec -l,然后kexec -e,更改为新内核

回答 1 投票 0

IP tuntap 命令无法打开 tun

我想创建一个TUN接口 我在 adb 中输入命令,如下所示 mkdir -p /dev/net busybox mknod /dev/net/tun1 c 10 200 chmod 666 /dev/net/tun1 ip tuntap 添加 dev tun1 模式 tun 当我输入“ip tun...

回答 3 投票 0

我可以使用 eBPF 来跟踪我自己的内核模块中定义的函数吗?

我尝试使用 eBPF 来跟踪我自己的内核模块中定义的函数,但出现错误。 libbpf:prog“my_test_print”:找不到“my_test_print”的内核 BTF 类型 ID:-3 libbpf: 程序 '

回答 1 投票 0

为什么android要在linux内核中引入binder?

我正在尝试学习Android(Linux)内核,并且我知道Android需要非常快(零拷贝)的IPC,但是我仍然不明白为什么需要存在binder。 可以做同样的事情吗...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.