Articles of 内核

编译一个单独的内核模块(Debian / Ubuntu)

我需要修改ELF加载器的Ubuntu 14.04发行版的内核实现。 使用下载的资源: sudo apt-get source linux-image-$(uname -r) 我运行了configuration脚本: make config 在根源树中。 在看似无尽的input请求序列之后,脚本创build了构build内核所需的.config文件(或一组模块)。 我正在使用的内核版本是linux-3.13.0,并具有以下源代码树布局: $ ls arch COPYING crypto Documentation dropped.txt FileSystemMakefile fs init Kbuild kernel MAINTAINERS mm README samples security sound ubuntu virt block CREDITS debian.master drivers elf.dat firmware include ipc Kconfig lib Makefile net REPORTING-BUGS scripts shortcuts tools usr ELF加载器位于/path/to/source/fs/binfmt_elf.c中 。 在这个问题之后,为了编译一个单独的模块,运行就足够了 make […]

服务器冻结,没有内核恐慌

我们正在运行一个KVM节点,它不规则地崩溃,显示出一个非常奇怪的行为。 有趣的是,我们已经有另一个每1-2周崩溃的节点出现这个问题。 由于找不到硬件问题,我们开始将虚拟机迁移到新节点。 在我们迁移了50%的虚拟机大概一个星期后,新的节点崩溃,而“旧”的虚拟机运行良好(正常运行3周,我们几个月没有看到这么好的运行时间)。 当一个节点崩溃时,我们有时会在Supermicro IPMI上看到这些奇怪的东西: 我们也看到: “没有信号”就像服务器已closures(当然不是,在IPMI主页上也没有显示关机) 正常的login屏幕或服务器的其他正常输出,但冻结 我们从来没有看到的是在崩溃之前的核心恐慌或至less一些日志中的消息,完全沉默,直到突然灯熄灭。 随着问题从一台服务器“移动”到另一台(一台全新的机器),我认为只剩下几个选项: 一个特定的VM正在造成这个问题 内核错误 硬件问题关于我们的设置 有关机器的更多信息: 最新内核的CentOS 7(3.10.0-514.2.2.el7.x86_64) 带有冗余电源的Supermicro机箱 带有最新BIOS版本的Supermicro X10DRi / X10DRWi 英特尔至强E5-2630 v3 / v4 512 GB DDR4 ECC RAM(三星服务器内存) 145个虚拟机正在运行(远离饱和的RAM和CPU,也由于KSM) 带有8/16 SSD的软件RAID-10 有没有人看到这种行为或可以说一些关于控制台上的奇怪的“消息”? 我从来没有见过这样的事情,甚至不知道我应该如何描述这个谷歌search。 目前我们不知道下一步应该做什么,因为它可能是一切。 提前致谢!

Ubuntu 8.04 LTS内核NULL指针解引用

我在戴尔XPS Core 2 Duo塔上运行rsync时,它冻结了。 该机器在3个磁盘上运行Ubuntu 8.04 LTS,3GB RAM和软件RAID 5(mdadm)。 系统在第四张磁盘上。 重启后,我在/var/log/kern.log中发现了这个可爱的gem: Oct 31 02:38:33 myhostname kernel: [617414.584615] Unable to handle kernel NULL pointer dereference at 0000000000000070 RIP: 然后今天早上又发生了,但日志里有更多的信息(见下文)。 我想知道是否有人能够对这意味着什么有所了解。 不幸的是,这台机器现在距离我3000英里远的一个数据中心,所以换出内存将会非常棘手。 在此先感谢您的任何build议! Nov 1 01:24:55 myhostname kernel: [34780.996038] Unable to handle kernel NULL pointer dereference at 0000000000000070 RIP: Nov 1 01:24:55 myhostname kernel: [34780.996050] [<ffffffff80470a60>] _spin_lock+0x0/0x10 […]

编译Ubuntu Lucid for xen dom0 / pvops的内核2.6.34

我想为我的Ubuntu 10.04 Lucid Lynx AMD64盒子编译一个最近的Linux内核(2.6.34),主要是因为我想用它作为最近的xen4的dom0内核。 网上有很多关于如何编译内核“Debian风格”的文档。 但是我认为从“官方的”Ubuntuconfiguration开始,确保不会错过任何重要的事情,并且不得不重新编译一遍又一遍。 所以我想要做的是编译2.6.34,但是从Ubuntu Lucid的“官方”/boot/config-2.6.32-XX开始。 问题是:我最好怎么做? 如果我只是从2.6.32获取configuration,2.6.33 / 34的新function将不会在configuration中。 所以我想做的是2.6.34configuration与原来的2.6.32从Ubuntu。 我怎么能最好的做到这一点? 这是否有道理? 有更简单的方法来实现我想要的吗? 感谢您的洞察! 一个。 PS:我刚刚在backports.org上find了一个linux-image-2.6.32-bpo.4-xen-amd64软件包,但是没有关于它的信息。 它会在Lucid上工作吗?

mkfs拒绝格式设备的声明,它挂载时,实际上不是

这就是问题: root@ip-10-126-247-82:~# mkfs.ext4 /dev/xvda3 mke2fs 1.41.14 (22-Dec-2010) /dev/xvda3 is mounted; will not make a filesystem here! 这是debugging: root@ip-10-126-247-82:~# mount /dev/xvda1 on / type ext4 (rw) proc on /proc type proc (rw,noexec,nosuid,nodev) sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) fusectl on /sys/fs/fuse/connections type fusectl (rw) none on /sys/kernel/debug type debugfs (rw) none on /sys/kernel/security type securityfs (rw) […]

内核似乎没有模块

有用的信息: OS: CentOS 5.8 final Kernel: 2.6.32-042stab056.8 我的内核是用服务器预先构build的,我对内核一无所知,但对于Linux却不是很了解,但据我所知,我应该有一些由内核加载的模块。 我碰到这个问题,因为我无法运行iscsi因为它期望某些模块被加载。 lsmod什么也没有返回。 depmod -a返回: WARNING: Couldn't open directory /lib/modules/2.6.32-042stab056.8: No such file or directory FATAL: Could not open /lib/modules/2.6.32-042stab056.8/modules.dep.temp for writing: No such file or directory 我已经重新启动,没有任何改变。 有谁知道这是为什么发生?

如何从RHEL6.1更新到RHEL6.2,而不是RHEL6.3

现在我正在使用RHEL版本6.1,并且想要更新到6.2。 如果我使用这个命令, yum update OS版本变成6.3。 所以我使用下面的命令 yum install kernel-2.6.32-220.23.1.el6 但是,“/ etc / redhat-release”的版本仍然是6.1。 我怎样才能更新到6.2?

防火墙输出洪泛dmesg

我使用以下iptables规则logging所有丢弃的数据包: -A INPUT -j LOG –log-prefix "FW_DROP: " –log-level 7 然后在rsyslog.conf中,我把这个输出redirect到一个单独的文件,这样我的系统日志就不会被洪泛 :msg, contains, "FW_DROP" -/var/log/firewall.log & ~ 这对于s​​yslog是有效的,但是我的dmesg仍然充斥着fw消息,这让我疯狂。 谁会知道如何防止这种情况?

Linode内核头文件

我试图在运行Ubuntu 12.04LTS的Linode上安装Idera(R1soft)linux代理。 该代理需要一个驱动程序,该驱动程序又需要内核头文件。 Linode使用自定义内核,但是我想要的内核头文件不在ubuntu的apt-get版本库中。 就我所知,linode跟踪主线,所以我login到linode并将我的内核从“latest”更改为静态版本,所以在未来的重新启动时它不会改变。 然后,我从kernel.org下载了这个版本的linux源代码,并把它放到/ lib / modules目录下。 我指出代理安装过程在那个目录,但它仍抱怨它找不到头。 我应该下载一个只包含头文件的包吗? 头文件是linux源文件的子文件夹吗? 我只是在我想要做的事情的基础上可怕吗? root@li372-176:~# serverbackup-setup –get-module –kernel-dir /lib/modules/linux-3.13.7 Checking if module needs updated Checking for binary module Waiting | No binary module found Gathering kernel information Gathering kernel information complete. Creating kernel headers package Checking '/lib/modules/linux-3.13.7' for kernel headers Unable to find a '.config'. This […]

是否可以configurationLinux内核I / O调度程序的NFS挂载?

在一个正常的块设备上,你可以像这样改变I / O调度器: # cat /sys/block/hda/queue/scheduler noop anticipatory deadline [cfq] # echo anticipatory > /sys/block/hda/queue/scheduler # cat /sys/block/hda/queue/scheduler noop [anticipatory] deadline cfq 如何控制NFS卷的设置,或者我只需要在启动configuration中全局设置 elevator=noop 或类似?