README.txt 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. The key to understanding how Puppy works is the initial boot script,
  2. /initrd/init.
  3. In a nutshell, everything you see in /initrd is the "initial ramdisk",
  4. which is actually /dev/ram0. For Puppy 4.0 and later, the kernel uses a slightly
  5. different technique and it is more correct to call it the "initramfs" and
  6. /dev/ram0 is not used.
  7. With Puppy prior to 4.0, the initial ramdisk is not discarded after bootup.
  8. From 4.0 onward, the initramfs is discarded, but much of it is transfered to
  9. the main filesystem in the /initrd directory. Technically different, but
  10. similar end result from the users point of view.
  11. The directories pup_rw, pup_ro1, etc are mounted on "/" when Puppy is running.
  12. The number of them mounted is variable, at least pup_rw will be.
  13. The usual situation is pup_rw, pup_ro1 and pup_ro2 are mounted on "/".
  14. When control transfers from the initial ramdisk or initramfs to the main filesystem,
  15. these mount-points are relocated to inside /initrd.
  16. /initrd/pup_rw
  17. This is the writable folder. Usually it is tmpfs (temporary filesystem) in ram.
  18. However, a personal storage file (named "pup_save.2fs" or similar) or partition
  19. could be mounted directly on here (in which case it won't be on /initrd/pup_ro1).
  20. /initrd/pup_ro1
  21. This is usually your saved files, and the contents of pup_rw get saved to here,
  22. periodically or at end of session. In other words, your personal storage file or
  23. partition is mounted here, except see above note.
  24. Note that this is mounted rw, although unionfs makes it behave as ro on "/".
  25. /initrd/pup_ro2
  26. These are all the Puppy files. Normally we don't write to this, we keep it pristine.
  27. This file is named something like "pup-430.sfs" or similar, where the "410" is the
  28. 3-digit version number.
  29. /initrd/pup_ro3
  30. Recent versions of Puppy built with the Woof build system, in 2009 or later, may
  31. have a "zdrv" mounted on here. This is a situation in which the kernel modules and
  32. firmware are in a separate file named "zp430nnn.sfs" or similar (the essential
  33. feature to recognise this file is it starts with letter "z" and has the version
  34. number in it).
  35. unionfs
  36. Mounts the directories in this order:
  37. pup_rw
  38. pup_ro1
  39. pup_ro2
  40. pup_ro3
  41. pup_ro4
  42. pup_ro5
  43. etc.
  44. Where the higher directory has precedence. For example if files of the same name
  45. exist in pup_rw and pup_ro1, the file in pup_rw is the one that is "seen".
  46. ------------------
  47. Barry Kauler 2009.