For years, the Puppy community has been debating the SFS stacking order (instead of reading the code or mount
output, which tell the truth), debating the "intended purpose" of each SFS and posting "unofficial" patches that lift various arbitrary limitations (like the restriction to specific names for auto-loaded SFSs or the stacking order).
This is the init script. If you made any modifications to reduce its limitations and slowness, you can contribute your changes to woof-CE so every Puppy ships with an init script that makes everyone happy and nobody needs to replace and tweak it manually anymore.
If you don't want to push some of the patches floating around the forum, want to write something new and need some inspiration, this is a modified version I created that's used in Vanilla Dpup 11.0.x development builds. It's a stripped-down init script that removes some functionality (see README), like SAVEMARK or pdrv=
, but it's smaller, faster and not stubborn about SFS names. It auto-loads *.sfs from the partition root or psubdir (SFSs can have any name, and user doesn't have to "queue" SFSs for loading) while retaining the stacking order of the "traditional" SFSs like adrv (backward compatibility with today's init script) and giving the user more control (SFSs with "non-traditional" names are sorted by name before loading so user can decide the stacking order). It's much faster and more scalable compared to the existing init script because it lists all SFSs in one sweep and loads all SFSs found in the correct order, instead of searching for the SFS on disk and loading it, for each SFS in the stacking order. The "search" part happens only once even if you have 50 SFSs to load, and this can make a big difference with a slow flash drive.