SFS-TCZ_Linker-2.2.pet

Miscellaneous tools
Post Reply
Message
Author
User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

SFS-TCZ_Linker-2.2.pet

#1 Post by jrb »

SFS-TCZ_Linker-2.2.pet (new, improved) will allow you to use SFS or TCZ (tinycore linux) files "on the fly" in Puppy431, Quirky, Wary, Lupup and Lighthouse. You can mount them when you need them and unmount them (most of them) when you don't.

Version 2.2 - Technosaurus has worked his compiling magic on the included binaries and shrunk them to 10% of what they were, WOW :shock: Thanks technosaurus! GCmartin has corrected my literary shortcomings to make a more understandable Readme. Thanks gcmartin!

Barring unforseen eventualities I think this is it, the final version. Have been testing for a couple of weeks and its performed perfectly so far. :D (Hope I don't regret saying that)

Version 2.1 - I had some problems with a .setup script so repositioned the .setup callup in sfs_linker. Seems to work well now.

Version 2.0 fixes a bug from 1.9. The revised boothandler created multiple entries in /root/packages/user_installed_packages, fixed.

Version 1.9 Has a simplified sfs_boot_handler to speed up flushing out the old SFS's from the last session. (I kept falling asleep waiting for it to finish) :wink:

It also provides for a seperate install script (i.e. ch4-links_browser.sfs.setup for ch4-links_browser.sfs) which if placed in the same folder as the SFS can perform custom setup procedures. Suggested by seaview.

The link to Tiny Core TCZ's (SFS's) has been updated to ftp://distro.ibiblio.org/pub/linux/dist ... ux/3.x/tcz as suggested by technosaurus.

Finally the /choice folder which you could place files in to copy them into the filesystem instead of linking them has been moved to /etc/choice. So if you're making SFS's and know that files need to be copied place them in their path structure in /etc/choice. (ie. /etc/choice/root/.config/your_app).


With version 1.7 I have succeeded in copying symlinks existing in the SFS prior to mounting and then removing them upon uninstall. This is particularly useful for devx SFS's which are full of symlinks. I haven't done a thorough test with a devx.sfs so let me know if there are any problems (Also found a couple of lines inadvertantly rem'd out in 1.6 :oops: )


With version 1.6, I think I have solved the problem of using SFS's with Live CD/DVD. Seems to work very well in Lighthouse 5D and should work equally well in the others. For Live CD/DVD's it creates /root/SFS/. This becomes the /mnt/home. If you put SFS's there, reboot and save they will be available for use on next boot. If you link them into /root/my_links/sfs_boot_links/ they will be loaded automatically at next boot.

One word of caution, make sure your SFS works before saving it into /mnt/home! It has to be compatible with the pup your using and not all SFS's are set up with menu items, etc. The OpenOffice I used to test works fine but has icons which are supposed to show up on desktop. With SFS_Linker they don't. Had to start from command line, #swriter.

On a Live CD you can right click on the file and use "Install with SFS_Linker". If it doesn't work just don't save when you reboot.

Have also reorganized a bit. Hopefully without messing anything up. :D


How does it work?
Really quite simple. Right click on an SFS or TCZ and choose "install_with_sfs_linker. Right click on the same SFS or TCZ and choose "uninstall_with_sfs_unlinker.

A folder called "my_links" will be created on your desktop (after reboot). There are instructions for setting up boot loading of SFS contained in the /my_links/Readme_SFS_Linker file.

SFS_Linker mounts the SFS in /mnt and then creates a symlink from each file in the SFS to its correct place in the Puppy file system. It then adds the library path in the SFS to Puppy's library path. This is enough to run almost any SFS. One rule however, if you create your own SFS, it must contain a /usr directory, even if its empty. SFS_Linker looks for the /usr directory in the mounted SFS to make sure it mounted properly.

When you Unlink the SFS all the symlinks are deleted. The SFS library path is also removed from Puppy's library path, just to keep it from getting too huge.

I have also included left click mounting of .tcz files for viewing the contents.

Let me know what you think.

Enjoy, J

P.S. You may notice that some of the SFS's listed below are duplicates of programs already in Puppy431, that's because I set them up for use in less complete puplets. Don't feel you have to use them if they already exist. (please don't :wink: )
Attachments
SFS-TCZ_Linker-2.2.pet
Mount, Link and use SFS's and TCZ's
(36.19 KiB) Downloaded 3090 times
Last edited by jrb on Mon 10 Jan 2011, 23:03, edited 26 times in total.

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#2 Post by jrb »

These SFS's were built for Puppy431. Some will work with current Puppies, some will not. I'll leave them here for Puppy4 users anyway.

It is fairly easy to build your own SFS's from .pets however. I am attaching two .pets which you can use.

Gposil's pet2xarc will extract .pets to a folder with the same name.
Dir2sfs_nover will convert that folder into an SFS.
The versions I have attached both have right click options. Right click on the .pet and extract. Right click on the folder and convert to SFS.

SFS's
ch4-tk-bubble-gem.sfs
ch4-AdobeReader-8.0.sfs
ch4-alsa-streamtuner-3.sfs
ch4-fbreader-0.10.7.sfs
ch4-firefox-3.5.3.sfs
ch4-FirePup-0.04.3-ln.sfs
ch4-FoxitReader1.0.sfs
ch4-frostwire-4.17.0-jre.sfs
ch4-geany-0.16.sfs
ch4-gimphoto-1.4.3.sfs
ch4-GoogleEarth-4.3-ln.sfs
ch4-gxine-0.5.9b.sfs
ch4-jre1.6.0_11.sfs
ch4-K-Office-1.6.3.sfs
ch4-Mplayer1rc2.sfs
ch4-mtpaint-3.30.sfs
ch4-mtpaint-3.31.1-i486.sfs
ch4-OpenOffice-3.0-ln.sfs
ch4-OpenOffice-3.1.1.sfs
ch4-Opera10final-4585.sfs
ch4-pwidgets-2.0.8.sfs
ch4-samba-3.0.26.sfs
ch4-seamonkey-1.1.18-full.sfs
ch4-vlc_nogui-0.8.6.sfs
ch4-winelite-1.1.14.sfs
ch4-winelite-1.1.30.sfs

Note: Links updated 21dec10
Attachments
pet2xarc-0.1.pet
Right click on .pet to extract to folder
(3.05 KiB) Downloaded 1717 times
dir2sfs_nover-j0.2.pet
Right click on folder to make SFS
(934 Bytes) Downloaded 1634 times
Last edited by jrb on Wed 22 Dec 2010, 04:02, edited 8 times in total.

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#3 Post by jrb »

Notes
SFS_Linker will only install the type of SFS suitable to your kernel. SFS4 for k2.6.30.5 and SFS3 for prior kernels. A list of the proper SFS's on your /mnt/home drive will be created in /my_links/sfs_mnt_home.

ch4-AdobeReader-8.0.sfs and ch4-K-Office-1.6.3.sfs will not unmount without rebooting. There is some process still running when you shut them down. If someone can identify these processes I will be grateful.

SFS_Linker should work with full harddrive installs. It is now protected from deleting duplicates in the file system. I haven't tried it so use at your own risk!

I have been careful to make sure that ch4-FireFox and ch4-FirePup do not overwrite Seamonkey's /root/.mozilla. Other SFS's of these browsers may do so however.

ch4-GoogleEarth-4.3-ln.sfs needs xorg_xorg_full_dri-7.3.pet installed and rebooted to run. It is also the only SFS so far that will not run from bootmanager as it needed its config files to specify /mnt/googleearth/etc/opt/googleearth/.

Here's a summary of what SFS_TCZ_Linker-1.4.pet does:

SFS_Linker has 5 basic parts:
1.)sfs_boot_handler
2.)sfs_linker
3.)sfs_unlinker
4.)sfs_remove.sh
5.)/usr/sbin/filemnt

1.)sfs_boot_handler:
identifies and creates symlinks in /root/my_links/sfs_mnt_home to either SFS4 or SFS3 depending on the kernel
removes any SFS links left from last work session
loads any SFS's linked into /root/my_links/sfs_boot_links

2.)sfs_linker
checks to make sure SFS chosen is proper type
checks if a new /dev/loop is needed to mount the SFS and creates one if necessary
mounts the SFS to /mnt/$SFSNAME
checks to make sure it mounted properly by looking for /mnt/$SFSNAME/usr
renames seamonkeys /root/.mozilla if the SFS contains /root/.mozilla
creates a symlink from each file in /mnt/$SFSNAME to /$FILEPATH
copies any special need files from /mnt/$SFSNAME/choice to /$FILEPATH
creates a text file, /root/.packages/$SFSNAME.files
adds an entry to /root/.packages/user-installed-packages
adds lines to etc/ld.so.conf listing the standard, i.e. /mnt/$SFSNAME/usr/bin, lib_paths in the SFS then runs ldconfig (included in .pet) to add them to lib_path
creates a symlink to the SFS in /root/my_links/sfs_loaded
makes any new fonts available with mkfonddir

3.)sfs_unlinker
unmounts the SFS
checks to make sure it unmounted properly, quits and gives error message if not, SFS will be unlinked at next bootup in this case.
calls sfs_remove.sh to delete all symlinks to the SFS
removes the lib_path lines from /etc/ld.so.conf
removes empty folders from all except /root, /tmp, /var, /mnt
fixmenus and restart jwm

4.)sfs_remove.sh
uses code from puppy package manager to remove the symlinks listed in /root/.packages/$SFSNAME.files

5.)/usr/sbin/filemnt
Checks to see if there is a free loop for file mounting. If not it creates one.
Last edited by jrb on Tue 06 Apr 2010, 16:02, edited 7 times in total.

tlchost
Posts: 2057
Joined: Sun 05 Aug 2007, 23:26
Location: Baltimore, Maryland USA
Contact:

Re: SFS_Linker-431bk-1.0.pet

#4 Post by tlchost »

[quote="jrb"]SFS_Linker-431bk-1.0.pet will allow you use SFS files "on the fly" in Puppy431 and Puppy430. You can mount them when you need them and unmount them (most of them) when you don't.

Does this remove the requirement for ldconfig430 and my_links?

Thanks
Thom

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#5 Post by jrb »

tlchost wrote:Does this remove the requirement for ldconfig430 and my_links?
Yes, they are both built in to this SFS_Linker. Click once on the .pet, reboot and you're ready to start using SFS's. :D

tlchost
Posts: 2057
Joined: Sun 05 Aug 2007, 23:26
Location: Baltimore, Maryland USA
Contact:

#6 Post by tlchost »

jrb wrote:
tlchost wrote:Does this remove the requirement for ldconfig430 and my_links?
Yes, they are both built in to this SFS_Linker. Click once on the .pet, reboot and you're ready to start using SFS's. :D
Thanks......looks like you have a real winner there.

tlchost
Posts: 2057
Joined: Sun 05 Aug 2007, 23:26
Location: Baltimore, Maryland USA
Contact:

#7 Post by tlchost »

jrb wrote:
tlchost wrote:Does this remove the requirement for ldconfig430 and my_links?
Yes, they are both built in to this SFS_Linker. Click once on the .pet, reboot and you're ready to start using SFS's. :D
I am once again lost....installed the linker on Puppy431RC2 tried to load the openoffice3.11...no luck(says it loads, shows up in menu, doesn't run)

Tried to load the ch4 version of openoffice311 ... error message says will not mount.

Attempted to use the boot manager to get the ch version to load in....doesn't load.

Maybe there's a problem with it and a USB bootable drive or my downloads?

Thom

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#8 Post by jrb »

Good Morning Thom,
Not sure what's happening with your OO3.1. I downloaded the ch4 version just to make sure it was good on the server and ran it from a usb drive - no problems.

I assume you're running the kernel-2.6.30.5 version, otherwise sfs_linker would tell you its the wrong version.

How much room is left on your usb drive?

First try left clicking on the SFS to see if it will mount and open in ROX. If it will then unmount it, and use sfs_linker to install it. Try opening a console and typing "swriter" and see what it says.

If it won't mount then try copying it to another usb drive and try mounting it from there. If it still won't mount then try it on another computer. If still no go then the file is probably corrupt.

Did you try loading Barry's OO3.1 SFS with bootmanager? Did it run OK? If so unload it and try it with sfs_linker and type "swriter" in a console window and see what it says.

Keep me posted, J

tlchost
Posts: 2057
Joined: Sun 05 Aug 2007, 23:26
Location: Baltimore, Maryland USA
Contact:

#9 Post by tlchost »

jrb wrote: Not sure what's happening with your OO3.1. I downloaded the ch4 version just to make sure it was good on the server and ran it from a usb drive - no problems.
Thanks for the sanity check...I think I had some corrupt files...after re-downloading the SFS_Linker and both the CH-OO and Barry's OO here's what I discovered:

If either one of the sfs are loaded via the boot manager in 431. they both work....but they prevent MySQL in xampp from running.

If xampp is installed in a directory other than /opt....then OO and XAMPP live together (But I don;t know how to make an sfs of OO that includes all the menu stuff and desktop stuff when it it installed to another location.

The problem with OO and XAMPP is in this thread:
http://208.109.22.214/puppy/viewtopic.p ... 49ecbfa337

If I load in either the CH version or Barry's version of 003.1.1 via a right click and select install with sfs linker....OO is loaded(no desktop icons show), it is present in the menu system, works and does not prevent MySQL from running.

For my simplistic mind...seems the simplest solution would be to create an sfs that has OO installed in something like /usr/local/openoffice.

How would one go about editing either your CH of Barry's OO sfs file to have OO installed in an alternate location.

Thanks,
Thom

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#10 Post by jrb »

Ok Thom, Here's how to do it.
Get pizzasgood's edit_sfs-2.1.pet install and open from the utility menu.

Drag ch4-OO3.1.1.sfs into the edit_sfs window.

When the rox window opens click the middle mouse button on /usr.

In the other rox window click on /opt.

Drag openoffice.org and openoffice.org3 to /usr/local and choose move.

Go to /usr/local/openoffice.org3/program.

Switch to the other rox window. Click the up arrow. Delete /opt.

Go to /choice/usr/local/bin. Delete sbase, scalc, sdraw, simpress, smath, soffice, sadmin, and swriter.

Drag sbase and the others from /usr/local/openoffice.org3/program to /choice/usr/local/bin and choose Link-relative

Use the up arrow to get back to /. Go to /usr/local/bin. Delete sbase, scalc, sdraw, simpress, smath, soffice, sadmin, and swriter.

Drag sbase and the others from /usr/local/openoffice.org3/program to /usr/local/bin and choose Link-relative

Click the build button and wait patiently.

When the SFS file is finished rename it slightly and drag to /mnt/home. Choose move. When its done moving click the finish button. Its a done deal.

tlchost
Posts: 2057
Joined: Sun 05 Aug 2007, 23:26
Location: Baltimore, Maryland USA
Contact:

#11 Post by tlchost »

jrb wrote:Ok Thom, Here's how to do it.
Thanks....I now have a modified OpenOffice3.11 and ch-OpenOffice3.11.
They work fine and my xampp 172 also does.

If you want the ch version, I'll put it where you can download it.

Really appreciate your help.

Thom

diaeresis
Posts: 164
Joined: Wed 16 Sep 2009, 12:50

#12 Post by diaeresis »

This is easily the coolest thing in puppy.
A simple modular ability.
Load puppy in fast with zero sfs, girlfriend wants to use word-processor and spreadsheet, link openoffice sfs, when she's done unlink, need to compile, link dvx sfs, done? unlink.
Simple.
Easy.
Perfrect (almost) this ability is needed at boot! Crack that one and I will carry your photo around forever in a small but tasteful locket. Close to my heart. But as it stands it is still bloody amazing. Thank you.

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#13 Post by jrb »

diaeresis wrote:this ability is needed at boot!
This ability is available at boot. Open the my_links folder on the desktop. Whatever SFS's you want to load at boot, just copy the link from /my_links/sfs_mnt_home to /my_links/sfs_boot_links. Or drag the SFS from /mnt/home/ and link to /my_links/sfs_boot_links.

Glad you like it so far. :D Check below for the new improved version.

Photos not available as they might scare small children.

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#14 Post by jrb »

I have uploaded SFS_Linker-431bk-1.1.pet

This one creates a new loop if needed. I have had up to 30 SFS's installed at once. It creates new loops when you want to simply mount an SFS as well. I have had up to 50 SFS's mounted at one time. Doesn't seem to be any limit although common sense says there must be. :wink: Does away with having to put

Code: Select all

max_loop=28
in the config file or kernel line. Just uninstall 1.0 (if installed), install 1.1, reboot and use.

tlchost
Posts: 2057
Joined: Sun 05 Aug 2007, 23:26
Location: Baltimore, Maryland USA
Contact:

Re: SFS_Linker-431bk-1.1.pet

#15 Post by tlchost »

jrb wrote: Doesn't seem to be any limit although common sense says there must be. :wink:
Amazing....So with the Linker, we should not be using the boot manager?

Thom

diaeresis
Posts: 164
Joined: Wed 16 Sep 2009, 12:50

#16 Post by diaeresis »

Sorry but ...
It's only available at boot if you set it up before you shutdown.
I was thinking more along the lines of having the ability to actually select any and/or all .sfs files at boot.
You can reboot with the sfs of your choice using boot manager and sfs linker but neither gives you the "blank canvas" option.

So if you know you are going to be using open office ou can boot with it, if you are intending to compile you can select xxx.sfs and devx-xxx.sfs etc.

I need to quickly add that i am not complaining, just wishing! And new version is now installed. Thanks.

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#17 Post by jrb »

I have uploaded SFS_Linker-no_def-1.1.pet which does not have modified /usr/local/defaultprograms for people who wish to have SFS_Linking without changing the desktop icon or MIME-type behavior.

ejb
Posts: 12
Joined: Wed 23 Sep 2009, 22:58

Re: SFS_Linker-431bk-1.1.pet

#18 Post by ejb »

I have an sfs that requires files to be copied to the filesystem vs symlinked.
I set up a /choice directory in my sfs. When I use sfs_linker to load the sfs file,
I expected to have the /choice files copied to /root/choice. For some reason,
they are symlinked to the mounted sfs.

I thought your script would copy /choice files.

Any help would be appreciated.

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#19 Post by jrb »

Hi ejb,
Here is a partial list of the files in my ch4-firefox-3.5.3.sfs. I have only included those files that should end up in /root. I installed the SFS before compiling this list. That is why it has /mnt/ch4-firefox-3.5.3/ out front.

Code: Select all

/mnt/ch4-firefox-3.5.3.sfs
/mnt/ch4-firefox-3.5.3.sfs/choice
/mnt/ch4-firefox-3.5.3.sfs/choice/root
/mnt/ch4-firefox-3.5.3.sfs/choice/root/.mozilla
/mnt/ch4-firefox-3.5.3.sfs/choice/root/.mozilla-3.5.3

/mnt/ch4-firefox-3.5.3.sfs/root
/mnt/ch4-firefox-3.5.3.sfs/root/.config
/mnt/ch4-firefox-3.5.3.sfs/root/.config/rox.sourceforge.net
/mnt/ch4-firefox-3.5.3.sfs/root/.config/rox.sourceforge.net/OpenWith
/mnt/ch4-firefox-3.5.3.sfs/root/.config/rox.sourceforge.net/OpenWith/firefox_browser
Notice that /choice is not in the /mnt/ch4-firefox-3.5.3.sfs/root/ directory, but the items from /mnt/ch4-firefox-3.5.3.sfs/choice/root/ will be copied into the /root/ directory of the Puppy filesystem.

The items in /mnt/ch4-firefox-3.5.3.sfs/root/ will be linked.

Hope that is clear, J

ejb
Posts: 12
Joined: Wed 23 Sep 2009, 22:58

#20 Post by ejb »

jrb wrote:Hi ejb,
Here is a partial list of the files in my ch4-firefox-3.5.3.sfs. I have only included those files that should end up in /root. I installed the SFS before compiling this list. That is why it has /mnt/ch4-firefox-3.5.3/ out front.

Code: Select all

/mnt/ch4-firefox-3.5.3.sfs
/mnt/ch4-firefox-3.5.3.sfs/choice
/mnt/ch4-firefox-3.5.3.sfs/choice/root
/mnt/ch4-firefox-3.5.3.sfs/choice/root/.mozilla
/mnt/ch4-firefox-3.5.3.sfs/choice/root/.mozilla-3.5.3

/mnt/ch4-firefox-3.5.3.sfs/root
/mnt/ch4-firefox-3.5.3.sfs/root/.config
/mnt/ch4-firefox-3.5.3.sfs/root/.config/rox.sourceforge.net
/mnt/ch4-firefox-3.5.3.sfs/root/.config/rox.sourceforge.net/OpenWith
/mnt/ch4-firefox-3.5.3.sfs/root/.config/rox.sourceforge.net/OpenWith/firefox_browser
Notice that /choice is not in the /mnt/ch4-firefox-3.5.3.sfs/root/ directory, but the items from /mnt/ch4-firefox-3.5.3.sfs/choice/root/ will be copied into the /root/ directory of the Puppy filesystem.

The items in /mnt/ch4-firefox-3.5.3.sfs/root/ will be linked.

Hope that is clear, J
OK, thanks, I was able to set up my sfs so linker copies the file I needed into the filesystem.
When I unlink the sfs, however, the copied files are not deleted. Is that what I should
expect??

Thanks, E

Post Reply