此标记用于解决Linux内核本身的内部问题 - 特别是关于编写在内核上下文中运行的代码(如内核模块或驱动程序)。关于在Linux中编写用户空间代码的问题通常应该标记为[linux]。由于Linux内核的内部不断变化,因此包含您感兴趣的精确内核版本会很有帮助。
问题描述 我目前正在开展一个涉及共享库重建的项目(在 x64、Linux 虚拟机上),特别针对 musl-libc(版本:1.1.15)。 之后
当我尝试在内核模块中使用 malloc 时,我从编译器收到一条错误消息。我的代码: res=(ListNode*)malloc(sizeof(ListNode)); 编译器的错误信息是: /root/ex3/ex3mod.c:491:呃...
我是eBPF的新手,有很多教程说eBPF只是扩展的BPF,但我不明白扩展是什么意思?那么BPF和eBPF有什么区别呢?样品是否...
是否可以通过 eBPF 更改进程的 CPU 关联性? 我检查了所有 bpf 辅助函数,没有直接相关的函数。但可以使用bpf_get_current_task来检索task_struct。是吗
我不明白加载 U-Boot 时 RAM 中发生了什么。我正在开发 Xilinx Zynq ZC702 评估套件,并尝试使用 U-Boot 在其上加载 Linux 内核。所以我使用了Xilinx工具
是否可以在安装自定义 Linux 内核时更改 make install 的默认目标( /boot/ )。
我有一个精简的 Linux 内核模块,它会引发错误: $ uname -a Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux $ gcc --版本 gcc(Debian 10.2....
init: 无法使用 args '' 来 insmod '/lib/modules/apr.ko': 启动 Android 时出现 Exec 格式错误
我正在尝试将Android 13安装到RB3开发板。根据 Linaro 博客,这是可能的。我按照 Linaro wiki 页面上的说明进行操作。所以,首先我编译了内核: 回购初始化 -u h...
这是此处现有 SO 帖子的延续。 我在 x86_64 平台的虚拟内核模块中有以下函数。 静态无效 dummy_function_1(int arg1, char arg2) { printk(KERN_...
request_mem_region() 实际上做了什么以及什么时候需要它?
我正在学习编写嵌入式Linux驱动程序,并决定启动一些GPIO以确保我正确理解这本书(LDD3,chap9.4.1)。 我能够按预期控制正确的 GPIO 引脚 (
如何在Linux中正确获取USB设备文件路径。 我使用命令:find / -iname "usb" 并得到如下结果: /dev/总线/USB /系统/总线/USB /sys/总线/USB/驱动程序/USB /sys/内核/调试/USB 嗯...
如何修改 ARM64 上 Linux 内核中页表项 (PTE) 中的位?
我正在研究ARMV8.9的新功能,称为Permission Indirection,它类似于X86 Memory Protection Key。 PIIndex(权限间接索引,如 MPK 密钥)由 PT...
linux/init.h 并检测到 #include 错误。请更新您的 includePath。此翻译单元禁用了波形曲线 (simple.c)
我正在尝试实现 Silberschatz 的《操作系统概念》书中的示例。该示例是关于添加和删除内核模块的。到目前为止,它已经给出了一个 simple.c 文件以及一个
我知道udev在linux系统上运行,它通过netlink套接字接收从内核发送的uevents。 但是,我的问题是: 内核如何发送事件?一定是有什么东西
我在寻找一些合适的例子来解决我的问题时遇到了一些困难。我想在用户和内核空间之间共享 4K (4096) 字节的数据。我发现了很多想法,说我必须分配我...
“typedef __u16 __bitwise __le16;”是什么意思在 Linux 内核中是什么意思?
typedef __u16 __bitwise __le16; 是什么意思?在Linux内核中是什么意思? 实际上,这里的“le”是什么意思? 我隐约可以看到这是一个无符号的16位int? 感谢您的帮助。
在Linux内核中include/linux/compiler.h: #define __acquire(x) __context__(x,1) #define __release(x) __context__(x,-1) 请帮助我理解,在上面的陈述中我们正在尝试......
CONFIG_NO_HZ_FULL=y的Linux如何更新系统时钟
我试图了解Linux内核中的计时工作原理,特别是系统时钟是如何更新的。 我正在使用 /proc/config.gz 中的这些配置运行内核 v6.5 # # 计时器
ARM系统调用的接口是什么?它在Linux内核中的哪里定义?
我读过有关Linux中的系统调用的内容,到处都有关于x86架构(0x80中断和SYSENTER)的描述。但我无法追踪系统的文件和进程...
我正在开发一个Linux内核模块,它使用DebugFS将用户空间文件中的一些值读取到内核空间。 到目前为止,我的 DebugFS 目录位于 /sys/kernel/debug/example。这个直接...