LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: updavy

kernel panic 是否只是编译内核不当引起的错误?

[复制链接]
发表于 2008-4-3 22:55:44 | 显示全部楼层
楼主的问题,似乎是因为 硬盘控制器 没编入进内核。当然,如果你用 initrd的话,那就是没驱动起来。在 libata 部分的,你配置内核的时候用 / 搜索就可以搜搜到叻
回复 支持 反对

使用道具 举报

发表于 2008-4-3 22:57:31 | 显示全部楼层
Post by updavy;1834520
但是却出现了下面的错误

INIT:  version 2.86 booting
Mounting kernel-based file systems: /proc/sys      [OK]
Creating /dev intmpfs....                                            [OK]
Copying static entries....                                            [OK]
Setting Permissons on /dev/shm.....                        [OK]
Starting udevd......                                            
udevd[846]: init_udevd_socket: error getting socket: Address family not supported by protocol
udevd[846]: main: error initializing udevd socket: Illegal seek     [FAIL]

Performing Coldplugging....                           好长时间后 [OK]
Mounting file systems....
/dev/hdb2:
The superblock could not be read or does not describe a correct ext2 filesystem If the device is valid and it really contains an ext2 filesystem (and not swap or ufs or someting else), then the superblock is corrupt, an you might try running e2fsck with an alternalte superblock:
          e2fsck -b 8139 <device>
                                                                                             [FAIL]


第一个,似乎是你没加入 socket支持。
第二个,也许是你不是用 ext2/3 的,但是你的 fstab没写好。
回复 支持 反对

使用道具 举报

发表于 2008-4-4 00:00:29 | 显示全部楼层
Post by updavy;1834518
我将我host机器上的 vmlinuz initrd 这个两个文件拷进target系统中
系统可以启动并能正常运行

-----这样就可以排除前面有位兄弟所说的文件系统错误吧

然后我就在target (运行的是host的内核)系统下直接编译内核,又经过了相当长时间的menuconfig
我怕再出现kernel panic 所以内核编译device drvier 下面的 ata/atapi/pfm/rll 分项下面的都尽量编译到内核

结果没有kernel panic的错误了.....
VFS:Mounted root (ext3 filesystem) readonly


给你个懒人解决方案:
使用原host系统的vmlinuz引导target系统,注意仅仅是vmlinuz,不要initrd.img,不要modules。
如果能正常启动到登录界面,恭喜
  1. cd your_linux_source_tree_dir/
  2. cp /your_hostsystem_rootdir/boot/config* .config
  3. make oldconfig
  4. 然后编译安装内核和模块
复制代码

如果不能正常启动到登录界面
  1. cd your_linux_source_tree_dir/
  2. make defconfig
  3. make menuconfig #仅添加你需要的
  4. 然后编译安装内核和模块
复制代码
回复 支持 反对

使用道具 举报

发表于 2008-4-4 00:07:27 | 显示全部楼层
Post by updavy;1834522
我觉得
udevd[846]: init_udevd_socket: error getting socket: Address family not supported by protocol
udevd[846]: main: error initializing udevd socket: Illegal seek [FAIL]

这个是主要的,哪位兄弟给解释一下阿


如果你是做clfs后第一次boot,有可能是udev交叉编译不正确。用target系统重新编译安装,看看是否还是这样。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-4 13:55:58 | 显示全部楼层
Post by laowang_buaa;1834547
请查看mount的用户和组是否已经设置为root,否则该命令无法正确执行,导致错误!

详细说明请参考:http://linuxman.blog.ccidnet.com ... -itemid-230397.html

关于Kernel panic 的问题,也可以看看http://linuxman.blog.ccidnet.com ... -itemid-226147.html
文件用户已经都改成root了
其中mount
-rwsr-xr-x 1 root root   57028 2008-01-11 22:17 mount

请问mount这个s位怎么解释呢? ?不大理解执行程序时使用所有者id 而不是用户id ms并不是普通用户得到了root权限,还是
回复 支持 反对

使用道具 举报

发表于 2008-4-4 21:52:32 | 显示全部楼层
Post by updavy;1834749
文件用户已经都改成root了
其中mount
-rwsr-xr-x 1 root root   57028 2008-01-11 22:17 mount

请问mount这个s位怎么解释呢? ?不大理解执行程序时使用所有者id 而不是用户id ms并不是普通用户得到了root权限,还是
s位是Set-UID位,意思是执行此命令时使用命令文件所有者的ID,而不是启动此命令执行的用户的ID。
回复 支持 反对

使用道具 举报

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

本版积分规则

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