Questions tagged «kernel»

有关Ubuntu中Linux内核的问题。问题可能包括升级和安装内核,编译,补丁和内核模块。

4
我是否需要DKMS?
我的基于Ubuntu的发行版预装了一些VirtualBox东西,因此我将其卸载并自动删除了DKMS软件包。 从我看来,它看起来像是有用的软件包,但是我需要吗?诸如VirtualBox和CDemu之类的东西是自己安装的,而Ubuntu默认情况下并未附带它,因此我猜只有某些安装模块或某些程序的程序才需要它。 我不是GNU / Linux的长期用户,所以我没有太多经验,甚至没有编译经验。 现在我有一个Linux内核更新正在等待中,但是我不知道是否应该在未安装DKMS的情况下更新它。
14 14.04  kernel  dkms 

3
清除旧内核无法删除旧的initrd文件
无法解释原因...我认为简单地手动删除它们并不安全,因此请多多指教。这是我的/ boot目录的ls(显然,我正在运行3.13.0-51内核): -rw-r--r-- 1 root root 1164671 Apr 15 09:03 abi-3.13.0-51-generic -rw-r--r-- 1 root root 165762 Apr 15 09:03 config-3.13.0-51-generic drwxr-xr-x 5 root root 1024 Apr 30 14:33 grub -rw-r--r-- 1 root root 22431280 Nov 26 14:16 initrd.img-3.13.0-36-generic.old-dkms -rw-r--r-- 1 root root 22427261 Nov 26 14:16 initrd.img-3.13.0-37-generic.old-dkms -rw-r--r-- 1 root …
14 kernel 

2
如何使用EFI存根(efistub)加载程序引导加载内核?
我有以UEFI模式运行的Ubuntu 14.04,仅作为操作系统,此处没有双引导。内核版本为3.13.0-24-generic。有一个EFI分区。在这种情况下,EFI分区不是默认分区,而是在默认位置/dev/sda1,/dev/sda3因为我确实将BIOS模式转换为EFI模式。我使用了该grub-efi-amd64软件包,尽管该软件包实际上是从UEFI固件引导菜单(UEFI引导加载\EFI\ubuntu\grubx64.efi)加载GRUB引导菜单。 我想跳过该双重启动菜单的加载步骤,并从UEFI直接启动到内核,启动速度更快。自12.10起,Ubuntu内核具有“内核EFI存根加载器”功能。 我知道我确实需要将Ubuntu内核复制到EFI分区(可能重命名)并在UEFI启动菜单中创建一个条目(例如使用efibootmgr)。为此需要哪些确切的终端命令?
14 boot  grub2  kernel  uefi 

3
CPU温度单位?
由于我不是美国人,因此以下命令输出例如“ 55000”,表示55°C。 cat /sys/class/thermal/thermal_zone1/temp 对于配置US.EN的计算机,此命令是否以华氏温度输出温度?
14 kernel 


3
安装最新的主线后删除旧内核是否安全?
我已按照此处的建议安装了主线内核3.10,以便可以使用WiFi。 我遇到了这里描述的空间问题(dpkg配置空间不足,有单独的/boot) 如该答案所指出的那样,运行此博客中描述的推荐命令是否安全?如果没有,应该如何修改?我在用着: dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge dpkg --list | grep linux-image ii linux-image-3.10.1-031001-generic 3.10.1-031001.201307131550 amd64 Linux kernel image for version 3.10.1 on 64 bit x86 SMP ii linux-image-3.8.0-19-generic 3.8.0-19.30 amd64 Linux kernel …
14 kernel  uninstall 

4
12.04.2 LTS 3.5.0中的linux-kernel-devel是什么意思?
为菜鸟问题道歉,但是当我尝试 sudo apt-get install Linux-kernel-devel 我得到以下内容: sudo apt-get install linux-kernel-devel Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package linux-kernel-devel 我尝试了以下方法: sudo apt-get install linux-headers-$(uname -r) sudo apt-get install build-essentials sudo apt-get install Linux-headers-generic 没有喜悦...有什么建议吗?

1
如何识别应该仅通过供应商/产品ID声明设备的模块?
假设我知道这里没有硬件的数字产品/供应商ID,并且想知道内核中是否支持我,我可以这样做(USB蓝牙接收器示例): modinfo btusb filename: /lib/modules/3.7.5-030705-generic/kernel/drivers/bluetooth/btusb.ko [...] alias: usb:v0A5Cp*d*dc*dsc*dp*icFFisc01ip01in* alias: usb:v0489p*d*dc*dsc*dp*icFFisc01ip01in* alias: usb:v413Cp8197d*dc*dsc*dp*ic*isc*ip*in* [...] 由此,我可以看到要主张哪些设备,btusb并且需要我事先知道模块名称。但是,在某些情况下,我对支持此类设备的模块名称一无所知。 网络硬件是其中很难找到的类别之一。另外,lspci和lsusb名称有时是不确定的,也可能是错误的。我目前正在遍历整个内核源代码树,这不是那么好。 有没有办法列出所有的modaliases 所有模块(包括内置到内核)一气呵成,所以我可以找到一个匹配? 或者,是否可以查询内核以向我提供声称我实际上不拥有这种设备的内核模块? 用例: 用户在这里提出问题,我可以通过实际验证“如果您升级到...就获得支持”或“尝试rmmod module1; modprobe module2,因为module2似乎也支持您的设备”来回答/重复。 在购买具有ID的先验知识的硬件之前,请检查支持。除了使用ID搜索外,我还可以查找有关内核模块本身的错误报告。
14 kernel 


5
内核内置了哪些设备驱动程序?
我最近在硬件设备上安装了供应商提供的嵌入式linux。当我lsmod在设备命令行上运行时,响应为空。导致我相信这意味着该设备上运行的硬件的驱动程序已内置在内核中,而不是.ko文件。我的问题是:这个过程如何发生? 对流行硬件的支持是否在后续版本中逐渐集成到内核中,从而替代了.ko文件?.ko文件是否仅用于支持发行时不具有内核集成驱动程序支持的新硬件?以我的有限知识,我认为所有硬件驱动程序都是.ko文件的形式,但显然这是错误的。 我对整个过程感到有些困惑,并希望澄清一下,因为我觉得我可能会以错误的方式看待这种情况。

3
我的硬件需要将某个模块列入黑名单才能正常工作,如何获得此修复程序?
我有一个Acer Timeline 1830T。当我安装10.10和11.04时,它需要将该acer-wmi模块列入黑名单,以便无线工作。 我想我需要在Linux内核上提交错误,但我不确定。我听说开发人员在修复某些东西以使其适用于某些硬件时会抛出“怪癖”一词。 这确实是内核错误吗?我应该采取什么步骤来确保将其报告出来,从而使笔记本电脑上的每个人都不必一遍又一遍地进行检查?

4
挂起计算机时如何关闭计算机中的风扇?[关闭]
这个问题不太可能对将来的访客有所帮助;它仅与较小的地理区域,特定的时间段或格外狭窄的情况(通常不适用于Internet的全球受众)有关。要获得使该问题更广泛适用的帮助,请访问帮助中心。 6年前关闭。 当我的计算机挂起时,GPU,CPU和电源风扇均继续运行。 我认为我从来没有能够关闭它们,而没有休眠或关闭计算机。我有一些关于从哪里开始的理论,但是我想要一些更扎实的想法。 我自己建造了这台计算机,所以我认为可能没有将风扇连接到正确的电源,因此一种理论是我需要打开计算机,并将风扇的电线移到主板上的其他位置。如果正确,是否有办法知道将其移动到哪里?<-这种理论现在变得毫无意义,因为我意识到这是三个不同的风扇持续运转的原因。 我的另一种理论是我需要在BIOS中做一些事情来进行此更改,而我的第三种理论是这是我需要在软件方面解决的Ubuntu问题。 有谁知道如何弄清楚风扇为何永不熄灭,或如何解决?当计算机进入休眠状态时,它们确实会关闭,但是我不喜欢这样做,因为从休眠状态启动需要很长时间。

1
update-initramfs在哪里寻找内核版本?
我需要重新生成initrd。这样做: update-initramfs -u -k all 为我编译的内核抛出错误,然后在一段时间前删除了该内核(因为update-initramfs当然找不到/lib/modules我已删除的目录)。 我以为我已经通过删除&运行中的/boot目录和目录中的所有条目来完全删除了内核(如此答案所示),但是显然在我应该清理的地方有一些痕迹。/lib/modulessudo update-grub 我读了这个,挖了进去,/usr/share/initramfs-tools但我想不通。 在man update-initramfs我看到: 对版本字符串使用“ all”可指定update-initramfs对所有已知为update-initramfs的内核版本执行选定的操作。 但是怎么知道他们呢?在哪里update-initramfs寻找内核版本? 注意:几个月后...我将此问题的答案添加到了initramfs的标签Wiki中


2
内核不支持PIC模式进行编译?
我一直在尝试在Ubuntu 16.10上编译最新的Linux v4.8.9内核,在我设置默认.config,使用menuconfig对其进行修改并自行运行make之后,该错误不断弹出。解压缩文件后,我也立即运行make mrproper。这是我运行make之后的输出: scripts/kconfig/conf --silentoldconfig Kconfig SYSTBL arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h SYSHDR arch/x86/entry/syscalls/../../include/generated/asm/unistd_32_ia32.h SYSHDR arch/x86/entry/syscalls/../../include/generated/asm/unistd_64_x32.h SYSTBL arch/x86/entry/syscalls/../../include/generated/asm/syscalls_64.h SYSHDR arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_32.h SYSHDR arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_64.h SYSHDR arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_x32.h HOSTCC arch/x86/tools/relocs_32.o HOSTCC arch/x86/tools/relocs_64.o HOSTCC arch/x86/tools/relocs_common.o HOSTLD arch/x86/tools/relocs CHK include/config/kernel.release UPD include/config/kernel.release WRAP arch/x86/include/generated/asm/clkdev.h WRAP arch/x86/include/generated/asm/cputime.h WRAP arch/x86/include/generated/asm/dma-contiguous.h WRAP arch/x86/include/generated/asm/early_ioremap.h WRAP arch/x86/include/generated/asm/mcs_spinlock.h WRAP arch/x86/include/generated/asm/mm-arch-hooks.h CHK include/generated/uapi/linux/version.h UPD include/generated/uapi/linux/version.h CHK …
14 kernel  compiling  gcc 

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.