您好,欢迎来到思海网络,我们将竭诚为您提供优质的服务! 诚征网络推广 | 网站备案 | 帮助中心 | 软件下载 | 购买流程 | 付款方式 | 联系我们 [ 会员登录/注册 ]
促销推广
客服中心
业务咨询
有事点击这里…  531199185
有事点击这里…  61352289
点击这里给我发消息  81721488
有事点击这里…  376585780
有事点击这里…  872642803
有事点击这里…  459248018
有事点击这里…  61352288
有事点击这里…  380791050
技术支持
有事点击这里…  714236853
有事点击这里…  719304487
有事点击这里…  1208894568
有事点击这里…  61352289
在线客服
有事点击这里…  531199185
有事点击这里…  61352288
有事点击这里…  983054746
有事点击这里…  893984210
当前位置:首页 >> 技术文章 >> 文章浏览
技术文章

Linux内核编译常常出现的问题的解决办法

添加时间:2015-12-24 3:01:47  添加: 思海网络 

Linux内核编译常常出现的问题的解决办法


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 

关键字:Linux、内核、驱动程序
分享到:

顶部 】 【 关闭
版权所有:佛山思海电脑网络有限公司 ©1998-2024 All Rights Reserved.
联系电话:(0757)22630313、22633833
中华人民共和国增值电信业务经营许可证: 粤B1.B2-20030321 备案号:粤B2-20030321-1
网站公安备案编号:44060602000007 交互式栏目专项备案编号:200303DD003  
察察 工商 网安 举报有奖  警警  手机打开网站