SFS-direct-remaster is unique in that it creates an sfs directly from the running system without an intermediary folder, such as puppylivecdbuild, to work on the directories and their folders. Usually the system is copied into an intermediary work directory which has the system tree directory, then files and folders are 'cleaned' deleted and/or copied 'pristine' from an iso or cd. RemasterX by shinobar and remasterPuppy live-cd by BK work this way. This means that you have to locate an iso or cd/dvd of the system you want to remaster as well as be running that system. sfs-direct-remaster and sfs-unattended-remaster DO NOT require an iso or cd/dvd to copy files from. SFS-Direct-Remaster also does not require a working_directory to clean the new system. Cleaning is performed on the fly by a mechanism that uses an exclude list of files and dirs which can be found in ~/my-applications/.exclude. This file is copied to /tmp and is compared to the running system and such files and directories that are found on the list and in the running system are added to another file in /tmp called 'excluded.txt'. Which is then read by the mksquashfs command.
SFS-Direct-Remaster begins with a display of available ram memory and an estimation of needed working space. The user then decides whether to remaster in ram 'r' or on drive 'd'. If ram is selected, along with compression type 'gz' 'xz' or 'xzm' maximum compression, then mksquashfs immediately begins to build a named (taken from DISTRO_SPECS) .sfs file in /tmp/. A normal sized pup of about 180mb will take about 3 minutes to remaster. If the option to work on a device (partition) is chosen 'd' then a display of available partitions and their available space and usage is displayed. type in 'sda3' or 'Home' or 'home' which are linked to dev_ro2 and dev_save, for example. The script then asks for confirmation, 'y' continue or 'n' select again. The script will add code to rc.local after backing it up to ~/my-applications/.rc.local. This will auto mount partitions and link Home and home to dev_ro2 and dev_save respectively. The script will then build the module on the specified partitoin. When the sfs has been built the option to save to some directory is given. If the directory that has been specified has an existing .sfs module with the same name then that module will be backed up by renaming it with the added suffix '-old'. Upto three modules can exist '-old-old' before the oldest one gets deleted, so no need to worry about a failed remaster (which hasn't happened yet). When copying has completed the script calls sfs-unattended-remaster which opens at its Menu - the hub of the utilities.
SFS-Unattended-Remaster provides a remastering session in which at least one question must be answered, but not more than three questions need be answered, to remaster from scratch all the way to bootable iso creation without any input from the user. This scenario is possible under the assumption that 'sda2' will be used for the remaster! In fact every step of the remaster provides an opportunity to specify other paths and directories aswell as other choices including alternaitve names and compressions, but as it is designed to be 'unattended' it assumes a night time scenario (at least in my case with an 8gb folder to squash!) in which the computer is truly unattended. SFS-unattended-remaster also has the ability to remaster without an iso or cd and also the target system need not be the same one running, it will build the system sfs reading DISTRO_SPECS from 'apupsys'; (options 1, 2, 3 and 4 on the Menu).
CD boot files are included in the pet and sfs packages for Fatdog64, DebianDog xfce and puppy boot method and pups with huge kernels and pups with builtin kernels (tested with fatdog700, LightHouse64, slacko-5.7+, Dpup Wheezy, DebianDog puppy boot, Studio1337, LASSIE, and the latest Tahr pups). SFS-Unattended-Remaster does use an intermediary folder for cleaning up, this allows an option later for other updates and post remaster utilities. Also using this remaster gives more freedom to use your computer normally while the remaster is in progress .... whereas doing so with sfs-direct-remaster could affect progress, but not the outcome! The intermediary folder is 'apupsys' a puppy system (dir). The iso folder to which the main sfs gets auto copied (without backing up any previous .sfs) is called 'bpupiso'. folders a and b, puppy, sys (-tem) and iso ... you see my logic. I meant to change the latter's name to apupiso so that the two folders would be near each other in a rox window. Anyway. After the unattended remaster the script returns to its main 'Menu'. At the moment there are 12 entries to choose from. Including '10' sfs-direct-remaster. and '7' Make a savefile or swapfile. '11' for disclaimer and briefest intro. '5' burn iso to cd. '6' write to usb (not reliable for me). '8' sfs-unattended-remaster. '9' exit script. As I think of them
![Embarassed :oops:](./images/smilies/icon_redface.gif)
Anyway that is just a brief intro feel free to ask any questions regarding their operation and etc. Please do try them and I will be greatful for feedback and suggestions!
stemsee