mavrothal cca1794813 Search in USB for savefiles when booting from CD 10 years ago
..
bin 99cf6270a2 Remove old commented-out code from initrd-tree0 10 years ago
etc efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 10 years ago
lib efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 10 years ago
mnt efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 10 years ago
proc efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 10 years ago
pup_a efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 10 years ago
pup_new efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 10 years ago
pup_ro1 efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 10 years ago
pup_ro2 efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 10 years ago
pup_ro3 efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 10 years ago
pup_ro4 efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 10 years ago
pup_ro5 efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 10 years ago
pup_ro6 efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 10 years ago
pup_ro7 efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 10 years ago
pup_ro8 efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 10 years ago
pup_ro9 efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 10 years ago
pup_rw efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 10 years ago
pup_y efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 10 years ago
pup_z efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 10 years ago
sbin 99cf6270a2 Remove old commented-out code from initrd-tree0 10 years ago
sys efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 10 years ago
tmp efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 10 years ago
var efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 10 years ago
DEVDIRMARKER 07a44aa52f Initial commit from Nov 11, 2013, woof2 fossil repo 10 years ago
README.txt 07a44aa52f Initial commit from Nov 11, 2013, woof2 fossil repo 10 years ago
init cca1794813 Search in USB for savefiles when booting from CD 10 years ago

README.txt

The key to understanding how Puppy works is the initial boot script,
/initrd/init.

In a nutshell, everything you see in /initrd is the "initial ramdisk",
which is actually /dev/ram0. For Puppy 4.0 and later, the kernel uses a slightly
different technique and it is more correct to call it the "initramfs" and
/dev/ram0 is not used.

With Puppy prior to 4.0, the initial ramdisk is not discarded after bootup.
From 4.0 onward, the initramfs is discarded, but much of it is transfered to
the main filesystem in the /initrd directory. Technically different, but
similar end result from the users point of view.

The directories pup_rw, pup_ro1, etc are mounted on "/" when Puppy is running.
The number of them mounted is variable, at least pup_rw will be.
The usual situation is pup_rw, pup_ro1 and pup_ro2 are mounted on "/".
When control transfers from the initial ramdisk or initramfs to the main filesystem,
these mount-points are relocated to inside /initrd.

/initrd/pup_rw
This is the writable folder. Usually it is tmpfs (temporary filesystem) in ram.
However, a personal storage file (named "pup_save.2fs" or similar) or partition
could be mounted directly on here (in which case it won't be on /initrd/pup_ro1).

/initrd/pup_ro1
This is usually your saved files, and the contents of pup_rw get saved to here,
periodically or at end of session. In other words, your personal storage file or
partition is mounted here, except see above note.
Note that this is mounted rw, although unionfs makes it behave as ro on "/".

/initrd/pup_ro2
These are all the Puppy files. Normally we don't write to this, we keep it pristine.
This file is named something like "pup-430.sfs" or similar, where the "410" is the
3-digit version number.

/initrd/pup_ro3
Recent versions of Puppy built with the Woof build system, in 2009 or later, may
have a "zdrv" mounted on here. This is a situation in which the kernel modules and
firmware are in a separate file named "zp430nnn.sfs" or similar (the essential
feature to recognise this file is it starts with letter "z" and has the version
number in it).

unionfs
Mounts the directories in this order:
pup_rw
pup_ro1
pup_ro2
pup_ro3
pup_ro4
pup_ro5
etc.

Where the higher directory has precedence. For example if files of the same name
exist in pup_rw and pup_ro1, the file in pup_rw is the one that is "seen".

------------------
Barry Kauler 2009.