Creating a larger FFS for MachTen or Codebuilder


This paper gives the steps needed to move the MachTen or CodeBuilder system into a larger fast File System (FFS) without creating a large tar image in the process. Once the new FFS is created, a tar process will pipe all files to an untar process working on the larger FFS.

Overview of the steps

In step 1 a new, larger FFS is created. Step 2 mounts this new FFS in a safe area (/mnt). Step 3 creates a list of directories that should be excluded from the tar process. Volumes that may cause problems are un-mounted in step 4. Step 5 is the tar-untar process. In step 6 the old, smaller FFS is renamed on the Mac side and the new one is gives it's name. Step 7 removed the old FFS from your volume, freeing up the disk space.

Note: If you have MachTen instead of Codebuilder, substitute MachTen and the appropriate version number for the occurances of CodeBuilder.

Step-by-step instructions

  1. Create the new, larger FFS
    	newfsf -s <size> <path>/<newFFSName>
    		<size> = 1024 x 2 x (size in MB of new FFS)
    			eg. for 180 MB FFS 1024 x 2 x 180 = 368640
    		<path> where the FFS will be created.  In the CB folder is the best place
    			eg. //"CodeBuilder v1.1" would be the  for CodeBuilder 1.1.
    		<newFFSName> = name of FFS as seen from the Mac
  2. Mount the new FFS in Codebuilder (or MachTen)
    	mount -t ffs <path>/<newFFSName> <mountPoint>
    		<path> where the FFS was created in step 1
    			eg. //"CodeBuilder v1.1" would be the <path> for CB 1.1.
    		<newFFSName> = name of FFS as seen from the Mac
    		<mountPoint> = where CB will mount the new FFS
    			eg. /mnt is recommended
  3. Create the tar exception list
    	cd /hfs
    	vi except_list
    	add the following lines to this new file:
  4. Unmount other volumes
    	Only the following mounts sould remain:
    		o //CodeBuilder v1.0/CodeBuilder_FFS on / (local)
    		o <CBVol> on // (local, NFS exported)
    			where  is the Mac volume that CodeBuilder is installed
    		o <MacBootVol> on /bootvol (local)
    			where <MacBootVol> is the Mac volume that contains the System Folder
    		o //CodeBuilder v1.0/newffs on /mnt (local)       
    			this is the new ffs you just created in step 1 and mounted in step 2
    	All other volumes are to be unmounted using:
    		umount <VolName>
    			eg: umount /"CodeBuilder v1.0"/X11R6_FFS if you have X11R6 mounted
  5. Preform tar to new FFS
    	cd /
    	tar -X /hfs/except_list -cf - . | (cd /mnt; tar xvfp -)
    	After a long time, the prompt will return and the process will be complete
  6. Renaming the FFS
    	Quit CodeBuilder
    	Rename the CodeBuilder_FFS to CodeBuilder_FFSOLD
    	Rename the  to CodeBuilder_FFS
    	Start CodeBuilder
  7. Remove the old, smaller FFS

    When you are sure that everything was transfered to the new FFS, drag CodeBuilder_FFSOLD to the trash and empty.