1、若编译内核时总是出现同一个错误,如下: 在make modules_install时最后几行弹出错误: if [ -r System.map -a -x /sbin/depmod ]; then /sbin/depmod -ae -F System.map 2.6.12.2; fi /bin/sh: line 1: 3357 已杀死 /sbin/depmod -ae -F System.map 2.6 .12.2 make: *** [_modinst_post] 错误 137 如果继续make install,重启,是进不去刚刚编译安装的那个内核的,显示内核错误。 分析:如果 System.map可读 并且 /sbin/depmod可执行;那么就执行/sbin/depmod -ae -F System.map 2.6.20;结束 depmod(depend module) 功能说明:分析可载入模块的相依性。 语 法:depmod [-adeisvV][-m 文件>][--help][模块名称] 补充说明:depmod可检测模块的相依性,供modprobe在安装模块时使用。 参 数: -a或--all 分析所有可用的模块。 -d或debug 执行排错模式。 -e 输出无法参照的符号。 -i 不检查符号表的版本。 -m文件>或system-map文件> 使用指定的符号表文件。 -s或--system-log 在系统记录中记录错误。 -v或--verbose 执行时显示详细的信息。 -V或--version 显示版本信息。 --help 显示帮助。 解决方法:make module_install之前你是否关闭了selinux, 该问题是selinux阻止写/lib/modules/ version> 目录 2、若重启系统后显示: Warning--SElinux relabel is required Disabling security enforcement Relabeling could take a very long time depending on file system size 可以更改grub.conf 将selinux=0添加到如下位置 kernel /vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ selinux=0 rhgb quiet 或者更改/etc/selinux/config,将SELINUX=Disabled,存盘就可以把 selinux 关闭了 3、修改selinux 在新版本中的Red Hat 和 Fedora 上,修改档案/etc/sysconfig/selinux: # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - SELinux is fully disabled. SELINUX=enforcing # SELINUXTYPE= type of policy in use. Possible values are: # targeted - Only targeted network daemons are protected. # strict - Full SELinux protection. SELINUXTYPE=targeted 把 SELINUX设定为disable, 下次启动系统后将会停止SElinux. Linux核心参数(Kernel Parameter) 或者可以在核心参数后加上: selinux=0 (停止) 或 selinux=1 (开启)参数 档案/boot/grub/menu.lst title Fedora Core (2.6.18-1.2798.fc6) root (hd0,0) kernel /vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet selinux=0 initrd /initrd-2.6.18-1.2798.fc6.img 检查SELinux现时况态 要知到你现在是否使用 SELinux: # getenforce disabled 4、重启后若出现Kernel panic:VFS: Unable to mount root fs on unknown-block(0,0) 从错误信息上看,是没有识别到硬盘。看来,我机器上的SATA硬盘必须在内核中做相应的配置才能识别。 仔细阅读了内核配置时的帮助信息,得知内核支持两种SATA驱动程序:一种是libata,在SCSI子系统中,支持最新的SATA控制器;还有一种是 IDE驱动程序中的SATA,主要是支持第一代的SATA控制器。我的机器应该是比较新的,所以先按libata的方式来配置试试。 先看看我的SATA控制器是什么类型的?运行lspci,输出如下: 00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Con troller (rev 01) 就是SATA控制器的类型。 解决方法:在make menuconfig中设置以下选项: Device Driver |---->SCSI device support |---->SCSI disk support |----->verbose SCSI error reporting (不是必须的,但可方便问题定位) |----->SCSI low-level drivers |---->Serial ATA (SATA) support |---->intel PIIX/ICH SATA support *> RAM disk support 在 device drivers -> Block devices中 *> Initial RAM disk (initrd) support 在 device drivers -> Block devices中 *> Compressed ROM file system support (cramfs) 在file systems -> Miscellaneous filesystems中 5、若重启之后出现网卡不识别,无法激活,出现via-rhine device eth0 does not seem to be present, delaying initialization 缺少VIA 驱动 运行 make menuconfig 在Networking support-->Networking device support --> Ethernet (10 or 100Mbit) 里找到 M>"VIA Rhine RevB support" 6、若重启后显示如下: reading all physical volumns, this may take a while… no volumns group found! unable to find volumns group "VolGroup00" ERROR: /bin/lvm exited abnormal with value 5 (pid 335) error 6 mounting ext3 ERROR OPENING /dev/console!!:2 error dup2ing fd of 0 to 0 error dup2ing fd of 1 to 1 error duping fd of 2 to 2 switchroot:mount failed:22 kernel panic - no syncing: attempted to kill init! 运行make menuconfig时在 device drivers ->[*] Multiple devices driver support (RAID and LVM) 如果有以下选项,也应该启用它们:*> Logical volume manager (LVM) support