[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: DMA missing after install -- rebuild initrd? HOWTO?



On Wed, Feb 01, 2006 at 02:26:59AM +0000, cmetzler@speakeasy.net wrote:
> 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:
> 
> http://lists.debian.org/debian-amd64/2005/08/msg00309.html
> 
> 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.

That is almost certainly the problem.

> 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?

Well which kernel version do you use and do you use mkinitrd, yaird or
initramfs-tools?

For mkinitrd you would add the module name for your ide controller to
/etc/mkinitrd/modules and then do dpkg-reconfigure kernel-image-2.6.8-... 
(whatever the package name for your kernel is) to recreate the initrd.
Any module you add is loaded before any auto loaded modules.

yaird has a slightly different syntax for adding modules, and I haven't
played with initramfs-tools yet.

Len Sorensen



Reply to: