LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3402|回复: 15

【2.6内核启动报错】Kernel panic - not syncing: VFS: Unable to mount root fs on

[复制链接]
发表于 2006-9-19 15:40:12 | 显示全部楼层 |阅读模式
硬件平台:SunFire v100 sparc64(IDE硬盘)
系统版本:etch_di_beta3

我没改默认的内核配置,直接把系统安装后自动生成的/boot/config-2.6.16-2-sparc64文件用相同的内核做的编译,我对debian还不太了解,编译过程就是:
make-kpkg clean
fakeroot make-kpkg --revision=custom.1.0 kernel_image
dpkg -i kernel-image-2.6.16*********.deb
mkinitrd -o /boot/initrd.img-2.6.16-2 2.6.16-2

之后修改了lilo再启动的时候就出这个错误:
VFS: Cannot open root device "hdc2" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
<0>ress Stop-A (L1-A) to return to the boot prom

我的分区是这样的:
Shallot:/boot# fdisk -l
Disk /dev/hdc (Sun disk label): 16 heads, 255 sectors, 19156 cylinders
Units = cylinders of 4080 * 512 bytes

   Device Flag    Start       End    Blocks   Id  System
/dev/hdc1             0        48     97920    1  Boot
/dev/hdc2            48     14409  29296440   83  Linux native
/dev/hdc3         14409     14888    977160   82  Linux swap
/dev/hdc4         14888     19156   8706720   83  Linux native

Shallot:/boot# cat /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/hdc2       /               reiserfs defaults        0       1
/dev/hdc1       /boot           ext2    defaults        0       2
/dev/hdc4       /home           ext3    defaults        0       2
/dev/hdc3       none            swap    sw              0       0
/dev/hdd        /media/cdrom0   udf,iso9660 user,noauto     0       0

一般来说应该是我没有把reiserfs编译进内核,但默认安装以后的系统就是把reiserfs当成了内核模块:
Shallot:/boot# lsmod
Module                  Size  Used by
tulip                  54472  0
ipv6                  278792  12
ext3                  147728  1
jbd                    57704  1 ext3
dm_mod                 57296  0
reiserfs              315840  1
ide_disk               17216  5
ohci_hcd               19716  0
alim15x3               13280  0 [permanent]
generic                 5828  0 [permanent]
Shallot:/boot#

后来我再次编译内核,把ext2,ext3,reiserfs的所有项都编译进内核,结果错误仍然存在。在google上找了很多但都和我的情况不一样。
本人对linux内核不甚了解,希望高手指点一下,谢谢!
发表于 2006-9-19 17:26:56 | 显示全部楼层
用mkinitramfs或者yaird试试,别用mkinitrd.
回复 支持 反对

使用道具 举报

发表于 2006-9-19 17:43:09 | 显示全部楼层
我今天升级内核后,用新内核启动也出现这样的问题!
资料上讲: 原因:ext2文件格式支持没有编译进内核,不论你使用ext3或其它文件格式,ext2支持都必须直接编译进内核,不能以内核模块形式编译。
我是刚学linux的,请哪位大佬给个详细的解决方法,先谢谢了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-19 18:07:05 | 显示全部楼层
Post by easenet
我今天升级内核后,用新内核启动也出现这样的问题!
资料上讲: 原因:ext2文件格式支持没有编译进内核,不论你使用ext3或其它文件格式,ext2支持都必须直接编译进内核,不能以内核模块形式编译。
我是刚学linux的,请哪位大佬给个详细的解决方法,先谢谢了。

ext2已经编译进内核了,不是这个问题
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-19 18:09:18 | 显示全部楼层
Post by alaxie
用mkinitramfs或者yaird试试,别用mkinitrd.

感谢alaxie!
mkinitramfs我试了问题仍然存在。正在找yaird的资料,以前在gentoo下编译内核没觉得这么麻烦啊。。。yaird的资料好像不是很好找的样子,先试试再说把
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-19 21:51:30 | 显示全部楼层
我刚试了一次不用debian这办法编译,用最传统的方式编译内核,结果还是一样的错误,我已经把ext2,ext3,reiserfs都直接编译进内核了。太郁闷了,折腾好几天了

请高人帮忙啊~~~~谢谢!!!
回复 支持 反对

使用道具 举报

发表于 2006-9-19 22:46:51 | 显示全部楼层
应该不用显示调用mkinitramfs。把make-kpkg那句改为:
fakeroot make-kpkg --revision=custom.1.0 --initrd kernel_image
应该就行。不妨一试。
回复 支持 反对

使用道具 举报

发表于 2006-9-20 14:10:18 | 显示全部楼层
这个问题我都找了好长时间了,试验了好长时间了,但至今没有解决~

我基本都选上了,还是VFS的kernel panic~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-20 14:39:21 | 显示全部楼层
Post by manphiz
应该不用显示调用mkinitramfs。把make-kpkg那句改为:
fakeroot make-kpkg --revision=custom.1.0 --initrd kernel_image
应该就行。不妨一试。

正解!
谢谢!太感谢了,也感谢所有朋友的帮助。
我还想问问,为什么我用传统方式编译的内核就不能用在debian上呢,难道debian必须要用initrd才能启动?
回复 支持 反对

使用道具 举报

发表于 2006-9-20 19:05:25 | 显示全部楼层
非也,initrd 并不是必需的
回复 支持 反对

使用道具 举报

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

本版积分规则

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