2.6.32.2内核编译,系统启动不了(已解决)
时间:2010-01-15
来源:互联网
kernel version:2.6.18-53.el5
[root@vm ~]# fdisk -l
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 917 7365771 83 Linux
/dev/sda2 918 1044 1020127+ 82 Linux swap / Solaris
从网上DOWN了一个2.6.32.2新内核进行编译,步骤如下
make mrproper
make menuconfig
完成后变成.config文件
make
make modules_install
cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.32.2
cp System.map /boot/System.map-2.6.32.2
cd /boot
/sbin/mkinitrd initrd-2.6.32.2.img 2.6.32.2
下面修改grub.conf
如下
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.18-53.el5xen)
root (hd0,0)
kernel /boot/xen.gz-2.6.18-53.el5
module /boot/vmlinuz-2.6.18-53.el5xen ro root=LABEL=/ rhgb quiet
module /boot/initrd-2.6.18-53.el5xen.img
title Red Hat Enterprise Linux Server (2.6.32.2)
root (hd0,0)
kernel /boot/vmlinuz-2.6.32.2 ro root=LABEL=/ rhgb quiet
# module /boot/vmlinuz-2.6.18-53.el5xen ro root=LABEL=/ rhgb quiet
initrd /boot/initrd-2.6.32.2.img
选择2.6.18启动没有问题,选择2.6.32就启动不起来,不知道是grub.conf配置的问题,还是
编译中出了问题(2.6.32的sata驱动应该默认包含了,多默认的配置文件,基本没有动过)
[ 本帖最后由 带脚镣跳舞 于 2010-1-21 12:18 编辑 ]
作者: 带脚镣跳舞 发布时间: 2010-01-15
这两天好像不能上传图片,不行的话把内核配置文件传上来。
源码文件夹下的.config
[ 本帖最后由 Celinde 于 2010-1-15 13:20 编辑 ]
作者: Celinde 发布时间: 2010-01-15

附件为config
错误提示如图
作者: 带脚镣跳舞 发布时间: 2010-01-15
作者: chenyx 发布时间: 2010-01-15
真是郁闷,以前在IDE硬盘接口上,从来就没有出现过编译不通过的问题
作者: 带脚镣跳舞 发布时间: 2010-01-19
作者: wenwen227 发布时间: 2010-01-19
kernel引导结束后,init切换跟分区的时候使用了设备文件/dev/root, 而这个设备文件没有被包含在新生成的initrd文件内,也没有存放在磁盘上.导致切换跟分区失败。
在这个版本的redhat linux上,/dev/root这个设备文件被包含在默认内核的initrd镜像里,而真正的/dev/root是由udev动态生成的。
印象里只要用张liveCD挂载根分区,创建/dev/root设备文件(这样创建的是静态的设备文件)就可以正常引导.
作者: Celinde 发布时间: 2010-01-19
把我走的误区贴出来,共兄弟们参考,免得走冤枉路!
1、编译了sata scsi fs ext3等进去,编译成功,但是无法启动新内核2.6.32
2、查到一篇文章
mount: could not find filesystem '/dev/root'
setuproot: moving /dev/failed: no such file or directory
setuproot: error mounting /proc: No such file or directory.
setuproot: error mounting /sys: No such file or directory.
switchroot: mount failed: No such file or directory.
Kernel panic - not syncing: Attempted to kill init!
===》找不到下面这个东西
用arm-linux-gcc 4.00以上的编译器做出都 文件系统老是报这个错 ,
而用rm-linux-gcc 3.xx 版本都都不会,看来一下内核的配置
原来问题在这里
Kernel Features --->
- Allow old ABI binaries to run with this kernel (EXPERIMENTA)
把这个选上就可以了
但是进行make menuconfig的时候 发现没有kernel Features这项,真是神奇,于是继续搜索
发现如下的文章
举个例子:
#make menuconfig
General setup --->
Loadable module support --->
Block layer --->
Processor type and features --->
Power management options (ACPI, APM) --->
Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->
Executable file formats --->
Networking --->
Device Drivers --->
File systems --->
Instrumentation Support --->
而
#make ARCH=arm menuconfig
Code maturity level options --->
General setup --->
Loadable module support --->
Block layer --->
System Type --->
Bus support --->
Kernel Features --->
Boot options --->
Floating point emulation --->
Userspace binary formats --->
Power management options --->
Networking --->
Device Drivers --->
噼里啪啦捣鼓一通,以为能通过,结果编译没有问题,新内核还是起不来
没有办法,能力受限,想不到原因,看源代码更是看天书,继续搜索,发现如下内容
解决办法如下
编辑内核源码包里面的.config文件.
CONFIG_SYSFS_DEPRECATED_V2=y #默认该选项为not set,被注释掉的.
然后再编译一遍内核就都OK了.
果然启动新内核成功,使用了下http mysql php ssh服务 皆正常,真是爽,这几天没白捣鼓
作者: 带脚镣跳舞 发布时间: 2010-01-21
CONFIG_SYSFS_DEPRECATED_V2=y
内核重启成功,
谢谢LZ
作者: chenyx: 发布时间: 2010-01-25
作者: marksman201 发布时间: 2010-01-25
我的也是这个错误提示,不过还多了一个错误
insmod: error inserting: 'lib/dm-regin-hash.ko' : -1 File exists
而且键盘的“caps”和“scroll”灯闪烁
还应该修改什么地方?
作者: chenyx 发布时间: 2010-02-06


作者: admam_cu 发布时间: 2010-03-12
作者: tsyj2007 发布时间: 2010-03-14
作者: li32768 发布时间: 2010-03-14
学习了
作者: li32768 发布时间: 2010-11-19
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28