Questions tagged «linux-kernel»

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

1
gnupg 2.1.16等待熵的块
从2.1.16(当前为2.1.17)发布的gnupg块仅在首次调用时等待熵。 注意:这不是尝试生成密钥,只是为了解密文件并启动代理。 第一次启动gpg-agent时,无论是直接使用gpg2 file.gpg还是使用诸如的应用程序pass,pinentry都会出现,一旦我输入密码并点击Enter它,它就会挂起15秒左右。 在default-cache-ttl窗口中的所有后续调用将立即执行。 在--debug-all模式下运行,挂起的时间段将打印1: gpg: DBG: chan_6 <- S PROGRESS need_entropy X 30 120 gpg: DBG: chan_6 <- S PROGRESS need_entropy X 120 120 gpg: DBG: chan_6 <- S PROGRESS need_entropy X 30 120 gpg: DBG: chan_6 <- S PROGRESS need_entropy X 120 120 gpg: DBG: chan_6 <- …

1
升级到内核4.13后关闭电源时电池电量耗尽
升级到4.13内核后,我的笔记本电脑的电池在关闭电源时开始耗尽(一天约占30%)。如果从内核4.12或Windows 8.1引导笔记本电脑,则不会发生这种情况,因此问题显然与新的内核版本有关。 由于局域网唤醒(WoL),我曾经有过类似的问题。但是,这是很久以前通过永久禁用WoL来解决的。我可以轻松地验证ethtoolWoL是否仍处于禁用状态。 从关机菜单中关闭笔记本电脑时,是否可以重新启用WoL?确实,如果我强制硬关机(即,按住电源按钮),则不会发现电池耗尽。但是,我没有足够的技能来验证这个假设。 如果有人可以帮助我调试此问题,那就太好了。

2
mmc0:初始化SD卡时出现错误-110
我的Arch出现问题,我插入SD无法检测到。 我也发现以下错误内核日志: uname -a Linux localhost.localdomain 4.9.6-1-ARCH #1 SMP PREEMPT Thu Jan 26 09:22:26 CET 2017 x86_64 GNU/Linux dmesg [ 3.663535] mmc0: error -110 whilst initialising SD card [ 4.515911] random: fast init done [ 4.720224] mmc0: error -110 whilst initialising SD card lspci -v 00:00.0 Host bridge: Intel Corporation …

4
删除新内核/完整启动
我们有一些Ubuntu 16.04服务器。unattended-upgrades从16.04开始自动启用,并且引导分区位于单独的分区上。由于自动安全更新,引导分区的新内核空间不足。 我们不能只重启系统,所以机器仍在使用倒数第二个内核。 我应该删除哪些内核?除了当前的货币以外,所有货币都是最早的和最新的? 你们有一些建议吗? 我还注意到,最新内核的状态为“半配置”。该内核可能无法正常工作,因此我应该删除该内核并使用较旧的内核。 输出dpkg -l | grep linux image: ii linux-image-4.4.0-21-generic --> old kernel ii linux-image-4.4.0-34-generic --> current kernel ii linux-image-4.4.0-36-generic --> new kernel ii linux-image-4.4.0-38-generic --> new kernel ii linux-image-4.4.0-42-generic --> new kernel ii linux-image-4.4.0-45-generic --> new kernel ii linux-image-4.4.0-47-generic --> new kernel ii linux-image-4.4.0-51-generic --> …

2
以编程方式安全地更改Linux内核配置
我正在编写一个脚本,该脚本必须根据输入文件自动更改许多Linux内核配置选项。 当然,最简单的方法是直接编辑.config文件,但是不建议这样做,并且可能会引起问题。 不过,我似乎找不到找到这种“正确方法”的方法。 “ make help”没有显示更改单个选项的方法,./scripts/kconfig/conf --help也没有。kernel.org上的此文件似乎也没有办法。 甚至Gentoo的Genkernel也会手动更改 .config文件。 因此,基本上: 是否存在一种安全的方法来以编程方式更改内核配置选项,并完成依赖项跟踪等? 可以手动运行Kconfig来实现吗?

1
无法编译内核:错误,内核不支持PIC模式
我在重新编译内核时遇到麻烦。下载源程序包,解压缩并运行 fakeroot make-kpkg kernel_image 把我引向错误 [...] CHK include/generated/utsrelease.h UPD include/generated/utsrelease.h CHK include/generated/package.h UPD include/generated/package.h CC kernel/bounds.s kernel/bounds.c:1:0: error: code model kernel does not support PIC mode 可以通过更改通过获得的内核配置来解决该问题make menuconfig。 如何摆脱这个错误并成功编译

4
肮脏的COW漏洞CVE-2016-5195
今天早上,我们发现了这个漏洞。CVE-2016-5195我们如何修补CentOS内核?有可用的补丁程序吗? http://www.cyberciti.biz/faq/dirtycow-linux-cve-2016-5195-kernel-local-privilege-escalation-vulnerability-fix/

3
如何分配更多的空间来交换并增加其大小,使其大于Ram?
情况:/dev/sda3HD 128 GB时,将交换大小()增加到大于Ram(8 GB)的 动机:8 GB RAM太小;我的SSD中有30 GB的可用空间;我想将20 GB转换为SSD交换 系统的特征 交换不可变/可交换的。我找不到任何证据证明为什么/mnt/.swapfile应该不可变,因此您不需要更改swapfile的文件属性 sudo lsattr /mnt/.swapfile -------------e-- /mnt/.swapfile 命令sudo fdisk -lu /dev/sda给 Disk /dev/sda: 113 GiB, 121332826112 bytes, 236978176 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes …

1
md raid5:将md内部扇区号转换为偏移量
TL; DR摘要:将md扇区号转换为/dev/mdX设备内的偏移量,以及如何使用进行调查xfs_db。扇区号来自sh->sector中linux/drivers/md/raid5.c:handle_parity_checks5()。 我不知道MD的内部原理,所以我不知道该如何处理printk我添加的日志记录的输出。 偏移到组件设备中(对于dd十六进制编辑器或查看器)也将很有趣。 我想我应该在Linux突袭邮件列表中问这个问题。它是仅订阅者,还是可以不订阅而发布? 我将xfs直接放在桌面上的4个磁盘的MD RAID5上(没有LVM)。最近的mismatch_cnt清理发现非零值(实际上是8,因为md一次在4kiB页上运行)。 这是RAID5,而不是RAID1 / RAID10 ,mismatch_cnt在正常操作期间,其中!= 0可能会发生。(此Wiki页面底部的其他链接可能对某些人有用。) 我可以盲目地做repair,但是那时我不知道该检查哪个文件可能的损坏,除了失去选择哪种重建方法的机会。 Frostschutz对类似问题的答案是我发现的唯一回溯到文件系统差异的建议。它既麻烦又缓慢,我宁愿使用更好的方法来首先将其缩小到几个文件。 内核补丁添加日志 奇怪的是,md的检查功能不会报告发现错误的位置。 我加入了printk在MD / raid5.c记录sh->sector在if该增量分支mddev->resync_mismatches中handle_parity_checks5()(小片在github上发布,最初基于4.5 RC4从kernel.org。)对于这个是确定用于一般用途,它可能会需要避免充斥大量不匹配的维修日志(也许仅在新值resync_mismatches<1000 时才记录日志)。也可能只登录check而不是repair。 我敢肯定,我正在记录一些有用的信息(即使我不知道MD内部信息!),因为在处理错误的情况下,switch相同的函数会打印该扇区号。 我编译了修改后的内核并启动了它,然后重新运行检查: [ 399.957203] md: data-check of RAID array md125 ... [ 399.957215] md: using 128k window, over a total of 2441757696k. ... [21369.258985] md/raid:md125: check found mismatch at …

1
make-kpkg和make deb-pkg之间的区别
我想知道make-kpkg和之间的确切区别make deb-pkg。这个问题问的差不多,但没有令人满意的答案。以前我在用 make -j `getconf _NPROCESSORS_ONLN` deb-pkg 编译内核源代码树并生成header + kernel-image debian软件包。我发现它非常慢,因为要在我的第二代Intel i3 CPU上编译需要1个多小时。然后我发现另一种使用方法make-kpkg比deb-pkg以前使用的方法快5-6倍。我运行的代码 fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers -j `getconf _NPROCESSORS_ONLN` 并且只需要10-15分钟即可编译并生成deb软件包。在这两个编译过程中,工作都被划分了,_NPROCESSORS_ONLN那么有什么区别呢?提前致谢。

2
告诉Linux内核*不要*使用某些CPU
我正在尝试在多核计算机上运行一些基准测试,我想告诉Linux内核仅避免使用某些内核,除非明确告知要使用它们。 我的想法是,我可以留出一些内核(该机器有6个物理内核)进行基准测试,并使用cpu mask仅允许将基准测试过程应用于给定的内核。 这可行吗?

1
有关Linux内核安全性的一些基本问题[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我对Linux内核了解不多,并且有一些疑问。 将内核内存与用户空间内存分开的主要目的是什么?要确保用户应用程序不会对内核造成任何不良影响? 用户级应用程序有几种方法可以将控制权转移到内核?我能想到的包括(1)调用系统调用,(2)将内存映射到内核(但我认为mmap()也是系统调用),以及(3)加载内核模块(但我想lsmod还调用一些系统调用)。我对么?还有其他我想念的方式吗? 有几种攻击内核的方法?我可以简要介绍一下吗? 如果我获得root特权,是否意味着我完全控制了内核?即,我可以对内核和硬件做任何我想做的事吗?还是我对内核的功能仍然有限? 如果有人可以帮助我找出这些问题的答案,我将不胜感激。

2
无法重新配置virtualbox-dkms
我已经按照debian wiki上的说明在Debian Jessie上安装了vitualbox 。 通过运行: apt-get install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') virtualbox 在安装过程中报告了一些错误。 现在,我想重新配置virtualbox-dkms,但收到此错误: Loading new virtualbox-4.3.18 DKMS files... Building only for 3.16-3-amd64 Module build for the currently running kernel was skipped since the kernel source for this kernel does not seem to be installed. 注意:uname -r显示3.16-3-amd64但我的/ usr / src中的源文件夹名为: linux-headers-3.16.0-4-amd64。 …


2
如何将其他文件编译到Android ROM的根目录中
我正在基于Cyanogenmod ROM的内核源代码构建自定义Android内核。我想将文件夹和文件添加到操作系统(/)的根文件夹中。例如,在编译完内核之后,我想创建一个名为toto(absolute path = /toto)的额外文件夹。 我真的不知道必须编辑哪些文件以及如何进行工作。 注意:如果您是Android用户(不是ROM开发人员),想向其中添加文件rootfs,请查看相关的Android.SE问题。

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.