Maxtor 160 GB Drive and Sundry

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

 



Hi!

As a "newbie" to kernel building, I would like to suggest that it may be 
helpful
to your readers to publish a how-to about adding 48-bit disk address
support - for example, to support the new Maxtor 160 GB ATA133 drives.
The online literature on this topic is pretty obscure.
In particular, I started with kernel 2.4.9 and discovered:

1) fdisk, cfdisk and sfdisk all think the drive has 16709 logical cylinders
          (each of 16065*512) bytes.  Should be 19929.

2) cfdisk lets your override the size (-c 19929), so I did so. mke2fs 
also required
    a command line argument to override the default disk size. 
 Everything looked fine
    until I started getting filesystem errors and found that the 
partitions on the
    disk were trashed..  Bottom line - mainline linux ATA drivers 
totally mess up
    without warning!  This appears to be due to a 28-bit disk address 
limitation (137 GB).

3) Found a note that the Alan Cox 2.4.18-pre7-ac3 kernel patch supports 
48-bit
     addressing. However, I did not find anywhere an indication of what 
kernel
     this patch should be applied to. Through trial and error I 
discovered that
      the sequence:
                                 2.4.17
                                 2.4.18-pre7       (in the "testing" 
directory at linux.org)
                                 2.4.18-pre7-ac3  (in the people/alan 
directory at linux.org)
      works fine.  Don't try to add any of the other 2.4.18-preXX 
patches as they
      will not work correctly to get to the goal.

  4)  RedHat has some other peculiarities:
          A)  Run /sbin/installkernel 2.4.18-pre7-ac3 bzImage 
../../../System.map from the boot
                 directory under "arch" after you finish building the 
kernel.
                 If you are using lilo, this should work fine. If you 
are using
                  grub, installkernel will complain about the lilo 
configuration - ignore the error.
                  The main thing is that this copies the kernel and the 
System.map files to /boot,
                  renames them, and sets up links appropriately.
           B)  If you want the initrd file, go into /boot and type
                             mkinitrd initrd-2.4.18-pre7-ac3.img 
2.4.18-pre7-ac3
           C)  Also copy the kernel.h file from include/linux to /boot, 
rename it to
                              kernel.h-2.4.18-pre7-ac3
                  and create a soft link from kernel.h to this file.
           C)  If you are using grub, edit the /boot/grub/grub.conf 
file.  Follow the pattern of the
                 existing entries.
            D) IF ANYONE CAN TELL ME HOW TO SET UP THE MODULE-INFO file
                 in RedHat's /boot directory, PLEASE DO SO!  In fact, 
there does not appear to
                 be any documentation on the RedHat website about what 
these files are for.

  4)  With the patched Linux kernel, fdisk now shows the correct disk 
size, mke2fs sees
        the correct size without manually overrides, and Linux appears 
to be happy with the disk!
        A caution:  cfdisk now DOES NOT WORK!  (I am not sure who 
maintains cfdisk
        but it needs some attention.)

  4) Moral:  it really would be helpful if kernel patches documented 
what version/
       patch they are patching. Maybe a master table showing the 
progression would be
       helpful

   5) Bottom line: go get a 160 GB drive and enjoy the space!  Just be 
sure to use the Alan Cox
       kernel patch!!!

Jim Schatzman




--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
IRC Channel:   irc.openprojects.net / #kernelnewbies
Web Page:      http://www.kernelnewbies.org/



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux