Jump to content

Switching SCSI Controllers


Guest hari_seldon99
 Share

Recommended Posts

Guest hari_seldon99

Hi,

 

I'm running Mandriva Spring 2007.1. My root partition(s) are in a Seagate Cheetah ST336607 10K rpm hdd (36 GB Capacity). I had an SIIG AP-20 (Ultra) SCSI controller which works on Mandriva with the appropriate driver. I just purchased a better SCSI controller (adaptec ASC-29160 Ultra 160) which is faster I guess, and I have some questions regarding the switching process viz. drivers etc. that I was hoping for some help with.

 

1. The linux driver for this card is designated "aic7xxx", which I see in my modules tree

 

$ ls -d /lib/modules/2.6.17-13mdv/kernel/drivers/scsi/aic*
/lib/modules/2.6.17-13mdv/kernel/drivers/scsi/aic7xxx/
/lib/modules/2.6.17-13mdv/kernel/drivers/scsi/aic7xxx_old.ko.gz

$ls /lib/modules/2.6.17-13mdv/kernel/drivers/scsi/aic7xxx
aic79xx.ko.gz  aic7xxx.ko.gz

 

I suppose that I have to put that module in my /etc/modprobe.conf file (replacing the siig driver), but I guess I also have to put it in my init ramdisk. I tried to do it as follows:

 

$ cd /tmp
$mkdir initrd 
$cd initrd 
$zcat /boot/initrd.img-2.6.24 | cpio -H newc -idv

Then inflated the aic7xxx.ko.gx file from the driver directory and added the aic7xxx.ko file to the lib directory in the initrd and modified the insmod in the init file

Then repack

 find . -depth -print | cpio -o | gzip -9 >/tmp/initrd-new.img-2.6.24

 

However, upon trying to re-inflate the img with cpio I get an error message saying:

 

cpio: premature end of file

 

Did I do something wrong?

 

2. The manual for the controller says that if I migrate a hard disk from an old controller to this one, then I have to "low-level format" the disk. As I understand it, low level formatting can only be done in factory. A little googling showed that what they actually mean is to delete all partitions and partition tables (ie do something like 'dd if=/dev/zero of=/dev/sda bs="36gb" count=1' from a boot CD or something). Is that the right way? I was wondering how to handle all my data (without reformat/reinstall). I was thinking of using mondobackup (http://www.mondorescue.org/) to some dvd's (I have a DVD burner) and then perhaps restore it from there once the new controller has been installed. Is there a better way?

Thanks for your attention.

Link to comment
Share on other sites

You're going a bit too low-level, I'd say :)

 

If you have space to install both controllers at once, I'd say you should do that, then reboot: the hardware detection process run at boot time should pick up the new controller and add the module to modprobe.conf . Then you can just regenerate the initrd using mkinitrd , there's no need to do it manually. Just run 'mkinitrd' as root and it'll give you the usage information.

Link to comment
Share on other sites

Guest hari_seldon99

Thanks. That is much simpler :) . I do have one free PCI slot. It shuld do the trick.

 

Now what is the best way to migrate the actual hard drive across the controllers? Do I have to backup/reformat?

Link to comment
Share on other sites

nope, if things go okay you should just be able to switch it from one controller to the other without changing its contents in any way...I don't see how a reformat would help. If you were going to reformat in any case there'd be no point trying to adjust the installed system to cope with the new controller...

Link to comment
Share on other sites

Guest hari_seldon99
nope, if things go okay you should just be able to switch it from one controller to the other without changing its contents in any way...I don't see how a reformat would help. If you were going to reformat in any case there'd be no point trying to adjust the installed system to cope with the new controller...

 

 

Thanks. You were right. I installed my new scsi card together with the old one. It automatically set up in 32-bit backwards-compatible mode. However, I had to manually modprobe the aic7xxx driver (after which there was an entry for it in /etc/modprobe.conf). runing:

 

$mkinitrd --with=aic7xxx /boot/initrd-<kernel-version.img> <kernel version>

 

created the right mkinitrd, and then just rebooted

 

Now to find out how to speed up the *@%*@ controller. The card is supposed to be ultra 160 ie 160 Mb/s for 64 bit, which means 80 Mb/s for 32-bit, but running:

 

hdparm -t /dev/sda1

 

gives only 61-66 Mb/s :(. Wonder if it's the driver?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...