标签: linux-kernel

Busybox ping IP 有效,但主机名 nslookup 因“地址错误”而失败

我正在编译自己的 3.14 内核。我担心我可能遗漏了一些重要的网络功能来使 DNS 正常工作。

我无法解析域名。我可以 ping 我的 DNS 服务器。我可以在其他机器上使用该 DNS 解析,所以我知道它不是服务器。

~ # cat /etc/resolv.conf
nameserver 192.168.13.5

~ # nslookup google.com
Server:    192.168.13.5
Address 1: 192.168.13.5

nslookup: can't resolve 'google.com'

~ # ping -c 1 google.com
ping: bad address 'google.com'

~ # ping -c 1 192.168.13.5 
PING 192.168.13.5 (192.168.13.5): 56 data bytes
64 bytes from 192.168.13.5: seq=0 ttl=128 time=0.382 ms

--- 192.168.13.5 ping ststistics ---
1 packets transmitted, 1 packets recieved, 0% packet loss
reound-trip min/avg/max = 0.382/0.382/0.382 ms …
Run Code Online (Sandbox Code Playgroud)

linux kernel dns busybox linux-kernel

17
推荐指数
1
解决办法
4万
查看次数

从 menuconfig 的角度比较两个内核配置文件?

我有一种情况,我有两个内核配置文件(对于相同的内核源)。它们都具有我需要的一部分功能(一方面,USB 工作正常,另一方面,第二个 I2C)。

我知道,从 menuconfig 的角度来看,这两个配置文件之间的差异仅包括几个选定的选项。(但不知道是哪个)

然而,当手动比较配置文件(在两个 .config 文件之间融合)时,差异并不容易识别。我尝试手动合并它们但没有成功。我相信我最终会成功,但相信如果以它们出现在 menuconfig 中的方式比较文件,这个过程可能会更轻松。

这可以实现吗,如果可以,如何实现?

kernel make configuration linux-kernel

17
推荐指数
4
解决办法
1万
查看次数

为什么不自动回收slab对象

更新:我在 4.9 上不再遇到此问题。* 不确定何时修复。

每天在完整的系统备份后,各种程序都会因读取错误而失败,直到我运行echo 2 > /proc/sys/vm/drop_caches以释放可回收的平板对象。

例如,这sudo apt-get update是备份后的输出。

$ sudo apt-get update
Hit http://ftp.ca.debian.org unstable InRelease
Hit http://ftp.ca.debian.org experimental InRelease                                                            
Ign http://dl.google.com stable InRelease                                                                      
Get:1 http://ftp.ca.debian.org unstable/contrib amd64 Packages/DiffIndex [7,819 B]               
Hit http://dl.google.com stable Release.gpg                                     
Hit http://ppa.launchpad.net wily InRelease                               
Get:2 http://ftp.ca.debian.org unstable/non-free amd64 Packages/DiffIndex [6,577 B]            
Hit http://dl.google.com stable Release                                         
Hit http://ppa.launchpad.net wily InRelease                                                      
Get:3 http://ftp.ca.debian.org unstable/main amd64 Packages/DiffIndex [7,876 B]
Get:4 http://ftp.ca.debian.org unstable/contrib i386 Packages/DiffIndex [7,819 B]
Get:5 http://ppa.launchpad.net wily/main amd64 …
Run Code Online (Sandbox Code Playgroud)

memory cache linux-kernel

17
推荐指数
1
解决办法
3146
查看次数

“信息:任务 XXX 阻塞超过 120 秒”在 Linux 上究竟是什么意思?

我在内核日志有这样的消息:INFO: task XXX blocked for more than 120 seconds。我想知道这在技术上意味着什么:内核在什么条件下显示有关任务的消息?

作为记录,我被阻止的任务是multipathd,但我也对这个错误的一般含义感兴趣。

scheduling linux-kernel

16
推荐指数
2
解决办法
4万
查看次数

在现代 Linux 上使用 noatime 有意义吗?

从 2.6.30 版本(5 年前发布)开始,Linuxrelatime默认启用该选项。这意味着文件访问时间的更新非常罕见且谨慎。

但我仍然看到建议使用noatime的数据库或SSD盘。是否有任何理由更改默认配置并使用它?与 相比是否有任何可衡量的差异relatime

filesystems linux-kernel atime

16
推荐指数
1
解决办法
4072
查看次数

Linux 内核删除自定义键盘扫描码

我有一个老式的 IBM 122 键型号 M 键盘,我正在改装以在现代计算机上使用。我正在使用 Teensy 2.0 进行编码和处理 USB 方面的事情。我从 Humble Hacker 键盘项目 ( https://github.com/humblehacker/keyboard )借用了固件,并在构建配置中添加了额外的键。到现在为止还挺好。

所有“常规”键都有效,但内核似乎正在删除额外的键(F13-F24等)。

运行/lib/udev/keymap -i input/event0显示所有普通键的扫描码,但没有显示额外键的扫描码。

运行wireshark以捕获 USB 端口的数据包显示键盘正在发送扫描码,但看起来内核只是原则上丢弃它们。

我觉得这是内核驱动程序中的某些东西,它根本没有提供它不期望的扫描码。

我认为.h内核源代码中的某个文件中会有某种“主”键映射,但到目前为止,我还没有成功找到它。

值得强调的是,我并不是像在我之前的许多其他人一样要求在 X 中映射额外的键。这是一个低级别的,显然与内核相关的问题。暂时假设我根本不会使用 X。我需要的是在我运行时显示扫描码/lib/udev/keymap -i,我可以从那里完成其余的工作。

linux kernel keyboard-shortcuts keyboard linux-kernel

16
推荐指数
1
解决办法
1673
查看次数

为什么内核不能运行init?

我已经在这个页面下载了 Raspbian 镜像。我正在尝试编译可用于在 qemu 中引导映像的内核。

我从kernel.org下载了 Linux 内核源代码并运行:

make versatile_defconfig
make menuconfig
Run Code Online (Sandbox Code Playgroud)

然后我向内核添加了以下功能:

  • PCI 支持 (CONFIG_PCI)
  • SCSI 设备支持 (CONFIG_SCSI)
  • SCSI 磁盘支持 (CONFIG_BLK_DEV_SD)
  • SYM53C8XX 版本 2 SCSI 支持 (CONFIG_SCSI_SYM53C8XX_2)
  • 扩展 3 (ext3) 文件系统 (CONFIG_EXT3_FS)
  • 扩展 4 (ext4) 文件系统 (CONFIG_EXT4_FS)

我还循环安装了磁盘映像,并且:

  • 注释掉 /etc/ld.so.preload
  • 调整/etc/fstab使用/dev/sda1/dev/sda2

然后我卸载了图像并尝试使用以下命令启动机器:

qemu-system-arm \
    -M versatilepb \
    -m 256 \
    -kernel linux-4.3/arch/arm/boot/zImage \
    -hda 2015-09-24-raspbian-jessie.img \
    -serial stdio \
    -append "root=/dev/sda2 rootfstype=ext4 rw console=ttyAMA0"
Run Code Online (Sandbox Code Playgroud)

内核能够挂载文件系统,但它立即遇到了一些麻烦:

Kernel panic - not syncing: …
Run Code Online (Sandbox Code Playgroud)

arm init qemu linux-kernel

16
推荐指数
1
解决办法
6676
查看次数

'make localmodconfig' 有什么作用?

make localmodconfig什么以及应该设置什么才能支持外部硬件?

linux-kernel

16
推荐指数
1
解决办法
1万
查看次数

是否可以更改 UNIX/Linux 系统中的内核?

我想知道是否可以更改内核,例如,将 Fedora 的 Linux 内核替换为 FreeBSD 的内核。

现在,已经存在Debian GNU/kFreeBSD。我是否可以自定义 Linux 发行版以包含 BSD 内核?

linux fedora kernel gnu linux-kernel

16
推荐指数
2
解决办法
3286
查看次数

参与内核邮件列表

我知道这个问题关于规则有点前卫。我会问它,因为这是可能从中受益最多的社区,而且 Stack Exchange 界面更适合新手。


  • 如何订阅 Linux 内核或特定内核子系统的邮件列表?

  • 如何发布到邮件列表?

  • 回复回复我帖子的人的正确方法是什么?

  • 是否有特定的电子邮件客户端会导致与邮件列表交互出现问题?

linux email linux-kernel

16
推荐指数
1
解决办法
4316
查看次数