Build your own Puppy

How to do things, solutions, recipes, tutorials
Message
Author
User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

Build your own Puppy

#1 Post by jrb »

I just updated to 0_pupbuild_tool2.tar.gz

I am posting 0_pupbuild_tools.tar.gz. This contains the main files and folders that I use to work on ChoicePup and other puppy projects. You should extract it to a linux partition.

0_pupbuild_tools contains the following files. If you extract to a linux ext3 or ext2 partiton (can be a usb flash drive) they can be used to edit and rebuild a Puppy4xx or put together a custom sfs file, initrd.gz or iso.

clear-a2-pkg - deletes all files and folders in /a2 and /packages

cp_a2_a1.sh - copies all files and folders from /a2 to /a1

delete_same_a1-2 - compares the contents of /a1 and /a2 and deletes any files in /a1 that match those in /a2

dir2sfs_nover - converts a folder (directory) to an sfs file (without pup version number)

expandpets.sh - extracts the contents of .pets placed in /packages, combines them and copies them to /a2 then opens /a2 in ROX.

make_boot_iso - files that are placed in /iso_files will be converted to myiso.iso

open_initrd.sh - will extract the contents of an initrd.gz file placed in /initrd-tree. It will delete /initrd-tree/initrd.gz after copying it to initrd.gz1 in the pupbuild folder.

Rebuild_initrd.sh - will rebuild initrd.gz from the contents of /inird-tree.

rm_empty.sh - will delete empty sub-folders from any folder you drag to it.



A typical scenario would be removing seamonkey-1.1.15-v1 from Puppy421 and replacing it with synth's opera10-qt452-flash10.pet:


1. Click on puppy-4.2.1-k2.6.25.16-seamonkey.iso (or place the cd in your drive and mount it).

2. If you are running puppy421 then copy pup_421.sfs to another location, rename it (pup_421A) and click on it. Otherwise just click on it.

3. Copy all the contents (ctrl+A) to /0_pupbuild_tools/a1

4. Download ftp://ibiblio.org/pub/linux/distributio ... .15-v1.pet. Change .pet to .tgz, click on the file and extract (with xarchive) to /a2.

5. Click on expandpets.sh.

6. Click on delete_same_a1-2. This will remove seamonkey files from /a1.

7. Click on clear-a2-pkg. This will remove the seamonkey pet from /packages and /a2.

8. Download http://stashbox.org/558016/opera10unite ... lash10.pet and extract it to /a2 as above.

9. Click expandpets.sh and delete pet.specs. If there was a pinstall.sh you would have to open it as text and perform its function manully in /a1.

10. Click cp_a2_a1.sh. This will install Opera in /a1. Note: installing pets this way does not activate the fixmenus command so they will not appear on the menu until this is done. A simple solution is to edit /a1/root/.xinitrc and place the command fixmenus 7 lines from the end just above #exec $CURRENTWM.

11. Drag /a1 to rm_empty.sh and it will delete any empty folders left over from seamonkey/

12. Drag /a1 to dir2sfs_nover and it will create a1.sfs. Rename a1.sfs to pup_421Opera.sfs.

13. Place pup_421Opera.sfs along with boot.cat, boot.msg, help.msg, initrd.gz, isolinux.bin, isolinux.cfg, logo.16, and vmlinuz from the original iso in /iso_files.

14. Click make_boot_iso. Rename myiso.iso to puppy-4.2.1-k2.6.25.16-opera10.iso and you have your new version of puppy.

Note: First try of the new puplet shows at bootup that /usr/local/bin/defaultbrowser and /usr/local/bin/defaulthtmleditor disappeared along with seamonkey. I go back and place copies of these two back in /a1, then edit them to set "startopera" as the browser and "geany" as the htmleditor. Then repeat from step 11. Pretty typical, bugfix time.

Thanks to Barry, Pizzasgood and anyone else (that I don't remember) who contributed code to the above scripts.

#jrb-5sep09
Attachments
0_pupbuild_tools_2.tar.gz
tools for modifying init.gz, pup.sfs, and building new iso
(3.93 KiB) Downloaded 2290 times
Last edited by jrb on Wed 22 Sep 2010, 01:48, edited 1 time in total.

seaside
Posts: 934
Joined: Thu 12 Apr 2007, 00:19

#2 Post by seaside »

jrb,

Very nice job of putting together this tutorial and toolkit. (I especially like the part where "some missing/incomplete" items show up after you think it's all done. :D

Of course, I thought you would use Choicepup as the example, but that's probably a little too much for a typical example....

This looks like "sticky" material to me.

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

#3 Post by jrb »

seaside wrote: I thought you would use Choicepup as the example
I have 25 hand written pages of notes on how I built ChoicePup. Thought reading that might get a bit tedious, especially the parts about missing items.

Thanks for the kind words, J

User avatar
clarf
Posts: 613
Joined: Wed 13 Jun 2007, 19:22
Location: The old Lone Wolf

#4 Post by clarf »

Hi jrb, Great collection of tools and tips. With the steps given seems a fast and simple way to Rebuild Puppy.

I'm using choicepup-4.1.2minV2-k2.6.25.16.iso now. I have a question about the way it loads sfs files, it only has 8 loop devices defined in /dev (/dev/loop0 to /dev/loop7) then: How init can mount more than 8 of sfs files if choicepup don´t have enough loop devices for that work???.

In fact I can mount 10 sfs files in boot (using BootManager or just renaming them to _412.sfs) and choicepup works fine, but I can´t load manually (using ROX or in terminal) more sfs files after choicepup is running because there are not enough loop devices.

I created 7 more loop devices inside /dev/ and now I can mount manually more than 5 sfs files using ROX or terminal, It could be good to add more loop devices in choicepup, because it´s supporting a lot of sfs files in boot but not when you are mounting them manually, and this behaviors can confuse users... It confuses me, although I could add more loop devices I don´t know the way it´s loading more files at boot.

Thank for the attention pleased jrb.

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

#5 Post by jrb »

clarf wrote: it only has 8 loop devices defined in /dev
You're absolutely right clarf. I ran into the same problem so I built a script /usr/local/bin /mknod.sh, which creates 7 more. Its symlinked into /root/Startup/mknod.sh and should start automatically at boot. Check your /root/Startup and make sure its there.

Thinking about it I should probably have just made those loops permanent. I'll look into it for ChoicePupminV3.

Thanks for the idea, J

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

#6 Post by tlchost »

jrb wrote: You're absolutely right clarf. I ran into the same problem so I built a script /usr/local/bin /mknod.sh, which creates 7 more. Its symlinked into /root/Startup/mknod.sh and should start automatically at boot. Check your /root/Startup and make sure its there.

Thinking about it I should probably have just made those loops permanent. I'll look into it for ChoicePupminV3.
Can that script create more than 7? I notice that the final version of Lighthouse allows for 40 sfs files.

My conflick is not how many pets I can load in...its how many do I HAVE to load in because the number of sfs files loaded has reached max :twisted:

Thanks for a great Puppy....

Thom

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

#7 Post by jrb »

Clarf,
Further investigation reveals that one must include max_loop=28 or whatever# in the kernel line for a frugal install and in the append line for a CD to get kernel 2.6.25.16 to use more than 8 loops. I have placed this in my menu.lst and have managed to mount up to 17 sfs files (even though I have 39 /dev/loops). This does not seem to affect loading the sfs files for use however, . Only affects mounting them to see the contents. I can load 28, at least using load_sfs. I haven't tried with bootmanager yet.

Thom,
I'm working on V3 right now. I'll see what I can do about more than 28. Sheesh, keeping up with the Lighthouses. One thing you might consider. Combine some of those sfs's. I believe there's a tool in the forum for doing just that. Can't remember whether it was MU or trio or maybe somebody else.

ICPUG
Posts: 1308
Joined: Mon 25 Jul 2005, 00:09
Location: UK

#8 Post by ICPUG »

We owe you a lot for all this stuff to help create modularised Puppies.

Amazing!

User avatar
sue
Posts: 23
Joined: Sat 10 May 2008, 03:41
Location: Anaheim, CA, USA

4.3 base for next version?

#9 Post by sue »

Will the next choicepup use 4.3 as a base?

Bosola
Posts: 19
Joined: Sat 25 Jul 2009, 12:45

#10 Post by Bosola »

Wow! This is extraordinarily helpful! I might even be inspired to try making a few derivatives of my own!

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

#11 Post by jrb »

Bosola and ICPUG,
All compliments gratefully accepted :oops: but I must say that I'm pursuing what I want in an operating system and am just happy to share. :D

Sue,
I'm just working out the last few bugs in ChoicePup4.12V3 but I think I now have the ChoicePup mods packaged well enough that I can fairly quickly make a new one. The other day I played with puppy421barebones and had a workable choicepup421 turned out pretty fast, when I get a little more time I'll release that. I have also put together a rough choicepup400 as that's the only puppy I've been able to get working with the novel network that I use at work (ncpfs filesystem)

I'll wait until Barry is finished with puppy4.3 before I tackle that but I have already discovered that load_sfs doesn't work with the two new kernels he has used :( so it will have to be ChoicePup4.3retro.

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

#12 Post by tlchost »

jrb wrote:
I'll wait until Barry is finished with puppy4.3 before I tackle that but I have already discovered that load_sfs doesn't work with the two new kernels he has used :( so it will have to be ChoicePup4.3retro.
Don't forget us folks that need the kernel you used in min-choice!

A set of observations:

A. Choicepup is one of the easiest to get running Puppies I've used.
B. It has a nice mix of simplicity and sophistication.
C. You are one of the most responsive and helpful folks in the make-a-puppy world.

I teach in an adult education center....and the seniors love Choice-Pup,

Thanks for producing it.

Thom

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

Re: Build your own Puppy

#13 Post by jrb »

I just updated to 0_pupbuild_tool2.tar.gz

Has the needed folders included this time.

Enjoy, J :D

User avatar
charlie6
Posts: 1230
Joined: Mon 30 Jun 2008, 04:03
Location: Saint-Gérard / Walloon part of Belgium

Re: Build your own Puppy

#14 Post by charlie6 »

Bonjour jrb
jrb wrote:... can be used to edit and rebuild a Puppy4xx or put together a custom sfs file, initrd.gz or iso...
Many thanks for that tool !
Sounds to be an attractive alternative to remaster, remax, etc ...

I just would like to know if this only works for Puppy4xx; or if this is Puppy version, kernel version independent.; for instance does it also works for Puppy derivatives Lucid or Lupq ?

Thanks in advance for any answer !
Cordialement, Charlie

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

Re: Build your own Puppy

#15 Post by jrb »

charlie6 wrote:I just would like to know if this only works for Puppy4xx; or if this is Puppy version, kernel version independent.; for instance does it also works for Puppy derivatives Lucid or Lupq ?
I have used these tools with Luci, Lupu, Wary and Quirky. The only one that requires something extra is Quirky1.3. After you have created new .SFS's you must apply:

Code: Select all

echo -n 'q130100920100026' >> puppy.sfs
.
If you create a zdrv.sfs you must do the same to it as well.

Hope these work well for you, J

User avatar
GustavoYz
Posts: 883
Joined: Wed 07 Jul 2010, 05:11
Location: .ar

#16 Post by GustavoYz »

:shock: A-MA-ZING!
Thanks jrb!
Regards.

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#17 Post by technosaurus »

I put together a detailed howto for most of the parts of this that are left to the user. (with pictures and using no command line tools - hopefully it is helpful) it is in html - so maybe it can be posted to one of puppy's pages.

http://www.murga-linux.com/puppy/viewtopic.php?t=53241
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

Pelo

Impeccable

#18 Post by Pelo »

: that is the tool i am used to.
It's LTS tool !

slavvo67
Posts: 1610
Joined: Sat 13 Oct 2012, 02:07
Location: The other Mr. 305

#19 Post by slavvo67 »

An old post but I've been trying to make my own Puppy forever now! I wish somebody put up a puppy creator for dummies (type book) on this site. It seems like most of the tutorials miss a critical step or two that leave the novice hanging out there to dry...

Maybe I'll give this one a try...

starhawk
Posts: 4906
Joined: Mon 22 Nov 2010, 06:04
Location: Everybody knows this is nowhere...

#20 Post by starhawk »

There's also two methods I use...

(1) Woofy 0.9 by sc0ttman (don't use 0.91, the delete packages part is way more confusing there, to the point that it's basically useless).
http://murga-linux.com/puppy/viewtopic. ... 73&t=57037

(2) Manual remaster type operation -- unSquash the main SFS file for your base Pup, make manual changes, repack. It's not that hard... harder than it sounds, but not by much ;)

Post Reply