01micko c3ba39bb05 in init a stray symlink was being created re: 8b8726a 9 년 전
..
bin 99cf6270a2 Remove old commented-out code from initrd-tree0 11 년 전
etc efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 11 년 전
lib efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 11 년 전
mnt 686d6c1dbb Resolve z-y-drv mount conflict 10 년 전
proc efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 11 년 전
pup_a efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 11 년 전
pup_new efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 11 년 전
pup_ro1 efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 11 년 전
pup_ro2 efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 11 년 전
pup_ro3 efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 11 년 전
pup_ro4 efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 11 년 전
pup_ro5 efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 11 년 전
pup_ro6 efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 11 년 전
pup_ro7 efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 11 년 전
pup_ro8 efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 11 년 전
pup_ro9 efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 11 년 전
pup_rw efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 11 년 전
pup_y efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 11 년 전
pup_z efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 11 년 전
sbin 99cf6270a2 Remove old commented-out code from initrd-tree0 11 년 전
sys efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 11 년 전
tmp efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 11 년 전
var efc1d8657e remove .gitignore files not removed by 99b66de00ce8956ffa2d4c261d4474181e9724be 11 년 전
DEVDIRMARKER 07a44aa52f Initial commit from Nov 11, 2013, woof2 fossil repo 11 년 전
README.txt 07a44aa52f Initial commit from Nov 11, 2013, woof2 fossil repo 11 년 전
init c3ba39bb05 in init a stray symlink was being created re: 8b8726a 9 년 전

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.