solved?: grub ide=nodma not working with CF card - boot delay
- To: debian-user@lists.debian.org
- Subject: solved?: grub ide=nodma not working with CF card - boot delay
- From: geoff <geoffhp@gmail.com>
- Date: Thu, 12 Apr 2007 02:56:39 +0200 (CEST)
- Message-id: <listhandler=2&site=www.debianhelp.org&nid=5042&pid=&cid=20388&uid=3412&tid=79&577519c92d758b9bb0c2bb56b5a6b4b3@www.debianhelp.org>
- In-reply-to: <20070307105522.55060.qmail@web88205.mail.re2.yahoo.com>
- References: <20070307105522.55060.qmail@web88205.mail.re2.yahoo.com>
I think I solved the ide=nodma not being recognized problem by compiling and installing a custom kernel. I turned [b]off[/b] the option [b]CONFIG_IDEDMA_PCI_AUTO[/b] in the .config file. This option is set to "Y" in the standard Debian 4.0 kernel. From 'menuconfig' help for this option:
CONFIG_IDEDMA_PCI_AUTO: │
│ │
│ Prior to kernel version 2.1.112, Linux used to automatically use │
│ DMA for IDE drives and chipsets which support it. Due to concerns │
│ about a couple of cases where buggy hardware may have caused damage, │
│ the default is now to NOT use DMA automatically. To revert to the │
│ previous behaviour, say Y to this question. │
│ │
│ If you suspect your hardware is at all flaky, say N here. │
│ Do NOT email the IDE kernel people regarding this issue! │
│ │
│ It is normally safe to answer Y to this question unless your │
│ motherboard uses a VIA VP2 chipset, in which case you should say N. │
│ │
│ Symbol: IDEDMA_PCI_AUTO [=n] │
│ Prompt: Use PCI DMA by default when available │
│ Defined at drivers/ide/Kconfig:426 │
│ Depends on: IDE && BLK_DEV_IDE && BLK_DEV_IDEDMA_PCI │
│ Location: │
│ -> Device Drivers │
│ -> ATA/ATAPI/MFM/RLL support │
│ -> ATA/ATAPI/MFM/RLL support (IDE [=y]) │
│ -> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support (BLK_DEV_IDE [=m]) │
│ -> PCI IDE chipset support (BLK_DEV_IDEPCI [=y]) │
│ -> Generic PCI bus-master DMA support (BLK_DEV_IDEDMA_PCI [=y])
Once I installed my custom kernel, the system booted quickly without IDE DMA timeouts. I don't even think I need to pass the [i]ide=nodma[/i] option anymore.
By the way, I recommend installing 'kernel-package' which installs the make-kpg tool. It creates a proper custom .deb package file you can use to install the kernel painlessly on the target system. Roughly the steps were:
1) apt-get install kernel-package libncurses5-dev fakeroot
2) apt-get install linux-source-2.6
3) tar jtvf /usr/src/linux-source-2-6-18-4 build_dir
4) cd build_dir/linux-source-2.6.18.
5) make-kpgg --rootcmd fakeroot --config menu kernel-image
6) Browse the menuconfig interface, toggle the CONFIG_IDEDMA_PCI_AUTO setting.
7) make some tea.
Assuming the build went well, the resulting .deb file should be in the parent directory.
8) Copy the linux-image-2.6.18custom10.deb file to the target system.
9) Install on the target system dpkg -i linux-image-2.6.18custom10.deb.
10) reboot.
-Geoff
Reply to: