QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1563|回复: 13

怎样让新编译的内核支持DMA?????

[复制链接]
发表于 2003-5-7 03:59:55 | 显示全部楼层 |阅读模式
我安装了mdk9.1,内核也精简下来了,由原来的1.2M多变成现在的770多K,但通过hdparm发现硬盘不支持DMA传输模式了,我检查了配置,发觉我认为与DMA有关的我都选了,但就是不支持DMA!
不知为了让内核支持DMA,有哪些选项是必需的?请各位大侠指教。
发表于 2003-5-7 04:31:51 | 显示全部楼层
if u choose all DMA related, why have error? hehe. post the hdparm error here. and u .config file.
回复

使用道具 举报

 楼主| 发表于 2003-5-7 06:56:13 | 显示全部楼层
输入:hdparm -d1 /dev/hda
显示:HDIO_SET_DMA failed: Operation not permitted
      using_dma:  0 (off)
而我如果用原内核引导后使用该用法就一切正常。
回复

使用道具 举报

发表于 2003-5-7 08:43:19 | 显示全部楼层
ok, post u .config file here. and u can also diff .config .config.old to see the difference.
回复

使用道具 举报

发表于 2003-5-7 09:41:13 | 显示全部楼层
修改/etc/rc.d/local.rc中的dma=1
回复

使用道具 举报

发表于 2003-5-7 09:45:40 | 显示全部楼层
[quote:eb9602159d="toychen"]修改/etc/rc.d/local.rc中的dma=1[/quote]
ft, post water. he already said that he use the hdparm directly. u set rc.sysinit also do that with hdparm.
回复

使用道具 举报

 楼主| 发表于 2003-5-7 12:44:53 | 显示全部楼层
不好意思,还是不行。我的系统中没有local.rc文件,rc.local倒是有一个。
在rc.sysinit中加入hdparm命令,我想其实等同于我在控制符下直接使用命令。
因为我如果直接使用安装自带的内核,就可以,而且不需要我做什么工作,就已经是DMA传输模式了。所以我想可能是我在编译内核时把一些必需的功能给去掉了,但我不知道要让DMA正常,倒底哪些选项必选?请指教。
回复

使用道具 举报

发表于 2003-5-7 12:50:36 | 显示全部楼层
hdparm -d1 -X69(ata100)/dev/hdx(你的硬盘)
如果没出问题用 -k1 选项保存设置
hdparm -Tt /dev/hdx(你的硬盘) 测试硬盘速度
「-X66」: UDMA2 (Ultra ATA33)
「-X68」: UDMA4 (Ultra ATA66)
「-X69」: UDMA5 (Ultra ATA100)
「-X70」: UDMA6 (Ultra ATA133)

或者在/etc/rc.d/rc.local 最后面加上一行/sbin/hdparm -d1 -X69(ATA100)/dev/hdx(你的硬盘)

我还看到这样的,你也可以试试
先确认你的硬件支持dma66,包括硬盘,主板都支持,或许数据线还要求80线才行

确认后修改/etc/sysconfig/harddisks
内容如下:

USE_DMA=1

MULTIPLE_IO=16


EIDE_32BIT=3

LOOKAHEAD=1

EXTRA_PARAMS=-X68

保存后重起,进入系统后,用hdparm -i /dev/hda查看,应该可以看到类似信息:
UDMA modes: udma0 udma1 udma2 udma3 *udma4
这里表示当前(带*号的)的dma模式为utrla DMA 66(udma4)

本帖子中包含更多资源

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

×
回复

使用道具 举报

发表于 2003-5-7 21:22:35 | 显示全部楼层
since u old kernel can, while u new kernel can not. i believe there is nothing wrong in u rc.xx file. u need choose that use dma in pci wheneve possible option as that snapshot.png.
回复

使用道具 举报

 楼主| 发表于 2003-5-9 12:59:54 | 显示全部楼层

关于让内核支持DMA问题的最新情况!!!

感谢cheungmin,toychen,cnhnln,Axin各位大侠的帮助,现在我已经找到了原因了!确实是因为编译内核时的选项问题。
是因为intel IHC2芯片功能没有发挥出来。
我在选择时取消了Memory Technology Devices(MID)-->RAM/ROM/Flash chip drivers页面中的Detect JEDEC JESD21c compatible flash chips选项,这就导制了必需要有的选项Memory Technology Devices(MID)-->RAM/ROM/Flash chip drivers-->Rom connected to Intel Hub Controller 2 的自动屏蔽,这也就导制了IHC2芯片功能没能发挥出来!当然DMA也就支持不了!
为什么前一选项会影响后一选项,不知哪位大侠能解答?(下把config文件上传,供大家参考)
回复

使用道具 举报

发表于 2003-5-9 21:37:02 | 显示全部楼层
no, i donot think so. mtd is for flash like rom only. i use it only on my xscale board. u dma should not have problem with this. there must be some errors elsewhere.
回复

使用道具 举报

发表于 2003-5-9 22:50:21 | 显示全部楼层
[quote:91394e55b7="cheungming"]no, i donot think so. mtd is for flash like rom only. i use it only on my xscale board. u dma should not have problem with this. there must be some errors elsewhere.[/quote]

很对,我没编译MTD,一样打开DMA,我也是ICH2
回复

使用道具 举报

 楼主| 发表于 2003-5-10 09:26:02 | 显示全部楼层
可能我这款联想机自己做了一些手脚。
回复

使用道具 举报

发表于 2003-5-11 00:53:12 | 显示全部楼层
who know. anyway, something useless in u kenrel will not harm u.
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-2 02:36 , Processed in 0.084175 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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