Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Fri 13 Dec 2019, 04:27
All times are UTC - 4
 Forum index » Taking the Puppy out for a walk » Suggestions
Enhanced sfs support using BOOTCONFIG
Moderators: Flash, Ian, JohnMurga
Post new topic   Reply to topic View previous topic :: View next topic
Page 1 of 1 [1 Post]  
Author Message
gyro

Joined: 28 Oct 2008
Posts: 1689
Location: Brisbane, Australia

PostPosted: Sun 05 Dec 2010, 13:37    Post subject:  Enhanced sfs support using BOOTCONFIG  

".pet" files are easy to use, they can change anything, but they use up limited pupsave space, and installing requires extracting and copying files.
".sfs" files are not quite as easy to use, they can only change things mounted below them in the aufs stack, but they use no pupsave space, and installation requires only mounting.

Conclusion: ".sfs" files are probably the better way of storing software, but puppy provides only minimal support for them.

a) Use the BOOTCONFIG file to define the names of all the sfs files to be loaded by the "init" script in initrd.gz. An initial boot, (or pfix=ram) would use the BOOTCONFIG file in initrd.gz. Currently this is an empty file, but why not make use of it.

In BOOCONFIG;
Define PUPSFSLIST, a list of sfs files to load immediately under the rw layer, above EXTRASFSLIST.
Define ZSFSLIST, a list of sfs files to always load at the bottom of the aufs stack, always under EXTRASFSLIST.
Define EXTRASFSDIR, the path where global extra sfs files are located.
Define SFSMAXCOPY, the number of sfs files to copy to RAM when available.

For a standard pup431, the BOOTCONFIG in initrd.gz would contain:
PUPSFSLIST='pup-431.sfs'
ZSFSLIST=''
EXTRASFSDIR='/mnt/home'
SFSMAXCOPY=1

For pup431, as I currently run it:
PUPSFSLIST='pup-431.sfs'
ZSFSLIST='zap-431.sfs'
EXTRASFSDIR='/mnt/home/sfs4s'
SFSMAXCOPY=2

THEN:
1) The sfs files used to boot puppy, can have any name.

2) Any number of sfs files can be used to boot puppy.
e.g. Puppy could be patched with an sfs file called "patch1.sfs" by defining, PUPSFSLIST='patch1.sfs pup-431.sfs', in BOOTCONFIG.

3) What has traditionally been in pup-431.sfs, could be split into 2 sfs's.
All the "default" scripts in /usr/local/bin, could be placed in a separate sfs called "defs-431.sfs", and define ZSFSLIST='defs-431.sfs' in BOOTCONFIG. This would allow applications added as extra sfs's to override the defaults, e.g. Firefox.sfs could override "defaultbrowser", OpenOffice.sfs could override "defaultwordprocessor".
Or split out the "big" applications, as well as their "default" scripts and their menu definitions, into a separate sfs. Such an sfs could easily be replaced with a different sfs containing a different, but equivalent, set of applications.

4) Extra functionality could easily be added to a bare-bones puppy by adding an sfs to the ZSFSLIST, (or PUPSFSLIST) list in BOOTCONFIG.

5) More sfs files can be loaded into memory. Sfs files in the PUPSFSLIST list and then the EXTRASFSFILES list could be loaded into memory until SFSMAXCOPY has been reached.

TO FACILITATE:
Utilities to extract BOOTCONFIG from, and replace BOOTCONFIG in, an existing initrd.gz


b) Modify BootManager to look for common extra sfs files in EXTRASFSDIR, instead of "/mnt/home"

THEN:
Old puppies can keep their common extra sfs files in "/mnt/home/sfs3s" and newer puppies can keep their common extra sfs files in "/mnt/home/sfs4s". This makes it easy to keep both sfs3 and sfs4 versions of the same sfs.


c) Modify BootManager so that sfs's removed from the list are dynamically removed from the aufs stack and sfs's added to the list are dynamically added to the aufs stack above the first file in the ZSFSLIST list.

THEN:
New extra sfs files can be tested immediately, instead of requiring a reboot.

gyro
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 1 of 1 [1 Post]  
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Taking the Puppy out for a walk » Suggestions
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0253s ][ Queries: 11 (0.0046s) ][ GZIP on ]