Questions tagged «linux-kernel»

有关Linux内核和Linux内核相关主题的问题,例如。实现细节,例如系统调用,内核自定义等。对于不涉及内核细节的Linux用户空间主题,[linux]或发行标签更为合适。


2
X11如何与内核交互/执行登录
据我了解,与Linux内核进行基于文本的交互时,有一个名为initstarts getty(或agetty)的程序,该程序连接到下面的TTY设备之一,/dev并提示输入用户名。此后,将login运行一个名为的程序,提示输入用户密码,如果正确,则启动用户的首选外壳程序(例如bash或csh)。此时,bash通过TTY设备与内核交互。 X11的登录过程如何工作?X11是否通过TTY与内核交互?
14 x11  linux-kernel  login  tty  getty 

3
为什么内核不能运行init?
我已经在此页面上下载了Raspbian图像。我正在尝试编译可用于在qemu中引导映像的内核。 我从kernel.org下载了Linux内核源代码并运行: make versatile_defconfig make menuconfig 然后,我向内核添加了以下功能: 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" 内核能够挂载文件系统,但立即遇到了一些麻烦: Kernel panic - not syncing: Attempted to kill …
14 linux-kernel  arm  qemu  init 

2
Linux内核使用哪些熵源?
man 4 random 对Linux内核熵源的描述非常模糊: 随机数发生器将来自设备驱动程序和其他来源的环境噪声收集到一个熵池中。 Linux随机数生成器中的熵转移论文也没有那么具体。它列出: add_disk_randomness(), add_input_randomness()和 add_interrupt_randomness()。 这些functino来自random.c,其中包含以下注释: 来自环境的随机性来源包括键盘间定时,某些中断产生的中断间定时以及其他事件(a)不确定性,(b)外部观察者难以测量。 再往下,有一个功能add_hwgenerator_randomness(...)指示对硬件随机数生成器的支持。 所有这些信息都比较模糊(或者,对于源代码,需要对Linux内核有深入了解才能理解)。实际使用的熵源是什么,Linux内核是否支持开箱即用的任何硬件随机数生成器?

6
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 …



2
设备eth0似乎不存在,从而延迟了初始化
我已经克隆了一个软呢帽,现在尝试配置网络接口。每次添加新的NIC时,它都以编号eth3(而不是eth0)开头。我曾尝试删除和修改70-persistent-net.rules以及,network-scripts/eth0但似乎没有任何方法可以解决此问题。这是我机器的一些输出 [root@abc ~]# ls /sys/class/net eth3 eth4 lo pan0 [root@abc ~]# cat /etc/udev/rules.d/70-persistent-net.rules # This file was automatically generated by the /lib/udev/write_net_rules # program run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a single line. # PCI device …

1
在现代Linux上使用noatime是否有意义?
从2.6.30版本(5年前发布)开始,Linux relatime默认启用该选项。这意味着文件访问时间的更新非常少见且谨慎。 但我仍然看到recomendations使用noatime的数据库或SSD盘。是否有任何理由更改默认配置并使用它?与相比有relatime什么可测量的区别吗?

2
观察内核空间中的硬盘写入(带有驱动程序/模块)
如果这篇文章有点密集/混乱,请提前致歉,但是我很难将其表述得更好...基本上,我想研究硬盘写操作时发生的情况,并且我想知道: 我的理解是否正确-如果不正确,我在哪里出问题? 是否有更好的工具来“捕获”磁盘写入期间PC上发生的所有方面的日志数据? 更详细地讲-首先,我使用的操作系统是: $ uname -a Linux mypc 2.6.38-16-generic #67-Ubuntu SMP Thu Sep 6 18:00:43 UTC 2012 i686 i686 i386 GNU/Linux 因此,我有以下简单的用户空间C程序(例如,跳过了对操作失败的常规检查)wtest.c: #include <stdio.h> #include <fcntl.h> // O_CREAT, O_WRONLY, S_IRUSR int main(void) { char filename[] = "/tmp/wtest.txt"; char buffer[] = "abcd"; int fd; mode_t perms = S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH; fd = …

3
使用zram时vm.swappiness的适当值是多少?
我在计算机上将zram用作支持RAM的压缩交换。当系统需要交换某些内容时,将其交换到zram支持的交换文件中或多或少等同于在内存中压缩该数据以释放空间。相对于磁盘支持的交换,这使得交换在大多数情况下都非常快。因此,我想知道是否可以通过鼓励系统更积极地交换未使用的东西来获得某些性能,因为它可以这样做而不实际打磁盘? 那么有没有人vm.swappiness在使用zram时搞乱设置为100?这是可取的吗? sysctl -w vm.swappiness=100


3
编译内核时如何减小initrd的大小?
当我编译自己的内核时,基本上,我的工作是: 我从www.kernel.org下载源代码并解压缩。 我将以前.config的代码复制到源代码中,并执行make menuconfig来监视新选项并根据内核的新策略修改配置。 然后,我编译它: make -j 4 最后,我安装了它:su -c 'make modules_install && make install'。 经过几次测试,我从(/boot和/lib/modules)中删除了旧内核,并使用新内核完全运行(这最后一步挽救了我的性命!这是一个专业提示!)。 问题是/boot/initrd.img-4.x.x与发行版中的相比,我总是得到一个巨大的数字。这里以我当前/boot/目录的内容为例: # ls -alFh total 243M drwxr-xr-x 5 root root 4.0K Mar 16 21:26 ./ drwxr-xr-x 25 root root 4.0K Feb 25 09:28 ../ -rw-r--r-- 1 root root 2.9M Mar 9 07:39 System.map-4.4.0-1-amd64 -rw-r--r-- …

1
如何在Linux上启用随机PID?
从安全性的角度来看,我目前正在比较OpenBSD,FreeBSD和Linux上的随机PID实现。 只要涉及到OpenBSD和FreeBSD,我的工作就完成了。但是,尽管这里的答案表明仅凭此设置就可以在Linux上启用随机PID sysctl,但我无法确定它是哪个设置。 对Internet的研究仅导致补丁和讨论在主流Linux内核中被拒绝,并且在grsecurity功能中也没有出现(很明显,在我的Linux机器上,PID到处都是增量的,sysctl似乎没有相关的参数名称,并且在其中进行了一些搜索内核源代码未显示任何相关内容)。 在Linux上真的可以使用PID随机化吗?

2
可能看到死程序吗?
在中man ps,它明确指出了进程在Linux上可能具有的不同状态。 D Uninterruptible sleep (usually IO) R Running or runnable (on run queue) S Interruptible sleep (waiting for an event to complete) T Stopped, either by a job control signal or because it is being traced. W paging (not valid since the 2.6.xx kernel) X dead (should never be …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.