QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: Ares_lp

linux2.6.4编译通不过

[复制链接]
发表于 2004-3-14 03:59:47 | 显示全部楼层
[quote:69d2c21661="zhdodo"]我加载2.6.4内核的时候出现
EXT2-fs warning (device hda7):ext2_fill_super:mounting ext3 filesystem as ext2
VFS:Mounted root (ext2 filesystem)readonly
Freeing unused kernel memory:172K freed
Warning:unable to open an initial console.
Kernel panic:no init found,try passing init= option to kernel.
这是那儿出的问题?
怎么解决呢?[/quote]
Grub没配置好,尤其是那句kernel的参数root=/dev/hdaX
注意X的值
另外
initrd命令最好也检查一下,因为它有可能关系到你的硬盘能不能被驱动
回复

使用道具 举报

发表于 2004-3-14 09:33:34 | 显示全部楼层
grub.conf我已经修改过了,没有问题.
这是我的grub.conf:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,6)
#          kernel /vmlinuz-version ro root=/dev/hda9
#          initrd /initrd-version.img
#boot=/dev/hda
default=1
timeout=10
splashimage=(hd0,6)/grub/splash.xpm.gz
title Red Hat Linux (2.6.4)
        root (hd0,6)
        kernel /vmlinuz-2.6.4 ro root=/dev/hda7
        initrd /initrd-2.6.4.img
title Red Hat Linux (2.4.20-8bigmem)
        root (hd0,6)
        kernel /vmlinuz-2.4.20-8bigmem ro root=LABEL=/
        initrd /initrd-2.4.20-8bigmem.img
title Red Hat Linux-smp (2.4.20-8smp)
        root (hd0,6)
        kernel /vmlinuz-2.4.20-8smp ro root=LABEL=/
        initrd /initrd-2.4.20-8smp.img
title Red Hat Linux-up (2.4.20-
        root (hd0,6)
#       kernel /vmlinuz-2.4.20-8 ro root=LABEL=/
        kernel /bzImage ro root=LABEL=/
        initrd /initrd-2.4.20-8.img
title win2000
        rootnoverify (hd0,0)
        chainloader +1

initrd命令怎么检查?这个是否应该在编译内核的时候选择有问题,比如ram disk的支持?我在编译的时候在硬件驱动里面已经选择了ram disk support,在File system里面选择了Rom  file system support.还缺少什么吗?还有一个现象就是我注释掉了initrd那句,然后再启动,仍然是上面的那个错误.
回复

使用道具 举报

发表于 2004-3-16 09:32:10 | 显示全部楼层
kernel /vmlinuz-2.6.4 ro root=/dev/hda7

这一句应该不是hda7,我看你的hda7分区是boot挂载的
你换成hda8,或者hda9看看,也许就是hda9
回复

使用道具 举报

发表于 2004-3-16 10:19:33 | 显示全部楼层
我修改为/dev/hda9,但是问题依旧.
hda7是boot区,hda8是swap,hda9是根分区.
如果内核没有加载到,好像不应该这个错误.
进程应该已经到了加载文件系统吧?
也就是说内核已经装载完毕了.
这样理解对否?
回复

使用道具 举报

发表于 2004-3-16 23:06:05 | 显示全部楼层
你把内核源代码目录里的System.map复制一份到/boot目录
配置grub.conf如下
title Red Hat Linux (2.6.4)
root (hd0,6)
kernel /vmlinuz-2.6.4 ro root=/dev/hda9
initrd /System.map
重启看看
注意vmlinuz-2.6.4是你编译的2.6.4内核
回复

使用道具 举报

发表于 2004-3-17 11:30:13 | 显示全部楼层
我通过这样的方式,系统竟然起来了!
看来还是initrd的问题,你给我的配置文件我还没有用呢,
只是用我原来的那些配置。
我编译内核的时候,已经选上了initrd的支持,怎么还会出问题呢?
回复

使用道具 举报

发表于 2004-3-17 20:53:07 | 显示全部楼层
具体的内部细节我也不太清楚,呵呵,问问其他高人吧
回复

使用道具 举报

发表于 2004-3-17 21:37:23 | 显示全部楼层
实在是太感谢了,解决了我的一个大问题。
要不然,我老是以为我编译内核出问题了。
回复

使用道具 举报

发表于 2004-3-19 09:47:31 | 显示全部楼层

请教~~

[quote="SKyPP"][quote:227605f004="Ares_lp"]谢谢
但我是这样做的啊,先执行
make mrproper
make menuconfig

make bzImage
然后就报出上面那个错误了[/quote]
不好意思,我有点误解了
不过我刚刚编译了我的2.6.4,通过了,现在就在使用
[root@TurboLinux root]# uname -a
Linux TurboLinux 2.6.4 #1 SMP Fri Mar 12 00:34:12 CST 2004 i686 unknown

请教: 您在升级2.6.4之前升级过其他的软件么?我在RH9下编译,先升级了Module-init-tools-3.0,然后编译内核:
make mrproper
make menuconfig
make
make install.
却出现了如下的错误:
depmod: cannot read ELF header from /lib/modules/2.6.4/modules.alias
depmod: /lib/modules/2.6.4/modules.ccwmap is not an ELF file
.....
您可以给点建议么?How can i do??
回复

使用道具 举报

发表于 2004-3-19 11:49:46 | 显示全部楼层
你没有make modules_install
除非你的内核没有选模块的支持
回复

使用道具 举报

发表于 2004-3-19 22:01:15 | 显示全部楼层

Re: 请教~~

[quote:df01bd2530="srkl"][quote:df01bd2530="Ares_lp"]谢谢
但我是这样做的啊,先执行
make mrproper
make menuconfig

make bzImage
然后就报出上面那个错误了[/quote]
不好意思,我有点误解了
不过我刚刚编译了我的2.6.4,通过了,现在就在使用
[root@TurboLinux root]# uname -a
Linux TurboLinux 2.6.4 #1 SMP Fri Mar 12 00:34:12 CST 2004 i686 unknown

请教: 您在升级2.6.4之前升级过其他的软件么?我在RH9下编译,先升级了Module-init-tools-3.0,然后编译内核:
make mrproper
make menuconfig
make
make install.
却出现了如下的错误:
depmod: cannot read ELF header from /lib/modules/2.6.4/modules.alias
depmod: /lib/modules/2.6.4/modules.ccwmap is not an ELF file
.....
您可以给点建议么?How can i do??[/quote]

我用的是turbo linux 10,系统自带内核是2.6.0的,所以我差不多没有升级任何软件
你那错误是make install时出现的吧,
其实没必要这一步
make bzImage之后,就编译好内核了,就是源码目录里的arch/i386/boot/bzImage
另外将源码目录里的System.map当做initrd.img使用,bzImage当做vmlinuz
如果还不清楚,你去看看其他帖子吧,里面有你遇到问题的解决方法
回复

使用道具 举报

发表于 2004-3-19 22:06:48 | 显示全部楼层
另外我很难判断你make install时发生错误的原因,也许make menuconfig时没有选好
make也一步可不必
一般都是这样:
make mrproper
make menuconfig //配置内核
make bzImage    //编译Compressed Kernel
make modules
make modules_install
然后做一下必要的内核启动配置,lilo或者grub之类的
如果还不清楚,make help看一下编译帮助!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-10-4 18:40 , Processed in 0.044885 second(s), 12 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表