LinuxSir.cn,穿越时空的Linuxsir!

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

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

[复制链接]
发表于 2011-6-26 16:34:56 | 显示全部楼层 |阅读模式
最近刚接触gentoo,配置内核实在是费了不少劲.可是仍然存在问题,下面是我的配置过程.希望大家帮忙指正下错误的地方.

我是在windows优化大师下看的硬件信息.
如下:

  1. 主板 BIOSTAR Group TP43D2-A7
  2. 芯片组 Intel P43/P45/G43/G45 DRAM Controller
  3. 主硬盘 ST31000340AS (SATA接口)
  4. 显示卡 NVIDIA GeForce 9600 GT
  5. 网络适配器 Realtek RTL8168C(P)/8111C(P) PCI-E Gigabit Ethernet NIC
  6. 音频设备 Realtek HD Audio output(Intel 82801JI(ICH10) HD Audio Controller)
  7. 处理器 Intel Core(TM)2 Duo Processor
  8. 主板 BIOSTAR Group TP43D2-A7
复制代码


直接用livecd mount ntfs分区,发现都是readonly 没办法用nano写入lspci的结果.

http://www.gentoo.org/doc/zh_cn/kernel-config.xml         内核配置指南
http://www.linuxsir.cn/bbs/thread354509.html                置顶帖 gentoo-sources内核.config文件配置服务
下边是以2.6.38-r6内核修改的配置,参考了上边两个链接的内容..


  1. General setup  --->
  2.         <*> Kernel .config support
  3.         [*]   Enable access to .config through /proc/config.gz

  4. Processor type and features  --->
  5.         Processor family (Core 2/newer Xeon)

  6. Power management and ACPI options  --->
  7.         CPU Frequency scaling  --->
  8.                 [ ]   Enable CPUfreq debugging
  9.                 <*>   CPU frequency translation statistics
  10.                   [*]     CPU frequency translation statistics details
  11.                       Default CPUFreq governor (ondemand)  --->
  12.                 <*>   'performance' governor
  13.                 <*>   'powersave' governor
  14.                 -*-   'userspace' governor for userspace frequency scaling
  15.                 <*>   'ondemand' cpufreq policy governor
  16.                 <*>   'conservative' cpufreq governor

  17. Networking support  --->
  18.         Networking options  --->
  19.                 <*> 802.1d Ethernet Bridging
  20.                 <*> 802.1Q VLAN Support
  21.                 [*] Network packet filtering framework (Netfilter)  --->
  22.                 [*]   Advanced netfilter configuration
  23.                 Core Netfilter Configuration  ---> 全选
  24.                 IP: Netfilter Configuration  ---> 全选

  25. Device Drivers  --->
  26.         SCSI device support  --->
  27.                 <*> SCSI device support 默认选中,没修改
  28.                 <*>   SCSI disk support 默认选中,没修改
  29.                 <*>   SCSI CDROM support 默认选中,没修改
  30.                
  31.                 由于不是IDE硬盘,所以没选 SCSI low-level drivers --->               
  32.                 有关USB设备支持的三个HCD支持,默认也都选中了

  33.         < > ATA/ATAPI/MFM/RLL support  ---> 默认就没选,所以没修改
  34.         <*> Serial ATA and Parallel ATA drivers  --->
  35.                 <*>   AHCI SATA support 默认选中,没修改
  36.                 <*>     NVIDIA SATA support
  37.                 <*>     AMD/NVidia PATA support 默认选中,没修改
  38.         <*> Sound card support  --->
  39.                 <*>   Advanced Linux Sound Architecture  --->
  40.                         [*]   PCI sound devices  --->
  41.                                 <*>   Intel HD Audio  --->
  42.                                         [*]   Build 几种芯片的支持默认都选中了,没修改
  43.                                                 ...
  44.                                         [*]   Enable generic HD-audio codec parser  默认选中,没修改
  45.                                         [*]   Aggressive power-saving on HD-audio

  46. File systems  --->
  47.         <*> FUSE (Filesystem in Userspace) support
  48.             DOS/FAT/NT Filesystems  --->
  49.                 (936) Default codepage for FAT
  50.                 (utf8) Default iocharset for FAT
  51.                 <*>   NTFS file system support
  52.                 [*]   NTFS debugging support
  53.                 [*]   NTFS write support
  54.              -*- Native language support  --->
  55.                 <*>   Simplified Chinese charset (CP936, GB2312)

  56. -*- Cryptographic API  --->
  57.            <*>   CRC32c CRC algorithm
  58.            <*>   CRC32c INTEL hardware acceleration
  59.              <*>   SHA224 and SHA256 digest algorithm
  60.            <*>   SHA384 and SHA512 digest algorithms
  61.            < >   AES cipher algorithms (x86_64)  没找到这个选项
  62.            <*>   AES cipher algorithms (AES-NI)
  63.            <*>   Zlib compression algorithm
  64.            <*>   LZO compression algorithm
  65. Bus options (PCI, PCMCIA, EISA, MCA, ISA)  --->
  66.              <*> i82365 compatible bridge support (NEW)
  67.            <*> Cirrus PD6729 compatible bridge support (NEW)

复制代码


上面的配置差不多按是按照置顶帖的内容配置的,内核配置指南里提到的选项都是默认选中的.


可最后启动系统的时候还是提示文件系统不识别.
如下

  1. no filesystem could mount root,tried: ext3 vfat msdos iso9660 ntfs fuseblk
  2. kernel panic - not syscing:VFS: Unable to mount root fs on unknown-block(1,0)
复制代码

也可以看下图

搜索有关no filesystem could mount root错误的文章,说是缺少ext3格式的支持 filesystem中已经加上了ext3的选项.

fdisk -l


  1. Disk /dev/sda: 16.1 GB, 16106127360 bytes
  2. 255 heads, 63 sectors/track, 1958 cylinders, total 31457280 sectors
  3. Units = sectors of 1 * 512 = 512 bytes
  4. Sector size (logical/physical): 512 bytes / 512 bytes
  5. I/O size (minimum/optimal): 512 bytes / 512 bytes
  6. Disk identifier: 0x02daba85

  7.    Device Boot      Start         End      Blocks   Id  System
  8. /dev/sda1            2048     2099199     1048576   83  Linux
  9. /dev/sda2         2099200     6293503     2097152   82  Linux swap / Solaris
  10. /dev/sda3         6293504    31457279    12581888   83  Linux

复制代码


fstab

  1. /dev/sda1               /boot           ext2            noauto,noatime  1 2
  2. /dev/sda3               /               ext3            noatime         0 1
  3. /dev/sda2               none            swap            sw              0 0
  4. /dev/cdrom              /mnt/cdrom      auto            noauto,ro       0 0
  5. /dev/fd0                /mnt/floppy     auto            noauto          0 0
复制代码


grub.conf

  1. default 0
  2. timeout 30

  3. title Gentoo Linux
  4. root (hd0,0)
  5. kernel /boot/kernel root=/dev/ram0 real_root=/dev/sda3
复制代码


以前用genkernel配置成功做,不过现在连genkernel都不能用了,
每次用genkernel 编译都是生成 system.map文件和kernel文件.缺少initramfs文件.所以现在想自己手动编译,以后也清楚倒底是什么问题..

麻烦大家,帮忙看看.

.config文件太长,就打包成附件放在下边了.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2011-6-26 18:39:22 | 显示全部楼层
前几天我也一直被这个问题困扰着,后来我把Serial ATA and Parallel ATA drivers下的配置成模块的选项改成编译进内核后就可以了(记不起具体是哪些...)

另外不知道这个链接里提到的东西和不能挂载根目录有没有关联,反正我按照这个链接里说的内容做过了
http://forums.gentoo.org/viewtopic-t-880149.html
回复 支持 反对

使用道具 举报

发表于 2011-6-26 20:33:33 | 显示全部楼层
您的/boot用的是ext2,内核是否加入了ext2的支持?建议您/boot改用ext3,/改用ext4。

ntfs的支持建议内核中的不要选,直接emerge ntfs3g就可以了,这个读写都很快速,比内核中的好多了。
同样的,gentoo的livecd对硬件的支持以及内置的软件都比较滞后,很多有用的工具都没有,所以建议您采用system rescue cd,这个也是gentoo,是专为维护linux系统设计的,非常好用。
回复 支持 反对

使用道具 举报

发表于 2011-6-26 20:37:46 | 显示全部楼层
你的grub配置有问题吧?
试一试
kernel /boot/kernel root=/dev/sda3
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-6-26 20:40:11 | 显示全部楼层
老师,终于碰到你了.
是这样的,刚才重试了一次把
Second extended fs support和它的子项都编译进去,可以还是进不去.
现在把几个芯片驱动都编译进去了,,还是不行
<*> Serial ATA (prod) and Parallel ATA (experimental) drivers  --->
        <*>     Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support
        <*>     NVIDIA SATA support
        <*>     SiS 964/965/966/180 SATA support
        <*>     VIA SATA support
        <*>     SiS PATA support
        <*>     VIA PATA support

现在启动时候的错误提示..
Root-NFS:no NFS server address
VFS:Unable to mount root fs via NFS,trying floppy.
VFS:Cannot open root device "sda1" or unknow-block(2,0)
please append a correct "root=" boot option;here are the available

因为就一台电脑,所以用的vmware测试的,,有问题方便及时查找...
要不我重新分区装一遍吧...
回复 支持 反对

使用道具 举报

发表于 2011-6-26 21:08:24 | 显示全部楼层
/boot 的文件系统只要grub能识别就行吧。

kernel都说他找不到(/)root 。可能性有:

1, 硬盘控制器的驱动(芯片组的一部分),一般的pc是 sata控制器,server 是scsi。

2,/文件系统驱动,build in ;不build in 就要弄 initrd 那个东西了。

3, grub 没有传对参数。sdxn 是/ 所在分区,要指定对。

grub.conf 例子:

kernel /boot/linux root=/dev/sda1

下面的是理论上的:

kernel /boot/kernel root=/dev/ram0 real_root=/dev/sda3
initrd /boot/initrd
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-6-26 21:14:20 | 显示全部楼层
谢谢,楼上的老师指点.
刚才问别人的时候才意识到这点.
一直没仔细看手册.
把genkernel的grub.conf和手动配置给搞混了
kernel /boot/kernel 后边多了root=/dev/ram0
现在正在努力重新安装...
回复 支持 反对

使用道具 举报

发表于 2011-6-26 21:16:15 | 显示全部楼层
Post by cnfczn;2143412
老师,终于碰到你了.
是这样的,刚才重试了一次把
Second extended fs support和它的子项都编译进去,可以还是进不去.
现在把几个芯片驱动都编译进去了,,还是不行
<*> Serial ATA (prod) and Parallel ATA (experimental) drivers  --->
        <*>     Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support
        <*>     NVIDIA SATA support
        <*>     SiS 964/965/966/180 SATA support
        <*>     VIA SATA support
        <*>     SiS PATA support
        <*>     VIA PATA support

现在启动时候的错误提示..
Root-NFS:no NFS server address
VFS:Unable to mount root fs via NFS,trying floppy.
VFS:Cannot open root device "sda1" or unknow-block(2,0)
please append a correct "root=" boot option;here are the available

因为就一台电脑,所以用的vmware测试的,,有问题方便及时查找...
要不我重新分区装一遍吧...

您是用的intel的主板芯片么?还是sis/via/nvdia/ati?如果是比较新的intel芯片组(查了一下,映泰这款主板是Intel P43北桥+ICH10南桥芯片组),只选 AHCI SATA support 好了,其他的都最好不选。 对了,在主板BIOS里一定要把ahci打开。

另外正如楼上说的,如果用了genkernel,用了ramdisk,才用real_root,否则一律写 root=/dev/sdaX
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-6-26 21:22:44 | 显示全部楼层
哦,谢谢啊.
主板芯片是Intel P43
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-6-26 21:25:03 | 显示全部楼层
太感谢了,,,我也是刚查着...有点蒙.
现在刚更新emerge还没到配置内核呢

好的,,刚开始按安装手册上把genkernel的grub.conf和手动的grub.conf搞混了...
回复 支持 反对

使用道具 举报

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

本版积分规则

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