3.x versus 4.x SFS files
August 11, 2009 —
BarryK
We have a problem coming up, as Linux kernels 2.6.29 and greater require .sfs files built with version 4.0 of 'mksquashfs', whereas older kernels use Squashfs version 3.x (3.3 in our 2.6.25.16 kernel).
If someone downloads a SFS file and it doesn't work, the person needs to know why. There needs to be a message informing them that it is the wrong version. I have put in some basic support for this:
initrd
The 'init' script now rejects SFS files of the wrong version. Previously, if you downloaded an SFS file to /mnt/home and selected it in the BootManager then rebooted, it would get mounted as a Unionfs layer, or would fail to mount -- but the user would still see it selected in the BootManager but it hasn't "loaded" -- and they would be mystified.
At this early boot stage, the wrong version is now detected and will not even be attempted to load.
BootManager
Now, wrong versions are screened out, so they aren't offered as candidates in the left pane. So, the user can't even choose a wrong SFS file to be loaded.
ROX-Filer
When you click on a SFS file, it gets mounted and you can view it's contents. Now, the wrong version is detected and an information notice is displayed.
mksquashfs, unsquashfs
Pup 4.3 has both mksquashfs 3.3 and 4.0, named 'mksquashfs3' and 'mksquashfs4'. There is a symlink 'mksquashfs' to the correct one for the current kernel. The same thing has been done for 'unsquashfs'.
So, 4.3 has the tools to expand and create either type, so it will be easy to create an app to convert a SFS from one type to the other.
Comments
sfsUsername: lobster
Good news As you swap between kernels in the alpha 4.3 I sometimes am able to use the xaraLX and openoffice sfs I rely on. another solution (which I think is being done or planned) is to have more SFS and pets in the package manager or directly accessible. Which reminds me of this connected software option http://pupweb.org/desktop/
invisible sfs
Username: PaulBx1
""Now, wrong versions are screened out, so they aren't offered as candidates in the left pane." Users may wonder why an sfs they know is there, is not visible. Perhaps better to make it visible, but mark it somehow as being unloadable, and why?
invisible sfs
Username: dogone
"I agree with RaulBx1, making things disappear/not appear without explanation is not appropriate. Better to flag incompatible sfs files in some way. A better solution is to offer to copy and convert an incompatible sfs file when it's selected. Given the popularity of older Puppies, this problem is not going away. Yes it's a bother, but better to deal with it effectively.
Rejected SFSs
Username: BarryK
"PaulBx1, dogone, Yes, it's not very friendly just rejecting an SFS if it's the wrong version, so I have added a dialog box that pops up and lists the rejected SFSs and explains why.
SFS Converter
Username: trio
"Hi, I made a little app, SFS Converter, auto detect sfs file, if v 3 it will be converted to 4, vice versa http://www.murga-linux.com/puppy/viewtopic.php?p=332879#332879
no mksquashfs3 and unsquashfs3
Username: trio
"Barry, There are no symlink named mksquashfs3 and unsquashfs3 in 4.3 Beta1 kernel 6.25.16 Is this a bug or you did it on purpose?..the SFS Converter I made works only in kernel 6.29.6 because of this Thanks
Tags: woof