此标记用于解决Linux内核本身的内部问题 - 特别是关于编写在内核上下文中运行的代码(如内核模块或驱动程序)。关于在Linux中编写用户空间代码的问题通常应该标记为[linux]。由于Linux内核的内部不断变化,因此包含您感兴趣的精确内核版本会很有帮助。
我创建了一个名为 Hello.ko 的自定义简单模块 我使用命令“insmod hello.ko”安装模块,用“dmesg”检查它并且它正在工作,但是当我重新启动系统时,我必须加载它
我正在通过 16550a uart 发送数据。它有一个 16 字节的缓冲区。 当我发送 26 个字节时。我看到 16byes 以正确的波特率传输。然后是 19 毫秒的暂停,然后是 12 字节。 我没有使用中断....
为什么 Linux 服务器响应的 TCP 数据包大于客户端请求的 MSS
我看到了一件奇怪的事情,这不是我根据 TCP 理论所期望的: 客户端在握手时将 MSS(最大段大小)设置为 1360,窗口大小设置为 64K,但 Linux 服务器...
read() 是否清除内核环形缓冲区 /proc/kmsg?
我开发了自己的日志处理程序。为了处理源自 printk() 的日志,我从内核环形缓冲区中读取,如下所示: #define _PATH_KLOG“/proc/kmsg” CGR_INT
除了时间戳之外,我看不到 printk 的任何效果: 第一行是由驱动程序中的 dev_xxx 宏打印的。 打印(我只是想查看转换后的值,因为我有一些问题......
spi_driver.id_table 和 spi_driver.driver.of_match_table 的区别
我目前正在尝试了解 Linux 驱动程序是如何工作的。据我所知,当内核解析设备树中相应的.兼容字符串时,会调用驱动程序的probe/init函数。
USB 设备枚举失败:“设备描述符读取/64,错误 -32”
我正在使用 ST 微控制器开发 ttyACM 设备,并且使用相同的代码,我的主机有时可以成功枚举它(如下),但有时它只是转储以下消息。呃...
众所周知,某些应用程序不了解 Linux 内核隔离和虚拟化功能(例如 cgroup)。这包括 top、free 和 ps 等系统实用程序,还包括 Java 等平台...
情况是,我需要两个 ram 区域用于 Linux 内核。这些区域不是按顺序排列的。并且区域之间必须是“禁止接触”区域。它是 Arm 设备。 例如...
我想在我的驱动程序代码中实现 8 毫秒的延迟。我使用了msleep函数,但是我发现我只循环了两次。 dmesg中两次打印的时间差居然是10ms,不应该...
我正在尝试添加一个新的系统调用,该调用显示有关系统中当前正在运行的进程的一些信息。我创建了一个名为 proc_info_struct 的新结构,其中包含进程的一部分
rpi - pwm_get() - 如何使用静态查找表或设备树
我有一个 Raspberry Pi 3B,在 pwmchip0 (pwm0/pwm1) 上有两个电机。 我成功地通过 sysfs 控制了 pwm 芯片,但现在我想将其放入内核模块中。 我看到了 和
我需要在配置以太网控制器之前(即在以太网控制器驱动程序和设备绑定之前)使用GPIO向交换机发送重置信号。我已经添加了重置l...
约克托。如何保持 u-boot 启动画面以及如何保持内核启动画面开启
我正在将 Yocto 移植到我的板上。我为我的显示器编写了 u-boot 和内核图形驱动程序。一切正常。我唯一的问题是: u-boot 初始屏幕显示一段时间后
根据这个答案,系统中的PCI/PCIe设备(比如GPU)在使用之前需要经过一个初始化过程: 操作系统内核获取PCI配置寄存器中的值...
如果我使用 -initrd 文件而不是正常启动,为什么 QEMU 需要很长时间来启动?
QEMU 有一个选项,我们可以在其中指向用于启动 VM 的 -kernel 和 -initrd 映像。然而,当我使用它时,如果我只是运行普通的 Ubuntu,QEMU 需要很长时间才能完全启动
我正在尝试为 Linux 构建一个内核模块,以尝试控制 LED 设备列表,从而按顺序打开/关闭它们。例如,绿色-->红色-->绿色-->橙色,然后重复。 ...
我正在尝试在 Buildroot 中添加 udev 包,并在 defconfig 文件中添加以下配置参数: ./configs/xxx_dev_defconfig:BR2_PACKAGE_HAS_UDEV=y 但是,我看不到上面的内容
如 - https://www.gnu.org/software/libc/manual/html_node/Open-File-Description-Locks.html#Open-File-Description-Locks fcntl(F_OFD_SETLK) 锁定打开的文件表条目,(通常由 o...
为什么 kfifo 在 4.9.37 版本的内核中即使使用 spin_lock_irqsave 也需要 smp_wmb
kernel lib/kfifo.c中有两段代码如下: #define kfifo_in_spinlocked(fifo, buf, n, lock) \ ({ \ 无符号长__flags; \ 无符号整型 __ret; \ spin_lock_irqsave(锁,