Revision [24455]

Last edited on 2012-10-13 16:12:52 by darkcity [redirect]
{{redirect target="Squashfs"}}
Go to [[Squashfs]].

Revision [13727]

Edited on 2011-04-03 06:34:12 by coolpup [redirect]
Go to [[Squashfs]].
see [[Squashfs]]

Revision [8898]

Edited on 2010-08-22 03:26:00 by coolpup [redirect]
see [[Squashfs]]
[[ Squashfs]] compressed read-only file system for Linux
An overview:
===What is a sfs file?===
===Lists of sfs software package files===
===How to make a sfs file of a software package===
Copy or move all of directories and files that make up the software package into any single directory . Then issue the //mksquashfs// command.
# mksquashfs
SYNTAX:mksquashfs source1 source2 ... dest [options] [-e list of exclude dirs/files]
mksquashfs directoryname softwarepackagename.sfs
Verify the currently installed version with:
mksquashfs -version
[[ Compatibility chart]]
[[ EditSFS Pup]]
[[ Advantages of Squash file compression]]
This information is valid for puppy 1.0.7 and later puppy 1.0.* versions only. union structure is going to change in puppy2
Presently puppy supports .sfs files to be mounted on union /usr.
Suppose I have got some PackageX running and want to make a .sfs out of it. I would copy all the necessary files for packagex to /my-docments/packagex. inside the folder packagex there would be the following folders
/bin - containing the binaries
/lib - dependencies
/share - shared data
if the package you have compiled installs to /usr/local then packagex folder would contain
to make a .sfs out of this execute the following command in the terminal
mksquashfs /root/my-documents/packagex /mnt/hda1/usr_packagex.sfs
/mnt/hda1 to be replaced by where ever you want this .sfs file to be created.
pre-1.0.7 users can use it by renaming it to usr_more.sfs
1.0.7 users can do the following
edit your rc.local to add the following lines
echo "Making more loop devices..."
mknod /dev/loop5 b: 7 5
mknod /dev/loop6 b: 7 6
mknod /dev/loop7 b: 7 7
if [ ! "`ls /mnt/home/usr_packagex.sfs 2> /dev/null`" = "" ];then
mkdir /.usr_packagex
echo "Mounting /mnt/home/usr_packagex.sfs file on /.usr_packagex..."
losetup-FULL /dev/loop5 /mnt/home/usr_packagex.sfs
mount -r -t squashfs -o noatime /dev/loop5 /.usr_packagex
unionctl /usr --add --after /root/.usr --mode ro /.usr_packagex
if you are multiple .sfs files the increase then use the next /dev/loop that is empty i.e. the next usr*.sfs will go in /dev/loop6. If you run out of loops make new ones using mknod command as show above.

Revision [8830]

Edited on 2010-08-19 09:41:42 by coolpup [redirect]

Revision [8829]

Edited on 2010-08-19 09:35:43 by coolpup [redirect]

Revision [8722]

The oldest known version of this page was created on 2010-08-15 01:10:43 by CrustyLobster [redirect]
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki