20 12
发新话题
打印

急!DOM启动问题:unable to open an initial console!

急!DOM启动问题:unable to open an initial console!

我是新手,请各位大虾帮忙!这个问题已经困扰我几天了,现在已经郁闷至极!

我裁减的是RH9.0(2.4.20-8)内核,我将裁减后的内核以及用busybox做出来的压缩(ramdisk)文件系统拷贝到DOM上,然后设置从DOM启动,内核能够启动,但是当启动到文件系统时,提示:"Warning: unable to open an initial console.kernel panic:No init found.Try passing init= option to kernel"
还请个位高手指点!
我制作ramdisk过程以及将内核及相关配置文件拷贝到DOM的步骤如下:
一:制作ramdisk
1)# dd if=/dev/zero of=/dev/ram1 bs=1M count=4
2)# mkfs.ext2 -m0 /dev/ram1
3)#mkdir /mnt/ram
挂上ram1:
#mount /dev/ram1 /mnt/ram
将先前做好的根文件系统拷贝到ram1上.
# cp -R /babylinux/rootfs/* /mnt/ram
4)#umount /dev/ram1
5)# dd if=/dev/ram1 of=/babylinux/ramdisk.img
6)#mount -o loop ramdisk.img /mnt/ram/
7)# umount /mnt/ram
8)#gzip -v9 ramdisk.img
二:内核与DOM整合
1) #mkfs.ext2 -m0 / dev/hda4 1000
2) #mount /dev/hda4 /mnt/dom
3)#cp /boot/vmlinuz-2.4.20-8me /mnt/dom/
4) #cp /boot/boot.b /mnt/dom
5) #cp /boot/map /mnt/dom
配置lilo.conf
prompt
timeout=50
default=linux
boot=/dev/hda
map=/mnt/dom/map
install=/mnt/dom/boot.b
linear

image=/mnt/dom/bzImage
label=linux
read-only
root=/dev/hda4
append="load_ramdisk=1 ramdisk_start=1020"

6)# dd if=/babylinux/ramdisk.img.gz of=/dev/hda4 bs=1k seek=1020
7)# lilo -C lilo.conf(安装引导文件)
8)# umount /dev/hda4
9)# reboot

三:文件系统中fstab配置如下:
fstab
/dev/hda4 / ext2 defaults 0 0
none /proc proc defaults 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0

四:inittab配置:

inittab
::sysinit:/etc/init.d/rcS

::askfirst:/bin/sh
tty2::respawn:/bin/getty 38400 tty2
tty3::respawn:/bin/getty 38400 tty3
tty4::respawn:/bin/getty 38400 tty4

# Stuff to do when restarting the init process
::restart:/bin/init

# Stuff to do before rebooting
::ctrlaltdel:/bin/reboot
::shutdown:/bin/umount -a -r
::shutdown:/bin/swapoff -a


还有我在配置新内核选项时选中了Virtual terminal和Support for console on terminal选项。
在新的文件系统下也创建了/dev/console设备。
请教各位,是不是我的上述文件配置的不对,还是其它原因?      

TOP

一般情况下是不存在hda4的,hda4只是一个扩展分区      

TOP

非常感谢你的回复。
/dev/hda4:是在fdisk /dev/hda 后建立的primary分区!
可能是分区的原因吗,请指点!      

TOP

你有指明使用initrd么      

TOP

[QUOTE=mylemontree]非常感谢你的回复。
/dev/hda4:是在fdisk /dev/hda 后建立的primary分区!
可能是分区的原因吗,请指点![/QUOTE]
如果只有主分区当然没问题       

TOP

[QUOTE=魔芋]你有指明使用initrd么[/QUOTE]
真的是非常感谢你的回复!
还请教魔芋,这里的initrd该怎么写?      

TOP

最好把ramdisk 挂载为你的根分区,
/dev/hda4 / ext2 defaults 0 0
改为
/dev/ram1 / ext2 defaults 0 0

我碰到过这种事。。。。      

TOP

[QUOTE=chunyv]最好把ramdisk 挂载为你的根分区,
/dev/hda4 / ext2 defaults 0 0
改为
/dev/ram1 / ext2 defaults 0 0

我碰到过这种事。。。。[/QUOTE]
非常感谢你,我试试看!      

TOP

应该是你的libc版本和busybox不兼容,建议你用静态库编译busybox。
顺便告知一下你的busybox版本。      

TOP

[QUOTE=xbzjackey]应该是你的libc版本和busybox不兼容,建议你用静态库编译busybox。
顺便告知一下你的busybox版本。[/QUOTE]
非常感谢你的答复!
我用的是busybox-1.00.我是用静态库编译busybox的。请教大虾,如何确定libc版本和busybox版本是否兼容?
并且前面chunyv告知我的方法我也尝试了,但是还是同样的错误!      

TOP

 20 12
发新话题