"Cloning" a NeXTstep system?

Started by Jenne, September 09, 2006, 01:31:27 pm

Previous topic - Next topic



After reactivating a NeXTcube with NeXTstep 3.3 I asked myself if there is any possibility to "clone" a completely installed and running system of NeXTstep 3.3 to a second hard drive within the SCSI-chain. As far as I'm pretty new to NeXT in any objective I'm fairly un-trained in those topics and I would appreciate any hint about this.

Thank You very much and with kind regards from Switzerland



The next was just like the mac in this regard. Just use Disk builder and you can clone the system you already have set up.

I dont have a system anymore so I cant give better directions, but I remember it being pretty straight forward.

I seem to recall that you could also netboot, and then install off the net.
(but at 10bt thats slow) :)


I am going to try and upgrade my color turbo slab to NS3.3 and a larger hard disk, but am unsure if DiskBuilder can do it.  Can I follow the directions in Chapter7 of the SysAdmin guide posted earlier?  Can DiskBuilder in NS 3.0 properly handle a 4G seagate disk?  Will I need to add a disktab entry for this drive first?  Is it easier to just do it all at the command prompt using boot and dd?


Been reading these two threads, and hopefully this will give me what I need.



What is the proper NS command to probe the scsi chain to see what devices are set to what ID?  I need to determine what the internal id is of my hard disk, so I can set the external one properly, along with the cdrom.



Got the disktab added, drive installed in external enclosure, and am now using BuildDisk to create a system on it.  Will the resulting disk be basically the same as the internal one, with the same apps, users, and documents?  Do I need to manually move any specific things over to the new disk?  I figured I would try the BuildDisk method first, and if that did not work, then do things manually following the instructions suggested by Andreas in the other threads.


BuildDisk finished, so I disconnected the internal HD and set the external drive to id zero, but it will not boot.  The drive spins up, but it never starts the OS.  If I escape into the rom monitor and do a boot command, it gives "SCSI msgout phase" errors and then says "no SCSI disk".  Everything seemed to go ok in the initialization and BuildDisk, but no boot now.



In reference to the threads you mentioned earlier, threads which I contributed to - I thought I'd come clean and admit I only had partial success in my attempts to make a new, bigger 'cloned' boot drives for my NeXT computers. I would love to hear how one can easily clone a working boot drive with all of its apps onto a larger drive and have the larger drive then work as a boot drive in a NeXT computer. After a lot of failed attempts, I was only able to make a boot drive by using the original NeXTStep 3.3 installation CD-ROM and floppy that I bought through e-bay. I was then able to clone apps from one drive to another using dump|restore.

I purchased a Seagate/Avid ST15150N 4GB drive and wanted to make it a boot drive for a newly acquired NeXTCube. I also wanted to clone the apps from my NeXTStation Turbo Color so I would be able to use them on the NeXTCube. Unfortunately, I didn't keep notes on the method that finally worked (since I spent so much time trying so many different combinations of things I got tired of keeping notes) but by looking at the notes I did take I'm pretty sure that the following is what finally worked:

1) Install new HD in NeXTCube (the one that has a floppy drive).

2) Use installation CD (from external cd-rom drive on SCSI bus) and floppy from original NeXT install package to install NS 3.3 on drive. [I don't recall having to use disktab entries or anything to install NS 3.3 this way]

3) Remove the drive from the NeXTCube and put into an external drive case. Set external drive SCSI ID jumper to '#2'. leave terminator jumper in place. Connect to Next computer that has boot drive you want clone of (in this case, my NeXTstation).

4) Boot up NeXTstation and 'Disk' appears.

5) run Terminal (Unix command terminal) app. And enter the following:

entry #1) # cd /Disk

entry #2) # ls [Confirms that 'Disk' is the disk I am in now, files are listed.]

entry #3) # dump 0f - /dev/sd0a | restore -rf -  [note that spaces are important! 0 is zero not letter o!]

6) Remove newly cloned disk from external drive case and set SCSI id jumper to #1. Place back in NeXTCube as boot disk. Apps copied from NeXTStation (backup | restored) will appear and should work, unless they sense the new CPU (Mathematica) or need the liscense number reinserted.

Note1: I was never able to see the entire 4 GB of my Avid/Seagate ST15150N drive. I tried a number of things, including new disktab entries and buildisk and just couldn't get it right. My 4 GB drive appears to have only 2 GB of memory available to my NeXT even though buildisk originally identified it as having 4095 MB of memory and I tried to partition it into two 2 GB sections.

Note2: I tried a few different ways of making a cloned drive the boot drive including trying to install a boot block. I had no success.

If anybody can work out a simpler way to do this, I'm sure others would appreciate it. I feel like folks are trying to reinvent the wheel on this topic - someone must have experience doing it in an elegant way (or at least someone must know definitively that it can't be done elegantly)! Good luck with your efforts and please take notes you can share with the rest of us!


Quote from: "idylukewild"Apps copied from NeXTStation (backup | restored) will appear and should work, unless they sense the new CPU (Mathematica) or need the liscense number reinserted.

Luckily I am cloning a drive for the same machine, so the cpu should not change.  It will really be a bummer if the licenses do not transfer, since this system has quite a few commercial apps that I would really love to keep.  I will try the low level approach that Andreas mentioned, to see if it has better success.  If that proves unsuccessful, I will have to do a fresh install of NS3.3 and try the dump/restore method you mentioned.  Luckily I have 8 or so of the drives that I can test with, without having to wipe one clean between attempts.

Thanks for the extra info, and I will certainly let everyone know how it goes.



Quote from: "idylukewild"nextchef

Note1: I was never able to see the entire 4 GB of my Avid/Seagate ST15150N drive. I tried a number of things, including new disktab entries and buildisk and just couldn't get it right. My 4 GB drive appears to have only 2 GB of memory available to my NeXT even though buildisk originally identified it as having 4095 MB of memory and I tried to partition it into two 2 GB sections.

Hello. I have used the following to open up [have the NeXT "see"] the other 2GB on a Seagate ST15230N - which is basically the same drive.   Use at your own "risk".


To create additional space on a 4.3GB hard drive [NeXT] -

( Notes: 0 is a zero in all cases - text after # is a comment, don't type it) .

1.  Boot
2.  Login in as root
3.  Open a terminal window.
4.  Type the following in the terminal window:
cd /                     # make sure you are in root
mkdir disk2          # create the mount point
cd /etc                 # get into the etc directory
cp fstab fstab.old   # make a backup of fstab
chmod 644 fstab    # change permissions on fstab to make it writeable

5. edit the fstab file  

To edit the fstab file do the following:

1.  In File Viewer click on the etc folder

  • 2.  In the etc directory structure double click on fstab file [the first one - with no extension]
    3.  This should bring up the NeXT edit program and the fstab file will be displayed in the edit window as follows:

    #       This file contains information used to mount local hard disks.
    #       Consult your Network and System Administration manual
    #       for information on adding local disks.  Information on the format
    #       of entries in this file can also be found in the fstab man page.
    /dev/sd0a / 4.3 rw,noquota,noauto 0 1

    Add the following line after the last line above:

    /dev/sd0b /disk2 4.3 rw,noquota 0 2

    Save the file [save - not "save as"] and quit the NeXT edit program.
    6.  Type the following in the terminal window:
    chmod 444 /etc/fstab    # change permissions back to read only

    7.  Reboot the system in verbose mode.  Watch to see if the /dev/sd0b partition is mounted on /disk2 and note errors [if any].
    8.  Login as root.
    9.  Double Click on the disk2 folder in the file manager and it should tell you that you have +/-  2GB of space available.
    10. Optionally open a terminal window and type: df   to get information on the mounted drives.
    11. Additionally you may want to run a fsck on the new partition to verify its integrity.  Type:  fsck /dev/sd0b in a terminal window.

  • You must enable the Unix Expert mode [in preferences] to see the etc folder.

    Do the following:

    1.  In File Viewer click NextApps
    2.  In the NeXTApps directory tree double click Preferences.app
    3.  In the Preferences window scroll the bar right until you see the Unix tab
    4.  In the Unix selection check Unix Expert and Large File system
    5.  Close/Hide the Prefernces app and you should now see the etc directory in your root file system directory.

    NOTE: *** [To name the new "disk" to as you wish - change the name of "disk2'  to whatever you want.

    IF you have already created a name [in this case - disk2, and you wish to change it - do the following:

    1.   Edit the fstab file first. Change /disk2 to /whatever
    2.   Type: mkdir /whatever in a terminal window
    3.   reboot
    The partition will now be mounted on the /whatever folder and you
    can delete the now empty /disk2 folder.]***

    ps. THANK YOU GB!!! [you know who you are!] :D


Is it possible to run a turbo slab without an internal hard disk?

I had forgotten how fun SCSI can be, especially with old drives like this.  Do you need termination on or off, should the term power come from the bus or the drive or both, spin up or delay, and on and on....

At this point, I can not even get the slab to see the drive when installed internally.  I had to set the term power to both bus and drive to even get it to spin up, but still does not see it correctly.  Here is what I have done so far, for those keeping score.

Added disktab entry for drive.
placed drive in external enclosure, setting id to 2
manually partitioned the drive into one 1999Meg partition to start
created a filesystem on the partition
used disk to add boot blocks
mounted the drive and did the dump/restore command to copy things to it
attempted to boot to it both inside the station, and in the external enclosure

I left my NS3.3 cd at home, so I can not try to install a fresh system first.  Could I even do a dump/restore of a NS3.0 system to a HD that was installed with NS3.3.  Will I need to get a NS3.0 cd to do the install, then do the dump/restore, and then try to update it to NS3.3.

That is where I stand currently.  Will get the NS3.3 cd tonight, and try some more things tomorrow.  

Think I will take a break from this, and try to get my IIgs system hooked up and working again, for a change of pace.



Ok, now that I have power again after the storm, I can get back to this.

I tried to boot the ColorTurbo with my NS 3.3 disk, using an old sun caddy cdrom, and it gives errors about not finding a boot block on the cd.  I interrupted the boot, tried booting directly from the cd, and also tried booting with the 3.3 boot floppy with no success.  The floppy boots ok, it finds the CD drive and tries to access the cd, and fails saying it can not find "blk0" or something like that.  If I boot into the installed NS3.0 on the internal hard drive, I can mount the cd, traverse the directories, and open some files, so I believe the CD itself is ok.  I even tried booting up with just the cd attached (and the internal hard disk unplugged) using the floppy, with the same result.

I am currently low level formatting the 4G drive, and will start the process from the other thread all over, and see how that goes.

Any thoughts on why it does not boot.

Here is the link to the page on Seagate for the jumper settings, so mabey someone can figure out what combinations of jumpers are required to get the slab to see it internally




Format finished.  Could not get disk to initialize correctly with the multiple partitions, so I modified the disktab entry to just have the first 2G partition, and then it initialized successfully.  I copied it directly from the disktab website, but I think it may not be correct  Added the boot blocks using disk, then rebooted and it mounted the external drive correctly, so now I am doing the dump/restore process.


Dump/restore finished.  Disconnected the internal HD and reset the external one to be SCSI ID 1 and still would not boot.  Went into rom monitor and did a "b sd" and it still gives the "sc:  SCSI msgout phase" errors, and now gives a "sc:  selection failed" message as well.  They both repeat in groups of three until the system gives up and says "no SCSI disk".  It is accessing the disk, or at least the scsi bus, but never finds a suitable disk it can boot off of.  Do I need to make the boot partition smaller?  Is 2G too large for NS to boot off of?


Its Booting!!!!!!!!!  Finally.

I removed the 4G drive and swapped it in the slab, and it actually booted correctly this time.

I guess it needs a drive to be internal in order to boot correctly.  It could be a termination problem on the scsi bus, since no drive is installed to provide termination.  I am no SCSI expert, but it sounds reasonable.   I am worried that, as others have said, this full height 7200 rpm drive will get too hot for the slab.  Even in an external enclosure with a fan, the drive was almost too hot to touch after the low level format and dump/restore.  Will have to dig up a 50 pin ribbon cable terminator, and see if that provides the proper termination to get it booting externally.

Next I need to see if I can upgrade it to NS3.3, without loosing all the installed apps registrations, and get it to see the other 2gigs on the drive.

Once I am sure it is working, I will take my notes and put together a more detailed step-by-step explanation of how I did it.



Here is a very rough first draft of what I did to clone the drive.  I need to clean things up, and add a couple of links, but I figured I would release it to the wild for comment.

Be gentle now ;)


Cloning My NeXT Color Turbo System to a Larger Hard Drive
by NeXTchef

Here are the steps that I performed in order to transfer the installed NS operating system on my Color Turbo to a larger HD.  The system came to me with a ~400M drive, installed with NS3.0 and a bunch of  additional applications.  As 400M is a bit small, I wanted to "clone" the existing install to a larger HD, but did not want to risk trashing the existing system.  For the upgrade hard disk, I used a 4Gb Seagate drive (ST15150N), as it has a 50pin SCSI connector and a faster 7200rpm speed.

The plan was to install the 4G in an external enclosure, attach it to the NeXT, and use BuildDisk to create a bootable copy on the external drive.  The 4G Seagate is not recognized natively by the NS system, so the NS applications did not seem to handle it correctly.  I tried many different suggestions from the nextcomputers.org forum, but could never get the BuildDisk application to work correctly.  I take no credit for most of the information contained within, it was gleaned from the great folks over at the nextcomputers.org forum.  Additional credits and links to follow at the end of the document.  

Overview of steps to be performed
Added disktab entry for drive.
Placed drive in external enclosure, setting id to 2
Low level format of the drive
Initialize the drive with one 2G partition and create a filesystem
Use disk to add boot blocks to the drive
Mounted the drive and did the dump/restore command to copy things to it
Removed the drive from the enclosure and swapped it into the slab for a test

Credits, Thanks, and Assorted Links
The biggest credit goes to all the users on the nextcomputers.org forum.  They have been especially helpful, and a great resource concerning all things NeXT.  Below are two threads from the forum, which most of this info is gleaned from, especially the notes from Andreas on the proper use of dump/restore to clone the data to the new drive.

With that in mind, here are the "manual" (non GUI app) steps that I had to perform in order to accomplish this  upgrade.

Added disktab entry for drive.
In order for NS to access this large drive correctly, it must be told some details on how the drive partitions need to be laid out.  This is done in a file called disktab, located in the \etc directory.  NS has a limit of 2G for a partition, so two partitions will be needed on this drive.  Below is the disktab entry for this specific hard disk, gotten from NS/OS Disktab page at http://deadstart.net/NeXT/disktab/ .  I do not pretend to understand what all the options mean, and the man pages and other resources can fill that in for those interested.  Simply stated, it gives NS some info on the physical aspects of the drive, and exactly where it needs to go sector wise, in order to use the drive.  In this example, the 4G drive would be carved into 3 partitions, two 2G ones, denoted by "pa" and "pb", and one for whatever is left, denoted by "pc".


This file would not work for me, as I always got errors when next would try to initialize the second partition and create a filesystem, so I commented out the entries for partition 2 and 3.  This allowed me to successfully initialize the drive, but at the expense of only having one 2G partition, as shown below.


Placed drive in external enclosure, setting id to 2
This step is pretty self explanatory, but I will describe it for those interested.  I went to the manufacturers website for the drive, and got the specifications for how to set the jumpers.  In this case, the only jumper I needed to add was one so that I could set the SCSI id to #2.  Referencing the spec sheet, I also confirmed that no extra options were required or enabled, such as telling the drive to spin up, read only settings, capacity limitations, etc.  This drive was going in an external enclosure with active termination, so I made sure drive termination was not enabled.  The drive was then installed in the enclosure, and attached to the NeXT systems external SCSI port.

Low level format of the drive
Because I was unsure of what this drive was used for in the past, I chose to perform a low level format in order to return it to "factory fresh".  Make sure you specify the correct disk, which in my case is sd1a, the second disk the system sees.  Open up the terminal app, and issue the command below.

localhost# sdform /dev/rsd1a
Initialize the drive with one 2G partition and create a filesystem
While still in the terminal app, issue the following command to initialize the disk.

localhost# disk -t SEAGATE -i /dev/rsd1a

The "disk" command will read the info in the disktab file and use it as a reference for how to perform this task.  It will then label the disk, create the partitions, and finally format them for use.  When finished, you will get the "initialization complete" message.

Use disk to add boot blocks to the drive
The disk command is used again to add the boot blocks to the drive.  I guess you could also add the option to the command above and remove this step, but that is not what I did.

localhost# disk -b /dev/rsd1a

Mounted the drive and did the dump/restore command to copy things to it
Created a directory off of root called drive2, and mounted the new drive to it.  Changed into the directory /drive2, and issued the dump/restore command to clone the contents onto the new drive.

localhost# mkdir drive2
localhost# mount /dev/sd1a /drive2
localhost# cd drive2
localhost# dump 0f - /dev/sd0a | restore -rf -

Removed the drive from the enclosure and swapped it into the slab for a test
Shut everything down in preparation to swap the drives.  I removed the drive from the NeXT slab, and replaced it with the newly cloned drive from the enclosure.  In order to get the drive to work internally, I had to consult the jumper specs.  First the SCSI id was set to #1, the same as the internal drive was, so it would be the same place on the SCSI chain.  I also had to set a jumper to enable the termination functions of the drive, and make sure it had terminating resistors installed on the bottom.  I placed everything in temporarily, just in case I had to change things, plugged the external cd back in, and hit the power button.  To my suprise, it booted up and started performing a disk check, and then the login screen appeared.  I was able to login, and the apps seem to be functioning as they did on the old drive, just quite a bit faster.

Things to do, and other thoughts/issues
Work still needs to be done with the disktab entry so that I can actually get the second partition to work correctly.  Everything seems to be correct, so possibly it is a problem with the particular drive I was using.

As others have stated on the fourm, this full height 7200rpm drive gets very hot with use.  It can apparently get so hot as to distort the plastic top of the case near the hard disk.  With this in mind, the next thing to do is to try to get the system booting with the drive in an external enclosure, instead of in the system.


Quote from: "nextchef"Here is a very rough first draft of what I did to clone the drive.  I need to clean things up, and add a couple of links, but I figured I would release it to the wild for comment.

Thanks for sharing this Chef.  Excellent write up.  It really helps people who are going through the same issues as you.  As they say, a private message helps one person, a public post helps many.  Good job.


yes, thanks for the information. i've been planning on imaging my slabs drive, for backup purposes.


Thanks for the kind words from everyone concerning this.  I am by no way an expert (unlike others in here), but I can do my part.  If anyone sees any obvious errors, please let me know so I can make the necessary changes.  I have a pdf version of the document as well (gotta love OpenOffice), for those who are interested.  No difference in content, just a little prettier with proper bullets and headings to separate things out a little.