DMA missing after install -- rebuild initrd? HOWTO?
After playing around for a while, I decided to go ahead and do my
AMD64 Etch install for real. At the end of it, though, I got a
surprise -- no DMA on any IDE devices. The drives are capable,
the BIOS recognizes them as UDMA5, I tried a bunch of different
80-connector cables, and hdparm shows them as udma5 too. But still,
attempts to turn on DMA got the well-known "DIO_SET_DMA failed:
Operation not permitted" error.
While googling like crazy for ideas, I came upon this thread from
this mailing list:
which suggests the problem may be loading ide-generic before my
chipset-specific module, and that the solution would be to rebuild
my initrd. Since my symptoms look similar to those described in
this thread, I'll give it a shot.
I've never built or rebuilt an initrd, or monkeyed with the contents
of one. When I haven't been able to use a Debian install kernel,
I've always just built my own and compiled the drive controller/
filesystem modules into the kernel, so there's no issue. I could
do that again here, and I plan to eventually; but I'd like to have
the installation kernel working well first so I can use it as a base
from which to start (these are my first steps with 2.6.x as well).
So I'm wondering if someone can point me at good docs/a howto
for building/rebuilding the Debian install initrd? I have a
vague memory of people commenting that mkinitrd is now deprecated
in favor of yaird -- that correct?
Thanks for any info.
P.S. What's odd about this is that at one point in my playing around,
I *did* have DMA access. I added some drives and did my install, and
presto, no DMA anymore. So if it is the "ide-generic loaded before
chipset-specific" issue, the loading sequence apparently can vary.