我正在开发一个适应系统软件(如 Linux 内核)的项目。我读了一篇题为“多核架构上操作系统可扩展性比较经验”的论文,该论文讲述了如何使用基准测试检测瓶颈。我正在遵循他们的实验方法,并且能够使用配置文件工具生成分析报告,但我无法从该分析报告中检测到瓶颈。
基本上,我无法探索 no-vmlinux 部分,也无法找到与瓶颈相关的那些功能。我也无法使用,lockstat.txt因为/proc/sys/kernel/lock_stat.
我正在尝试将 kexec 构建为一个模块,但遇到了一个奇怪的问题。我的 obj-m 是:
obj-m += kexec.o machine_kexec.o relocate_kernel.o
当我运行 makefile 时,它抱怨说“没有规则可以制作 relocate_kernel.o 需要的目标 relocate_kernel.c”
我应该如何告诉它包含程序集文件?我查看了内核 Makefile,虽然我对它们不是很好,但似乎确实存在 .S > .o 的规则。我错了吗?
有什么办法可以在Linux下引起内核恐慌?我听说过
echo c > /proc/sysrq-trigger
但它似乎只是冻结,我不确定这是内核恐慌。有没有我可以以 root 身份运行的 C 程序来导致内核崩溃?
我有一个 Realtek RTL8188CE 无线网卡,当我有很强的信号时它工作正常,但是如果我稍微远离 wifi,即使有很强的 Rx 信号,我也会失去连接。我怀疑我的笔记本电脑的 Tx 功率不够强,但正在运行:
sudo iwconfig wlan0 txpower 23
无效。该卡不允许我将其设置为 20 dBm 以上。我怎样才能修复片状或增加 Tx 功率?
我正在为路由器编译内核。我知道一种在现有 Linux 系统中启用 IP 转发的方法。在编译时,CONFIG_IP_FORWARD据说做同样的任务。
我正在使用基于 GTK 的内核配置工具 ( gconfig)配置 vanilla 内核的 3.12.14 版。但是,我在任何地方都看不到此选项。最近的内核中是否有备用配置选项,还是我遗漏了什么?
我即将为名为Compat Wireless 的无线驱动程序安装补丁,以解决我的Ubuntu Linux v12.04和Kali Linux v1.0.9上的 WiFi 通道(它锁定不存在的 -1 通道)的问题。
但首先我想知道这个补丁是否已经安装(为什么要安装我有的东西?)。
我已经做了一些研究,但我找不到一种方法来知道我的补丁是否已经存在,也找不到列出已安装补丁的通用方法。我什至不知道是否有可能从正在运行的 Linux 获取此类信息。
有什么想法吗?
MODULE_FIRMWARE(filename)Linux内核模块中的宏有什么用?
我在我的笔记本电脑上运行 Ubuntu 14.04。我的笔记本电脑有 USB 相关问题。它有时有效,有时无效。我想自己解决这个问题。所以,我想知道是否有办法确切知道哪个驱动程序负责我的笔记本电脑中的 USB,以及如何在 linux 源代码树中找到该驱动程序的源文件。这是 的回应sudo lspci -v | grep -i usb:
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05) (prog-if 30 [XHCI])
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05) (prog-if 20 [EHCI])
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05) (prog-if 20 [EHCI])
Run Code Online (Sandbox Code Playgroud)
如果有人想知道我确实对在 Linux 内核中破解驱动程序有一点了解。
如果我更改了 Linux 内核的某个部分或某个子系统,是否必须重新编译整个内核?有没有办法只重新编译那个特定的子系统?
kernel ×10
linux ×4
drivers ×3
linux-kernel ×2
assembly ×1
compiling ×1
development ×1
forwarding ×1
ip ×1
kernel-panic ×1
make ×1
memory ×1
patch ×1
solaris ×1
source ×1
ubuntu ×1
usb ×1
wifi ×1