LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: xwos

启动挂起:No init found

[复制链接]
发表于 2004-2-6 23:29:32 | 显示全部楼层
我觉得不是init脚本自身的问题,内核的main function中,当加载完所有的内核选项后,最后一步就是到一些指定的目录下寻找init,当这一步完成后,内核的工作基本结束,交由init来管理不同的进程,只有当在指定的目录里面无法找到init的时候,才会出现init no found的panic,而且,寻找的目标不单单是init,还包括了基本的sh(用来修复系统).所以感觉各位的分区和mount是否没有弄好,还有就是是否RH将init放在了不同的地方(不太可能吧?).各位还可以实验用single user的模式进入一下,看看kernel是否可以找到sh!这个和kernel的关系很大,如果GRUB或LILO的配置是正确的,还出现这个问题的话,建议大家去kernel专区讨论,那里高手回比较多.
发表于 2004-2-7 08:18:32 | 显示全部楼层
这里要修正一下。
lfs按文档是使用sysvinit的(我的也是),当然也可用bsd风格的init;
redhat所有版本都使用混合的init脚本,也就是sysv+bsd。
lfs的启动脚本是针对基本的linux系统由sysvinit略加改造过来的,基本上很纯净;而fedora开发者对其启动脚本作了很多优化,所以只能适应其自带的内核2.4+nptl。


哦,这一点,我倒是不知道。
如果按你说的意思,那为什么我的2.6.的内核一直可以很好的运行呢?
我相信在red hat下运行 2.6的内核的人也不在少数。最起码我的所有的服务器上都是使用2.6的。
另外对于楼上的red hat使用混合模式的看法,不敢苟同,lfs我没有装过,不知道。但是red hat我敢肯定不是。
发表于 2004-2-7 08:21:06 | 显示全部楼层
lfs的启动脚本是针对基本的linux系统由sysvinit略加改造过来的,基本上很纯净


这一个观点有点理解不了。
发表于 2004-2-7 08:21:57 | 显示全部楼层
粗略的看了一下lfs的文档。但还是不敢肯定它是使用的sysv的启动方式。
发表于 2004-2-7 08:22:42 | 显示全部楼层
我把正常系统下的整个/etc目录替代现有的/etc目录,然后修改了一下fstab
文件,/boot目录我就是用的正常系统的/boot当然我有把新内核放进去,里面
也包含了新内核的initrd,还是同样的问题!然后我用正常系统的内核替换现有
内核问题还是存在!
请大哥们帮忙分析看看!谢谢!


init在/sbin目录里。
发表于 2004-2-7 08:37:11 | 显示全部楼层
我刚才做了试验。
直接将自己系统的/sbin/目录里的init, initlog这两个文件改名另存,直接按电源直接重启,没有出现上面的故障,而是内核直接将文件系统挂上,然后显示一个缺省的sh作为单用户登录。但是文件系统全部挂为只读,通过将救急盘组,将原来的两个文件改回来后,仍然可以正常启动,

这排除了是init, initlog这两个文件损坏的可能。

我正准备将inittab这个文件改名。然后重试。
发表于 2004-2-7 08:50:41 | 显示全部楼层
排除inittab文件丢失的问题。

另外我发现

VFS: Mounted root (ext2 filesystem) readonly
Freeing unused kernel memory: 220k freed
kernel panic: No init found,Try passing init= option kernel

这个地方不是太正常。
我观察了一下VFS: Mounted root (ext2 filesystem) readonly
这里应该是ext3文件系统正常挂载才对。

是否表示文件系统没有挂载?

造成这个原因我看了一下可能有两种情况:
第一就是文件系统损坏。不能被挂,或者是被死锁。这一点和我的情况很相似。我是突然断电所造成的。
第二就是编译内核时编译选项有错,没有将相应的文件系统支持编译进内核,ext2, ext3这两种文件都需要选用。还有/proc文件系统也是否编译进去呢?

我之所以怀疑是由于文件系统死锁的问题造成的。因为我在使用修复盘修复时,找不到我的fedora安装。手动挂载,出现错误。
发表于 2004-2-7 08:57:01 | 显示全部楼层
排除是启动脚本的启动方式是sysv还是bsd方式的影响。
因为我自己用的就是Fedora 1 + 2.6.2的内核。
下面是我的uname -r的输出:

[ghw@ghw ghw]$ uname -a
Linux ghw.khsun.com 2.6.2 #1 Fri Feb 6 18:58:51 CST 2004 i686 i686 i386 GNU/Linux
发表于 2004-2-7 09:52:47 | 显示全部楼层
启动脚本本身一定不会引起这个错误的!内核只有在/bin, /sbin, /etc里面找不到init,以及不能在/bin里面找到sh才会显示init no found,一定是你们的文件系统有问题!导致在所有的挂载分区里面都无法读取才引起的......
发表于 2004-2-7 10:22:05 | 显示全部楼层
嗯,我现在也怀疑是否是文件系统的问题,
同样,对于有位兄弟说用其他的内核就可以是否可以怀疑为内核编译时没有编译相应的内核模块造成文件系统不能挂载?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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