Remastering remastering
Posted: Wed 04 Feb 2009, 22:33
I'm working on an app tentatively entitled "Remaster Express" to make the Puppy custom live-CD remastering process more versatile and more user-friendly, with a GUI that persists throughout the process, incorporates more options than the existing remaster script (/usr/sbin/remasterpup2), and takes on the selected GTK+ 2.0 theme (by way of Gnocl). Here are links to some screenshots of what I've got so far. [EDIT 2009 Feb 14: Don't look at these any more, look at the completed set of screenshots with the links in the message I just posted below.)
Initial "Welcome" window: http://www.geocities.com/pa_mcclamrock/remaster01.gif
Remaster Slimmer window, for removing built-in packages before remastering: http://www.geocities.com/pa_mcclamrock/remasterslim.gif
Step Two, estimate working space needed: http://www.geocities.com/pa_mcclamrock/remaster02.3.gif
Show estimated working space and select working partition: http://www.geocities.com/pa_mcclamrock/remaster02.6.gif
Step Three, show information about remastering while making heap big squashfile: http://www.geocities.com/pa_mcclamrock/remaster03.gif
Step Four, verify that contents of /tmp/root include everything desired: http://www.geocities.com/pa_mcclamrock/remaster04.gif
Step Five, do the same with /tmp/etc and specify hardware configuration if desired: http://www.geocities.com/pa_mcclamrock/remaster05.gif
Step Six, edit isolinux.cfg if desired: http://www.geocities.com/pa_mcclamrock/remaster06.1.gif
Step Seven, rename pup_xxx.sfs file if desired:
http://www.geocities.com/pa_mcclamrock/remaster07.gif
I don't have the rest done yet, but I do have several questions that I hope somebody here can answer.
* How do you best estimate the size of the pup_xxx.sfs file compared to the uncompressed size of the directories that go into it? The "remasterpup2" script just seems to guess that maybe it will be about 1/3 as big, and maybe you'll need, oh, 150 to 200 MB of additional free space if you're going to save an ISO. Is it possible to do better than this? As I said above, I'd like to have a progressbar to show what percentage of stuff has been squashed into the squashfile and what percentage remains to be squashed, but this would seem to require a pretty good estimate of how big the whole thing will be when done.
* I need to make sure I know what to do with the various "packages" files in /root/.packages. I observe that "packages.txt" has the complete list of official packages from the current Puppy Unleashed; "livepackages.txt" is the same as the "Official Puppy 4" list you see in PETget; "livepackages2.txt" and "livepackages3.txt" are the same as Official Puppy 2 and Official Puppy 3 respectively; and "alienpackages.txt" lists the unofficial packages you have installed. To this I have added "slimpacks-xxx.txt," a modified list of built-in packages the user might wish to uninstall with "Remaster Slimmer" before remastering.
What I want to do, I think, is to (1) copy "packages.txt" intact to the /tmp/root/.packages directory for inclusion in the new CD; (2) copy the various "livepackages" files and "slimpacks-xxx.txt" to /tmp/root/.packages too, but then (3) move all the "on" lines out of the "livepackages" copies and merge them into /tmp/root/.packages/slimpacks-xxx.txt, since the packages named in these lines will become built-in packages in the new CD and will be uninstallable with Remaster Slimmer but not with PETget; and (4) omit "alienpackages," since all the packages from there will become built-in packages in the new CD. Does that sound right?
* Following line 196, "#now copy the files... ," "remasterpup2" omits "boot.cat" from the list of files to be copied from the existing live-CD, and includes something called "goofy.16" instead. What's this, and why?
* Are all these "syncs" really necessary? Almost everywhere you do anything with files in "remasterpup2," it seems, there's a "sync" before and after. Would there be any significant chance of disaster if you didn't have quite so many "syncs"?
* All references to "zdrv" can be omitted for Puppy 4.1 and later, can't they?
Thanks in advance for any help!
David McClamrock
Initial "Welcome" window: http://www.geocities.com/pa_mcclamrock/remaster01.gif
Remaster Slimmer window, for removing built-in packages before remastering: http://www.geocities.com/pa_mcclamrock/remasterslim.gif
Step Two, estimate working space needed: http://www.geocities.com/pa_mcclamrock/remaster02.3.gif
Show estimated working space and select working partition: http://www.geocities.com/pa_mcclamrock/remaster02.6.gif
Step Three, show information about remastering while making heap big squashfile: http://www.geocities.com/pa_mcclamrock/remaster03.gif
Step Four, verify that contents of /tmp/root include everything desired: http://www.geocities.com/pa_mcclamrock/remaster04.gif
Step Five, do the same with /tmp/etc and specify hardware configuration if desired: http://www.geocities.com/pa_mcclamrock/remaster05.gif
Step Six, edit isolinux.cfg if desired: http://www.geocities.com/pa_mcclamrock/remaster06.1.gif
Step Seven, rename pup_xxx.sfs file if desired:
http://www.geocities.com/pa_mcclamrock/remaster07.gif
I don't have the rest done yet, but I do have several questions that I hope somebody here can answer.
* How do you best estimate the size of the pup_xxx.sfs file compared to the uncompressed size of the directories that go into it? The "remasterpup2" script just seems to guess that maybe it will be about 1/3 as big, and maybe you'll need, oh, 150 to 200 MB of additional free space if you're going to save an ISO. Is it possible to do better than this? As I said above, I'd like to have a progressbar to show what percentage of stuff has been squashed into the squashfile and what percentage remains to be squashed, but this would seem to require a pretty good estimate of how big the whole thing will be when done.
* I need to make sure I know what to do with the various "packages" files in /root/.packages. I observe that "packages.txt" has the complete list of official packages from the current Puppy Unleashed; "livepackages.txt" is the same as the "Official Puppy 4" list you see in PETget; "livepackages2.txt" and "livepackages3.txt" are the same as Official Puppy 2 and Official Puppy 3 respectively; and "alienpackages.txt" lists the unofficial packages you have installed. To this I have added "slimpacks-xxx.txt," a modified list of built-in packages the user might wish to uninstall with "Remaster Slimmer" before remastering.
What I want to do, I think, is to (1) copy "packages.txt" intact to the /tmp/root/.packages directory for inclusion in the new CD; (2) copy the various "livepackages" files and "slimpacks-xxx.txt" to /tmp/root/.packages too, but then (3) move all the "on" lines out of the "livepackages" copies and merge them into /tmp/root/.packages/slimpacks-xxx.txt, since the packages named in these lines will become built-in packages in the new CD and will be uninstallable with Remaster Slimmer but not with PETget; and (4) omit "alienpackages," since all the packages from there will become built-in packages in the new CD. Does that sound right?
* Following line 196, "#now copy the files... ," "remasterpup2" omits "boot.cat" from the list of files to be copied from the existing live-CD, and includes something called "goofy.16" instead. What's this, and why?
* Are all these "syncs" really necessary? Almost everywhere you do anything with files in "remasterpup2," it seems, there's a "sync" before and after. Would there be any significant chance of disaster if you didn't have quite so many "syncs"?
* All references to "zdrv" can be omitted for Puppy 4.1 and later, can't they?
Thanks in advance for any help!
David McClamrock