LinuxSir.cn,穿越时空的Linuxsir!

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

求解内核配置的一个小问题

[复制链接]
 楼主| 发表于 2011-6-26 22:28:53 | 显示全部楼层
刚才直接在电脑上安装了一遍
  1. /dev/sda8        /boot        ext3
  2. /dev/sda9        swap
  3. /dev/sda10         /        ext4
  4. grub.conf
  5. root (hd0,7)
  6. kernel /boot/kernel root=/dev/sda10
  7. grub> root (hd0,7)
  8. grub> setup (hd0)
复制代码

错误信息换回以前的格式问题了
No filesystem could mount root,tried:ext3 vfat msdos iso9660 fuseblk
kernel panic - not syncing:VFS:Unable to mount root fs on unknow-block(8,10)

不能挂载分区,不识别 sda10
快把我整疯啦....
回复 支持 反对

使用道具 举报

发表于 2011-6-27 00:22:31 | 显示全部楼层
Post by cnfczn;2143420
刚才直接在电脑上安装了一遍
  1. /dev/sda8        /boot        ext3
  2. /dev/sda9        swap
  3. /dev/sda10         /        ext4
  4. grub.conf
  5. root (hd0,7)
  6. kernel /boot/kernel root=/dev/sda10
  7. grub> root (hd0,7)
  8. grub> setup (hd0)
复制代码

错误信息换回以前的格式问题了
No filesystem could mount root,tried:ext3 vfat msdos iso9660 fuseblk
kernel panic - not syncing:VFS:Unable to mount root fs on unknow-block(8,10)

不能挂载分区,不识别 sda10
快把我整疯啦....

呵呵,你把/boot从ext2改成了ext3,这没问题,可是你同时也把"/"改成ext4了,据我的经验,gentoo-sources默认没有选中ext4支持。所以,你只能再编译一遍内核了。其他的不用改,你的grub也没问题。

这次不用完全重装,用livecd启动然后mount /dev/sda10 /mnt/gentoo, mount /dev/sda8 /mnt/gentoo/boot, 再chroot, 编译完内核覆盖掉旧的,退出chroot并卸载分区然后重启就ok了。
回复 支持 反对

使用道具 举报

发表于 2011-6-27 11:41:20 | 显示全部楼层

  1. /dev/sda8        /boot        ext3
  2. /dev/sda9        swap
  3. /dev/sda10         /        ext3

  4. grub.conf
  5. root (hd0,7)
  6. kernel /boot/kernel real_root=/dev/sda10

  7. grub> root (hd0,7)
  8. grub> setup (hd0)

复制代码


然后就应该没问题了。你的问题在于内核只编译了ext3的支持。而你的root用的是ext4

其实正常启动最基本的是硬件控制器的驱动和文件系统,这两个编译进内核就ok了,其实就是:

  1.         <*> Serial ATA and Parallel ATA drivers  --->
  2.                 <*>   AHCI SATA support 默认选中,没修改

  3.         <*> Ext3 journalling file system support
复制代码

文件系统这里你用的什么就把什么编进内核,SATA的话Intel芯片组的基本都是这个。
initramfs不是必须的,我就没用它。
回复 支持 反对

使用道具 举报

发表于 2011-6-27 11:44:02 | 显示全部楼层
其实只是内核不对的话不用重来的,只要按楼上的兄弟说的,livecd启动,mount bond那步开始,到chroot、env-update之后就可以重编内核了,如此反复,知道搞定为止。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-6-27 13:47:01 | 显示全部楼层
感谢大家帮忙,,,问题解决了.
按照gentlog和ziyouwaYJ的指导,在内核里添加了ext4支持
  1. File systems  --->
  2.         <*> The Extended 4 (ext4) filesystem
  3.         [*] Use ext4 for ext2/ext3 file systems (NEW)
  4.         [*] Ext4 extended attributes (NEW)
  5.         [*] Ext4 POSIX Access Control Lists (NEW)
  6.         [*] Ext4 Security Labels (NEW)
复制代码

启动后,提示
EXT3-fs(sda10):error:couldn't mount because of unsupported optional features(240)

mounted filesystem with ordered data mode.Opts(null)
VFS:Mounted root (ext2 filesystem) readonly on device 8:10

第一个错误,,直接在grub.conf文件里添加了rootfstype=ext4就解决了.

后边的俩个错误提示.还是修改的内核配置
  1. Device Drivers-->
  2. (/sbin/hotplug) path to uevent helper  
  3. [*] Maintain a devtmpfs filesystem to mount at /dev
  4. [*] Automount devtmpfs at /dev,after the kernel mounted the rootfs
  5. [*] Select only drivers that don't need compile-time external firmware
  6. [*] Prevent firware from being built
  7. -*- Userspace firmware loading support
  8. 下边几个选项默认没动
复制代码
再重新编译,,,这回终于正常启动系统了...

感谢大家的大力支持...
回复 支持 反对

使用道具 举报

发表于 2011-6-27 19:50:40 | 显示全部楼层
File systems  --->
       
  • Use ext4 for ext2/ext3 file systems (NEW)

    这个选项是个实验特性,我觉得没有必要加上(or If you know what you are doing)。我用2.6.38-r4内核好象还没有这个选项。
    如果你不选上这个,估计没有你上个帖子说的这些问题。
  • 回复 支持 反对

    使用道具 举报

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

    本版积分规则

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