How to do a manual remaster
Posted: Fri 28 Jan 2011, 09:53
Over time, after struggling with remasterscripts and failed CD-burns, I settled to a manual remaster procedere which suits me well.
I use 2 frugal installs, in 2 directories:
/mnt/home/dev
/mnt/home/test
Then I have another directory to store my old versions
/mnt/home/Archive
the dev directory has a normal frugal harddisk install in it (vmlinuz, initrd.gz, main_puppy.sfs) with a rather large savefile (1.5 - 2 GB), and the devx etc installed. Now I
And this gives a directory tree squashfs-root with the complete filesystem.
If I want to make changes to the pupplet I do them in the directory tree of squashfs-root.
There you can edit all files directly. E.g you can edit the menu structure in /etc/xdg/, or the Desktop Icons in /root/Choices/ROX-Filter/PuppyPin.nls.
If I have to add packages I unpack them in the dev directory and then copy the contents over to the squashfs-root tree (without install-scripts). Useful: (this will not overwrite already existing files, if you need that, either carefully copy over single files, or, brute force, use the f flag instead of n)
In the /mnt/home/test directory I have all files from the base CD Iso (In my case AUTORUN.INF, grldr, licence.txt, menu.lst, readme-sl.txt, splash.xpm. UPUP.ICO, vmlinuz, initrd.gz. main_puppy.sfs).
If I think it is time to test I pack squashfs-root (either rightcklick on the folder and choose dir2sfs, or use console dir2sfs squashfs-root). This will give the file squashfs-root.sfs in the dev directory. This sfs I move over to the test directory and rename it to main_puppy.sfs, the old main_puppy.sfs goes to the Archive.
After that I reboot and start the test install. Usually I have no savefile there. If something is broken I test how to fix it. If I am not sure what was the fix I can create a savefile, reboot into the dev version, mount the test-savefile and look up what files were changed or added.
if I am happy with my remaster and the frugal test install works I create the iso file:
To test the isos I use them in a virtual machine (also nice to take screenshots). Only after that -eventually- I have to burn a CD (but I do it rarely these days).
For me this has the following advantages:
emil
PS: I described a setup with the grub4dos bootloader, but of course a similar setup is possible with isolinux
I use 2 frugal installs, in 2 directories:
/mnt/home/dev
/mnt/home/test
Then I have another directory to store my old versions
/mnt/home/Archive
the dev directory has a normal frugal harddisk install in it (vmlinuz, initrd.gz, main_puppy.sfs) with a rather large savefile (1.5 - 2 GB), and the devx etc installed. Now I
Code: Select all
unsquashfs main_puppy.sfs
If I want to make changes to the pupplet I do them in the directory tree of squashfs-root.
There you can edit all files directly. E.g you can edit the menu structure in /etc/xdg/, or the Desktop Icons in /root/Choices/ROX-Filter/PuppyPin.nls.
If I have to add packages I unpack them in the dev directory and then copy the contents over to the squashfs-root tree (without install-scripts). Useful:
Code: Select all
# cd into directory of unpacked package, delete pinstall & puninstall
cp -nvr * /mnt/home/dev/squashfs-root
In the /mnt/home/test directory I have all files from the base CD Iso (In my case AUTORUN.INF, grldr, licence.txt, menu.lst, readme-sl.txt, splash.xpm. UPUP.ICO, vmlinuz, initrd.gz. main_puppy.sfs).
If I think it is time to test I pack squashfs-root (either rightcklick on the folder and choose dir2sfs, or use console dir2sfs squashfs-root). This will give the file squashfs-root.sfs in the dev directory. This sfs I move over to the test directory and rename it to main_puppy.sfs, the old main_puppy.sfs goes to the Archive.
After that I reboot and start the test install. Usually I have no savefile there. If something is broken I test how to fix it. If I am not sure what was the fix I can create a savefile, reboot into the dev version, mount the test-savefile and look up what files were changed or added.
if I am happy with my remaster and the frugal test install works I create the iso file:
Code: Select all
cd /mnt/home
mkisofs -R -b grldr -no-emul-boot -boot-load-size 4 -o MyPupplet.iso /mnt/home/test
For me this has the following advantages:
- I always have full control over the contents of my main-sfs.
I can quickly test the progress (making sfs and rebooting test install is a matter of 2 minutes)
I don't produce waste CD's
I can use a fresh savefile of the test install to play sherlock holmes and find out what files need to be changed to make something work.
If something goes wrong I can simply go to the archive and pull out a working version, then rebuild the squashfs-root directory
I learn lots about the way puppy works
emil
PS: I described a setup with the grub4dos bootloader, but of course a similar setup is possible with isolinux