How to recover after SCSI-card move on Solaris 2.6 x86?

How to recover after SCSI-card move on Solaris 2.6 x86?

Post by Arto V. Viitan » Thu, 31 Dec 1998 04:00:00

I had to move my SCSI-card (Adaptec 2940UW) from one PCI-slot to
another. Solaris 2.6 x86 did not seem like it. I have two SCSI harddisks, and
after move, the kernel does not boot the Solaris. Instead, I get Driver
Assistant screen (I think). I tried to feed it the Driver Update diskettes
(version 3), but it did not help.

So, how can I make the kernel find my disks (it seems that disks id is
SCSI-cards slotnumber plus disks SCSI id) with minimum damage? Or, should I
reinstall the Solaris? If so, how can I do it so that filesystems are not
wiped out (at least /export/home and /usr/local)?


University of Tampere, Department of Computer Science  
Tampere, Finland                            


How to recover after SCSI-card move on Solaris 2.6 x86?

Post by John D Groenve » Sat, 09 Jan 1999 04:00:00

and then cross your fingers.


SYNOPSIS: How to move a Solaris 2.x x86 hard disk to another system

It is possible to move a bootable installation of Solaris 2.x x86 to
another machine or hard drive controller. However, the procedure is not
straight forward. The procedure listed below might not work in all
situations. Always backup important data before attempting to try this.
Remember, this has not been WIDELY tested, but has worked in several cases.

Note: This procedure is not necessary to move a data drive which is not used
      for booting. This is for a drive which contains Solaris 2.x x86's
      /, /usr, /opt, etc and is the boot drive.

Overall summary:

1) Install the drive in the new system, or a new hard drive controller.
2) Boot off the CD-ROM.
3) Mount the hard disk's /root and /usr.
4) Rebuild /devices and /dev.
5) Modify /etc/vfstab and /etc/bootrc if necessary.
6) Unmount the hard disk.
7) Attempt to reboot off hard disk.

1) Install the drive in new system, or anew hard drive controller.

   Install any driver updates that are needed by the new hardware
   BEFORE moving hard disk. Check the latest HCL to determine if
   any driver updates are required by the destination hardware.
   Be sure to check all the hardware basics such as target numbers,
   termination, power, HBA irqs, HBAs IOs, and others. Consult the
   X86 Device Configuration Guide for proper settings of any Hard
   Drive Controllers (HBA)

2) Boot of the CD-ROM.

   Use floppy boot disk in conjunction with the CD-ROM to boot off the
   CD-ROM. Enter 'b -s' when asked for installation type. This will
   boot into single user mode. A shell will follow shortly after this.

3) Mount the hard disk's /root and /usr.

  # TERM=at386
  # export TERM
  # mount /dev/dsk/c?t?d?s0 /a  (mounts root filesystem to '/a')

   '?' varies on systems. Look in /dev/dsk to help determine which
   device to use. Once the hard disk's root filesystem is mounted,
   determine the slice number of the '/usr' filesystem.

  # more /a/etc/vfstab | grep /usr
  #/dev/dsk/c1d0s2 /dev/rdsk/c1d0s2 /usr          ufs     1       yes     -
  /dev/dsk/c0t3d0s6       /dev/rdsk/c0t3d0s6      /usr    ufs     1       no    
                  ^                        ^
                  |                        |
            This is the number needed

   Now mount the hard disk's /usr filesystem under /a/usr.

  # mount /dev/dsk/c?t?d?s* /a/usr  (where * is the number found above    )
                                    (where ? are the numbers used for root)

4) Rebuild /devices and /dev.

  # cd /a
  # export _INIT_RECONFIG
  # /usr/sbin/chroot /a /etc/rcS.d/S50drvconfig
  Configuring the /devices directory
  # /usr/sbin/chroot /a /etc/rcS.d/S60devlinks
  Configuring the /dev directory
  Configuring the /dev directory (compatibility devices)

5) Modify /etc/vfstab and /etc/bootrc if necessary.

  a) Determine the new boot path:

  # ls -l /dev/dsk/c?t?d?s0   (This is the hard drive's root slice as before )
  lrwxrwxrwx  1 root   root    38 Mar 14 08:12 /dev/dsk/c1t1d0s0 -> ../..

           This is the new boot path

  # vi /a/etc/bootrc          ( Replace old boot path with new boot path     )

  b) Update vfstab:

  Look in /a/dev/dsk/*. It is very likely that the controller numbers have
  changed. It is even possible that the entries in here are different than
  the entries in /dev/dsk/*. Be sure to update the /a/etc/vfstab according
  to these new devices.

  # vi /a/etc/vfstab          ( Make any changes and save )

6) Unmount the hard disk.

  # cd /
  # umount /a/usr
  # umount /a

7) Attempt to reboot off the hard disk.

  # halt

  Power-cycle the system. Boot off the floppy if the new hard disk is not
  the first (boot) disk.


PRODUCT AREA: Alternate Platform
PRODUCT: Configuration
SUNOS RELEASE: Solaris 2.x_x86


1. can't read Solaris 2.6 x86 hard disk on Solaris 2.6 Ultra-1 ?!?

I was going to use this hard drive to move large files from my
Ultra to my Pentium PC for CD-R backup, but upon "boot -r" on
the Ultra I saw an error about "invalid geometry" on sd3, the
drive I had formatted on my PC to be ufs.  And now of course
I can't even "prtvtoc" this disk ("Unable to read Disk geometry"),
so mounting it is seemingly out of the question.

What's the problem?  Was I naive to assume the a ufs on a Solaris
system would be the same regardless of CPU type?  I really don't
want to use Ethernet to transmit potentially gigabytes of data
on a regular basis :-(...

Please reply via email (and post here, of course), as I don't
get a chance to keep up with the newsgroup as regularly as I
would wish.  Thanks.

Mark J. Kaufman             Sun Microsystems, San Diego

2. No hangup signal!

3. Benchmarks x86 Solaris vs Linux and Solaris 2.6 x86 vs sparc

4. Operator User

5. recover Solaris 2.6/7 with solaris 8 CD

6. portable cd drives

7. Problem with ghostview pop-ups

8. SCSI timeout errors on Solaris 2.6/x86

9. Problems adding 2nd (SCSI) hd (Solaris 2.6 x86)

10. Swap SCSI controller on Solaris 2.6 x86

11. 2.6 FCS -> 2.6 5/98 upgrade fails because /usr moved to /usr:2.6

12. Adaptec 21960 SCSI controller + solaris 2.6 x86