Hello again,
Well, I ran this command as root: hdparm -c1 -u1 /dev/hda
Then rebooted. It booted normally and seemed perfect.
So, I did the following command and as you can see, it does not match what you said it should look like:
root@localhost ~]# hdparm /dev/hda
/dev/hda:
multcount = 16 (on)
IO_support = 0 (default)
unmaskirq = 0 (off)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 20023/255/63, sectors = 321672960, start = 0
[root@localhost ~]#
Since it is fine, I didn't think I needed to edit that file you mentioned. Should I anyway?
It sure is nice to see this thing boot up properly.
Here's my rc.local
=================== start ==================
#!/bin/sh
#
### BEGIN INIT INFO
# Provides: rc.local
# X-Mandriva-Compat-Mode
# Default-Start: 2 3 4 5
# Short-Description: Local initialization script
# Description: This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
### END INIT INFO
touch /var/lock/subsys/local
hdparm -c1 -d1 -u1 /dev/hda
hdparm -c1 -d1 -u1 /dev/hdb
==================== end =====================
and my disk settings;
[root@fatman ~]# hdparm /dev/hda
/dev/hda:
multcount = 16 (on)
IO_support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 24321/255/63, sectors = 390721968, start = 0
[root@fatman ~]# hdparm /dev/hdb
/dev/hdb:
multcount = 16 (on)
IO_support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 20023/255/63, sectors = 321672960, start = 0
I've been using these settings in rc.local for as long as I can remember, from the start of my Linux days. You can read about hdparm in the
man pages with the command;
[polack@fatman ~]$ man hdparmPressing the
Q key will close man and bring you back to the prompt. Scroll the man pages with the up and down
arrow keys on your keyboard.
The important parts here are the explanations of the flags we're setting.
-c Query/enable (E)IDE 32-bit I/O support. A numeric parameter can be used to enable/disable 32-bit I/O support:
Currently supported values include 0 to disable 32-bit I/O support, 1 to enable 32-bit data transfers, and 3 to
enable 32-bit data transfers with a special sync sequence required by many chipsets. The value 3 works with
nearly all 32-bit IDE chipsets, but incurs slightly more overhead. Note that "32-bit" refers to data transfers
across a PCI or VLB bus to the interface card only; all (E)IDE drives still have only a 16-bit connection over
the ribbon cable from the interface card.
-d Disable/enable the "using_dma" flag for this drive. This option now works with most combinations of drives and
PCI interfaces which support DMA and which are known to the kernel IDE driver. It is also a good idea to use
the appropriate -X option in combination with -d1 to ensure that the drive itself is programmed for the correct
DMA mode, although most BIOSs should do this for you at boot time. Using DMA nearly always gives the best per‐
formance, with fast I/O throughput and low CPU usage. But there are at least a few configurations of chipsets
and drives for which DMA does not make much of a difference, or may even slow things down (on really messed up
hardware!). Your mileage may vary.
-u Get/set interrupt-unmask flag for the drive. A setting of 1 permits the driver to unmask other interrupts dur‐
ing processing of a disk interrupt, which greatly improves Linux´s responsiveness and eliminates "serial port
overrun" errors. Use this feature with caution: some drive/controller combinations do not tolerate the
increased I/O latencies possible when this feature is enabled, resulting in massive filesystem corruption. In
particular, CMD-640B and RZ1000 (E)IDE interfaces can be unreliable (due to a hardware flaw) when this option
is used with kernel versions earlier than 2.0.13. Disabling the IDE prefetch feature of these interfaces (usu‐
ally a BIOS/CMOS setting) provides a safe fix for the problem for use with earlier kernels.