此标记用于解决Linux内核本身的内部问题 - 特别是关于编写在内核上下文中运行的代码(如内核模块或驱动程序)。关于在Linux中编写用户空间代码的问题通常应该标记为[linux]。由于Linux内核的内部不断变化,因此包含您感兴趣的精确内核版本会很有帮助。
我想在我的驱动程序代码中实现 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(锁,
x86 中 Linux 内核的lookup_address函数在调试页面错误的特定情况时返回NULL
我使用内核(通用)v6.1 在 arch/x86/mm/fault.c 中实现了一个简单的钩子函数。 这个函数是这样的: void is_read_only(无符号长地址) { 无符号整数...
在 Acer extensa 215-21 上安装 Linux 无法识别硬盘(NVME)
我曾多次尝试在带有硬盘 SSD NVME 的 Acer extensa 215-21 上安装不同发行版 Linux。 将 Ubuntu 插入实时 USB 后,它看不到硬盘。
在 Acer extensa 215-21 上安装 Linux 无法识别硬盘(NVME)
我曾多次尝试在带有硬盘 SSD NVME 的 Acer extensa 215-21 上安装不同发行版 Linux。 将 Ubuntu 插入实时 USB 后,它看不到硬盘。
pci_enable_device() 删除/重新扫描后失败
我这里有Linux 4.4(我曾经在一个旧的内核上工作,它以同样的方式失败),带有一个PCIe连接的FPGA设备和一个驱动程序,它们都是我自己设计的。这些一直在起作用...
我有 3 个相互依赖的外部内核模块。更具体地说,C 包含来自 B 的符号,而 B 又包含来自 A 的符号。 我尝试按以下顺序构建模块。 使...
我已将 RPi 设置为路由器,以 Dualpi2 作为 qdisc,并有 2 台主机作为客户端和服务器,拥塞控制协议为 tcp_prague。 在尝试模拟我们的交通时...
错误:内核恐慌 - 不同步:找不到工作 init。尝试将 init= 选项传递给内核
我已经构建了 busybox 最小文件系统,如果我从 SD 卡挂载 rootfs,它可以正常工作。但是,如果我将文件系统转换为 initramfs 并将其加载到 ram 中,它就无法运行...
我需要在 Buildroot 中激活三态支持以进一步扩展功能,但我是新人,我不知道如何激活此功能,以及为什么即使我编写了简单的 KConfig
内核 5.15 和 5.4.0 之间关于 ioctl 有效命令是否有任何变化?
我们有一些在 5.4.0 上运行的自定义驱动程序。它已经很旧了,最初的开发人员不再支持它,所以我们必须在我们的系统中维护它。 升级到 Ubuntu 22(内核 5)时...