How to make your puppy able to load more than 6 .sfs files
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.
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.
[b][url=http://lazy-puppy.weebly.com]LazY Puppy[/url][/b]
[b][url=http://rshs-dna.weebly.com]RSH's DNA[/url][/b]
[url=http://murga-linux.com/puppy/viewtopic.php?t=91422][b]SARA B.[/b][/url]
[b][url=http://rshs-dna.weebly.com]RSH's DNA[/url][/b]
[url=http://murga-linux.com/puppy/viewtopic.php?t=91422][b]SARA B.[/b][/url]
Update:
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.
Unfortunately, after this, there are only 6 sfs files loaded at boot up.
Inserting a little script in diretory /root/Startup, instead of editing line 1430, using command
fixes redraw issue of fbpanel as well and loads all 9 sfs files at boot up.
I will go on to improve this a little more...
Code: Select all
[ $CNTLOOP -eq 16 ] && break
Unfortunately, after this, there are only 6 sfs files loaded at boot up.
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
I will go on to improve this a little more...
[b][url=http://lazy-puppy.weebly.com]LazY Puppy[/url][/b]
[b][url=http://rshs-dna.weebly.com]RSH's DNA[/url][/b]
[url=http://murga-linux.com/puppy/viewtopic.php?t=91422][b]SARA B.[/b][/url]
[b][url=http://rshs-dna.weebly.com]RSH's DNA[/url][/b]
[url=http://murga-linux.com/puppy/viewtopic.php?t=91422][b]SARA B.[/b][/url]
excess sfs using sfs_load
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)
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)
Downloads for Puppy Linux [url]http://shino.pos.to/linux/downloads.html[/url]
Re: excess sfs using sfs_load
Hello shinobar,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)
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.
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 see the solution.
[b][url=http://lazy-puppy.weebly.com]LazY Puppy[/url][/b]
[b][url=http://rshs-dna.weebly.com]RSH's DNA[/url][/b]
[url=http://murga-linux.com/puppy/viewtopic.php?t=91422][b]SARA B.[/b][/url]
[b][url=http://rshs-dna.weebly.com]RSH's DNA[/url][/b]
[url=http://murga-linux.com/puppy/viewtopic.php?t=91422][b]SARA B.[/b][/url]
Re: excess sfs using sfs_load
Is it a question of the bash syntax?RSH wrote:Regarding the code in /etc/init.d/sfs_load: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?Code: Select all
[ "$EXTRASFSLIST" ] || exit
it is equal to:
Code: Select all
if [ "$EXTRASFSLIST" = "" ]; then exit; fi
The trick is:
- The sfs_load makes additional mount point /initrd/pup_roXX for the sfs more than 6, and load it.
- The sfs_load leaves the list of the loaded sfs(can be more than 6) in EXTRASFSLIST at /etc/rc.d/BOOTCONFIG.
- 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.
- The script /etc/init.d/sfs_load finds the sfs which are in the EXTRASFSLIST but not loaded.
- The sfs_load loads on-the-fly the sfs not loaded at boot.
http://www.murga-linux.com/puppy/viewto ... 174#614174
Downloads for Puppy Linux [url]http://shino.pos.to/linux/downloads.html[/url]
Wow.
It took more than a year to solve this and I did never really try to use shinobar's suggestion at previous post.
However, this is solved by now!
After my last post in this thread here, I did some more research on this, but could not find a solution - so, I gave up.
The last weeks I was busy to add the so called "adrv"-option to my private version of LazY Puppy. After succesful work on this -thanks to mavrothal- it came back to me, suddenly, today, a few moments ago.
So, here it is. The Guide to make your puppy able to load more than 6 sfs files at boot up (when using personal storage file). I will show this for a count up to 15 pup_ro(x) directories, which means, the puppy is then able to load 12 sfs files at boot up.
1. Edit the initrd.gz
If you need a tool to edit the initrd.gz, here is Edit-Initrdgz-1.4.pet. Install the PET, copy the initrd.gz to /root and execute the program (must be somewhere in menu utility). This tool opens the init script plus other files in geany. Otherwise open the init script in a text editor.
Then found and edit the following (added pup_ro 10 ... pup_ro15):
Then found and edit the following (added pup_ro 10 ... pup_ro15):
Then found and edit the following (changed [ $CNTLOOP -eq 10 ] && break to [ $CNTLOOP -eq 16 ] && break):
Execute the following script, but first change Init_rd_tmp to the extraction directory of your initrd.gz:
Rebuild the initrd.gz and copy back to your boot directory (backup the original!!!)
2. Remaster Puppy
File /etc/MAXEXTRANUM must have included the new max extra sfs files number (in this here example would be 12). You need to take this file manually when option to edit /tmp/etc is given at remaster process!
I can remember editing another file, but currently can't find it and also can't say if it would be needed. Will add this to here as soon as I've found the file...
---
I'm currently running a Save-File-Version of my private LazY Puppy using this feature and having loaded sfs files up to pup_ro28 at boot up!
RSH
It took more than a year to solve this and I did never really try to use shinobar's suggestion at previous post.
However, this is solved by now!
After my last post in this thread here, I did some more research on this, but could not find a solution - so, I gave up.
The last weeks I was busy to add the so called "adrv"-option to my private version of LazY Puppy. After succesful work on this -thanks to mavrothal- it came back to me, suddenly, today, a few moments ago.
So, here it is. The Guide to make your puppy able to load more than 6 sfs files at boot up (when using personal storage file). I will show this for a count up to 15 pup_ro(x) directories, which means, the puppy is then able to load 12 sfs files at boot up.
1. Edit the initrd.gz
If you need a tool to edit the initrd.gz, here is Edit-Initrdgz-1.4.pet. Install the PET, copy the initrd.gz to /root and execute the program (must be somewhere in menu utility). This tool opens the init script plus other files in geany. Otherwise open the init script in a text editor.
Then found and edit the following (added pup_ro 10 ... pup_ro15):
Code: Select all
#if same dir exists lower layer, then wipe the opaque file...
[ -d /pup_ro3${ONEDIR} ] && rm -f ${OLDFILESMNTPT}${ONEOPAQUE}
[ -d /pup_ro4${ONEDIR} ] && rm -f ${OLDFILESMNTPT}${ONEOPAQUE}
[ -d /pup_ro5${ONEDIR} ] && rm -f ${OLDFILESMNTPT}${ONEOPAQUE}
[ -d /pup_ro6${ONEDIR} ] && rm -f ${OLDFILESMNTPT}${ONEOPAQUE}
[ -d /pup_ro7${ONEDIR} ] && rm -f ${OLDFILESMNTPT}${ONEOPAQUE}
[ -d /pup_ro8${ONEDIR} ] && rm -f ${OLDFILESMNTPT}${ONEOPAQUE}
[ -d /pup_ro9${ONEDIR} ] && rm -f ${OLDFILESMNTPT}${ONEOPAQUE}
[ -d /pup_ro10${ONEDIR} ] && rm -f ${OLDFILESMNTPT}${ONEOPAQUE}
[ -d /pup_ro11${ONEDIR} ] && rm -f ${OLDFILESMNTPT}${ONEOPAQUE}
[ -d /pup_ro12${ONEDIR} ] && rm -f ${OLDFILESMNTPT}${ONEOPAQUE}
[ -d /pup_ro13${ONEDIR} ] && rm -f ${OLDFILESMNTPT}${ONEOPAQUE}
[ -d /pup_ro14${ONEDIR} ] && rm -f ${OLDFILESMNTPT}${ONEOPAQUE}
[ -d /pup_ro15${ONEDIR} ] && rm -f ${OLDFILESMNTPT}${ONEOPAQUE}
Code: Select all
#cpio archive does switch_root, lose the initial-ramfs, so move all mntd...
mkdir -p /pup_new/initrd
mkdir -p /pup_new/initrd/pup_ro1
mkdir -p /pup_new/initrd/pup_ro2
mkdir -p /pup_new/initrd/pup_ro3
mkdir -p /pup_new/initrd/pup_ro4
mkdir -p /pup_new/initrd/pup_ro5
mkdir -p /pup_new/initrd/pup_ro6
mkdir -p /pup_new/initrd/pup_ro7
mkdir -p /pup_new/initrd/pup_ro8
mkdir -p /pup_new/initrd/pup_ro9
mkdir -p /pup_new/initrd/pup_ro10
mkdir -p /pup_new/initrd/pup_ro11
mkdir -p /pup_new/initrd/pup_ro12
mkdir -p /pup_new/initrd/pup_ro13
mkdir -p /pup_new/initrd/pup_ro14
mkdir -p /pup_new/initrd/pup_ro15
mkdir -p /pup_new/initrd/pup_rw
mkdir -p /pup_new/initrd/pup_z
mkdir -p /pup_new/initrd/mnt
mkdir -p /pup_new/initrd/mnt/data
mkdir -p /pup_new/initrd/mnt/dev_ro1
mkdir -p /pup_new/initrd/mnt/dev_ro2
mkdir -p /pup_new/initrd/mnt/dev_save
mkdir -p /pup_new/initrd/mnt/swap
mkdir -p /pup_new/initrd/mnt/tmpfs
mkdir -p /pup_new/initrd/mnt/tmpfs2
mkdir -p /pup_new/initrd/mnt/zdrv
mkdir -p /pup_new/initrd/tmp
Code: Select all
UMNTRO="" ; EXTRASFSLIST=""
if [ -s /tmp/EXTRASFSS ];then #100711
CNTLOOP=4
for ONEEXTRA in `cat /tmp/EXTRASFSS | tr '\n' ' '`
do
ONEBASE="`basename $ONEEXTRA`"
EXTRASFSLIST="${EXTRASFSLIST}${ONEBASE} " #construct list of actually used.
losetup /dev/loop${CNTLOOP} $ONEEXTRA
mount -r -t squashfs -o noatime /dev/loop${CNTLOOP} /pup_ro${CNTLOOP}
[ $? -eq 0 ] && UMNTRO="${UMNTRO}:/pup_ro${CNTLOOP}=ro"
CNTLOOP=`expr $CNTLOOP + 1`
[ $CNTLOOP -eq 16 ] && 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.
#...LazY200 change 10 to 16 so can have 12 sfs files.
done
fi
Code: Select all
for i in 11 12 13 14 15 16;
do
mknod -m664 /root/Init_rd_tmp/dev/loop$i b 7 $i
done
exit 0
2. Remaster Puppy
File /etc/MAXEXTRANUM must have included the new max extra sfs files number (in this here example would be 12). You need to take this file manually when option to edit /tmp/etc is given at remaster process!
I can remember editing another file, but currently can't find it and also can't say if it would be needed. Will add this to here as soon as I've found the file...
---
I'm currently running a Save-File-Version of my private LazY Puppy using this feature and having loaded sfs files up to pup_ro28 at boot up!
RSH
[b][url=http://lazy-puppy.weebly.com]LazY Puppy Home
The new LazY Puppy Information Centre[/url][/b]
The new LazY Puppy Information Centre[/url][/b]
Ok, I've found the file.
The file is: /etc/rc.d/rc.update
Change
to
The file is: /etc/rc.d/rc.update
Change
Code: Select all
#v431 added 6 7 8 9
for LAYERNUM in 3 4 5 6 7 8 9
do
[ -f /initrd/pup_ro$LAYERNUM/root/Choices/ROX-Filer/PuppyPin ] && cat /initrd/pup_ro$LAYERNUM/root/Choices/ROX-Filer/PuppyPin >> /root/Choices/ROX-Filer/PuppyPin
[ -f /initrd/pup_ro$LAYERNUM/root/Choices/ROX-Filer/globicons ] && cat /initrd/pup_ro$LAYERNUM/root/Choices/ROX-Filer/globicons >> /root/Choices/ROX-Filer/globicons
done
Code: Select all
#v431 added 6 7 8 9
for LAYERNUM in 3 4 5 6 7 8 9 10 11 12 13 14 15 16
do
[ -f /initrd/pup_ro$LAYERNUM/root/Choices/ROX-Filer/PuppyPin ] && cat /initrd/pup_ro$LAYERNUM/root/Choices/ROX-Filer/PuppyPin >> /root/Choices/ROX-Filer/PuppyPin
[ -f /initrd/pup_ro$LAYERNUM/root/Choices/ROX-Filer/globicons ] && cat /initrd/pup_ro$LAYERNUM/root/Choices/ROX-Filer/globicons >> /root/Choices/ROX-Filer/globicons
done
[b][url=http://lazy-puppy.weebly.com]LazY Puppy Home
The new LazY Puppy Information Centre[/url][/b]
The new LazY Puppy Information Centre[/url][/b]