Page 1 of 2

How to make your puppy able to load more than 6 .sfs files

Posted: Wed 22 Feb 2012, 13:37
by RSH
Hi,

this post will show you how to make your puppy able to load more than 6 .sfs files. It should work in every puppy.

http://murga-linux.com/puppy/viewtopic. ... 381#606381

RSH

Edit: please read the posts below also!

Posted: Wed 22 Feb 2012, 14:16
by Terryphi
Very interesting, RSH. Thanks! I must try this on Racy/Wary when I can find time.

Posted: Wed 22 Feb 2012, 14:41
by RSH
Here is the link to the edit initrd.gz GUI v1.3

It is localized in German and English and has short tutorial in German and English.

http://murga-linux.com/puppy/viewtopic. ... 371#581371

Edit: sorry, but i must have to fix the .desktop file for use in other puppies. Please download again!

Posted: Wed 22 Feb 2012, 16:12
by Terryphi
RSH: I added version 1.3 to Racy 5.2.2.7 and I got a menu entry. I ran it and opened initrd.gz in Geany . When I clicked on the init tab the file was empty. Have I misunderstood something in the instructions?

Posted: Wed 22 Feb 2012, 20:39
by RSH
You have to copy the initrd.gz to /root before you can edit the file init.

Did you do this?

Edit:

I do remember now, i did have this effect once in the first version of edit initrd.gz GUI. This was because of the initrd.gz wasn't completely extracted as geany starts and loads the init file. Therefor i did insert a command for geany to wait one second. Maybe this is still too short.

Go to /usr/sbin/ceelab/edit-initrd and open the file edit_initrdgz.

Go to line 23 and change sleep 1 to sleep 2 (or maybe 3 and above) if it doesn't work after changing this.

I do not know if racy does have the init file. I did hear newer kernel use systemd instead of init. Maybe this could be a clue?

However: after extracting initrd.gz there is a directory initrd-tree in /root, which contains the extracted data of initrd.gz. By opening this directory you should be able to load the init file manually into geany. Init is the only one file that is needed to edit.

Posted: Wed 22 Feb 2012, 21:34
by RSH
Information to previous post...

I did explore the following:

The need to copy initrd.gz to /root is not listed inside the tutorial (but a hint is placed inside the GUI). I do apologize for this and make a new, full improved version to upload.

RSH

Posted: Wed 22 Feb 2012, 21:59
by RSH

Posted: Thu 23 Feb 2012, 08:07
by Terryphi
Thanks, RSH. I have version 1.4 installed and it works as expected on Racy.
Sorry, I had not noticed the need to copy initrd.gz to /root.

Posted: Thu 23 Feb 2012, 14:37
by Terryphi
Duplicate - removed by poster.

Posted: Fri 24 Feb 2012, 09:57
by 666philb
thanks RSH

i now have 11 sfs's loaded with no noticeable problems. :)

and your edit initrd.gz gui makes it so easy

Posted: Sat 25 Feb 2012, 13:24
by Terryphi
Testing on Racy and Wary I followed RSH's instructions for editing the init file and on reboot the additional directories were created in /initrd (/pup_ro11 to /pup_ro15.) However if I load more than 6 SFS files in the Boot Manager only 6 are still copied to /initrd . Directories /pup_ro10 to /pup_ro15 remain empty. This means that if I add a seventh SFS then an earlier one is lost.

I have found a line in which BK limits the number of SFSs to be loaded. This is around line 1532 after RSH amendments have been made.

Code: Select all

[ $CNTLOOP -eq 10] && break
    #...only support adding 3 extra .sfs files, as performance degrades as each layer added.
    #...v410 bugfix, change 6 to 7 so can have 3 sfs files.
    #...w015 change 7 to 10 so can have 6 sfs files. 
However, increasing the number say from 10 to 16 does not solve the problem. There must be another limiting parameter somewhere else. Any suggestions?

Posted: Sat 25 Feb 2012, 13:58
by RSH
Uuhhh,

that's new to me.

I do not load sfs files at bootup, so i did never run into this one limitation.

As i understand you, this line (BK limits the number... ...around line 1532) is in the initrd.gz? Maybe there is a limitation inside the bootmanager.

I am right on the way to improve this, but i do not have much time today. So, if you don't get a new reply to this, let's say, within the next hour, i am on the weekend and get back on the work at next Monday.

RSH

Posted: Sat 25 Feb 2012, 14:06
by Terryphi
RSH wrote:Uuhhh,

that's new to me.

I do not load sfs files at bootup, so i did never run into this one limitation.

As i understand you, this line (BK limits the number... ...around line 1532) is in the initrd.gz? Maybe there is a limitation inside the bootmanager.
RSH
Yes, the line is in the init file within initrd.gz. Line 1532 is the reference in Racy 5.2.2.7 after your additions. It may be different if you are using something else. I can't find anything else in the init file which seems relevant so I was also thinking about looking in the bootmanager. I have to do some other work now though. I may find time later.

Posted: Sat 25 Feb 2012, 14:50
by RSH
Ok,

i did try this with my LazY Puppy. Select to load 9 sfs files at bootup. All sfs files are loaded, all apllications are available and running (see test apps at screenshot).

Maybe contacting 01micko slacko-developer. Slacko can load more than 6 sfs files at a time and at bootup.

So, i am unfortunately out of ideas.

I did sometimes run a wary to check something, but did never used it to work with it. So, i do not really know these puppies.

Maybe BarryK could help (aren't racy/wary his favorite puppies)
BarryK wrote:RSH,
That is a very useful tool, I will put it into Racy and Wary I reckon (well, I have to try it first!)
He did write this on my "GUI for editing .mo files"-post.

Posted: Sat 25 Feb 2012, 20:03
by RSH
Posting shortly from my girlfriends computer.

Another issue after reboot using 9 sfs files at bootup:

Fbpanel does not redraw after boot into desktop. :shock:

Manual refresh and everything is fine and works. :?

Will improve this later.

Greetings, RSH

Posted: Mon 27 Feb 2012, 13:47
by RSH
Tried the same using JWM as default window manager.

JWM needs no manual refresh and all menu entries of the 9 sfs files loaded at boot up are available. :)

Seems only fbpanel acts different. :? :? :?

Posted: Tue 28 Feb 2012, 06:58
by RSH
Update:

Code: Select all

    [ $CNTLOOP -eq 16 ] && break
Editing line 1430 in LazY Puppy (file init in initrd.gz) and setting 10 to 16 fixes the redraw issue of fbpanel at boot up. :D

Unfortunately, after this, there are only 6 sfs files loaded at boot up. :shock:

Inserting a little script in diretory /root/Startup, instead of editing line 1430, using command

Code: Select all

#!/bin/sh
if (grep openbox /etc/windowmanager) then
exec pfbpanel refresh start
fi
fixes redraw issue of fbpanel as well and loads all 9 sfs files at boot up. :? :D :?

I will go on to improve this a little more...

excess sfs using sfs_load

Posted: Mon 19 Mar 2012, 07:18
by shinobar
Do you know? The sfs_load > 1.3 allows more than 6 sfs without any change of the initrd.gz.
http://www.murga-linux.com/puppy/viewtopic.php?t=64354

The trick is the script /etc/init.d/sfs_load loads them after boot, the excessive sfs's (more than 6) which the initrd did not load. (idea from jamesbond)

Re: excess sfs using sfs_load

Posted: Fri 23 Mar 2012, 02:12
by RSH
shinobar wrote:Do you know? The sfs_load > 1.3 allows more than 6 sfs without any change of the initrd.gz.
http://www.murga-linux.com/puppy/viewtopic.php?t=64354

The trick is the script /etc/init.d/sfs_load loads them after boot, the excessive sfs's (more than 6) which the initrd did not load. (idea from jamesbond)
Hello shinobar,

i must say, i do love your sfs_load really much and i do use it every day several times.

And now, you do make me also happy by your post. Not because of the so named "trick", but because of what i did find inside the script /etc/init.d/sfs_load. I did not know the --cli parameter/command that lets load sfs files without having a gui and/or clicking any OK button. :D

I did try to modify your sfs_load but failed very quickly and gave up.

Now i can rewrite my scripts to load all the LazY Puppy sfs files without any clicking.

Btw. there has been another user asking for that option - i do have to inform this user of this feature

Regarding the code in /etc/init.d/sfs_load:

Code: Select all

[ "$EXTRASFSLIST" ] || exit
I can not read these steno-type scripting. Would you please translate this example into an if then else form and give an example, how to use this to load more than six sfs files at boot up?

I can not see the solution. :(

Re: excess sfs using sfs_load

Posted: Fri 23 Mar 2012, 09:05
by shinobar
RSH wrote:Regarding the code in /etc/init.d/sfs_load:

Code: Select all

[ "$EXTRASFSLIST" ] || exit
I can not read these steno-type scripting. Would you please translate this example into an if then else form and give an example, how to use this to load more than six sfs files at boot up?
Is it a question of the bash syntax?
it is equal to:

Code: Select all

if  [ "$EXTRASFSLIST" = ""  ]; then exit; fi
Meaning: do nothing if the EXTRASFSLIST is blank.

The trick is:
  1. The sfs_load makes additional mount point /initrd/pup_roXX for the sfs more than 6, and load it.
  2. The sfs_load leaves the list of the loaded sfs(can be more than 6) in EXTRASFSLIST at /etc/rc.d/BOOTCONFIG.
  3. At next boot, the initrd loads the sfs looking up the EXTRASFSLIST, but only 6. The excess are not loaded but the file names are still in the EXTRASFSLIST.
  4. The script /etc/init.d/sfs_load finds the sfs which are in the EXTRASFSLIST but not loaded.
  5. The sfs_load loads on-the-fly the sfs not loaded at boot.
Other reply i have made at next post:
http://www.murga-linux.com/puppy/viewto ... 174#614174