=====
1. Choosing a puppy
My perception is that in 2008 or whenever I started there was one flavour, then there was a confusing proliferation of different sorts of puppy in 2013 (when I next looked because I began using slacko at work), and now there are a few survivors-of-the-fittest.
As a user I can't tell the difference between any of them, and I don't remember what puppies I've installed.
I think that is a great virtue of puppy linux, e.g. compared with Firefox where they constantly pull the rug out from under the users for the sake of it.
I would find it useful on the main puppy page where it lists the different flavours to have a bit more of a steer as to why I'd want each one: I understand the basic logic like Raspbian is for Raspberry Pi and slacko works with slackware (but with slacko I only chose it because it recognized my printer, and find most debian apps run on it anyway or people have turned them into pup files). I chose Bionic most recently because it said it supported UEFI (but my laptop BIOS can't seem to boot it that way and has to be set to Legacy Boot, so again it's arbitrary what puppy I've ended up with and to me that doesn't matter). I can't see from the homepage and don't understand things like why someone would want Fossapup vs. Xenialpup.
==
2. Installing the puppy
My perception (sorry to say this) is that puppy linux is hideously difficult to install, but incredibly robust once it's done. My slacko work USB has been continuous since 2013. I'm conscious my experience isn't a fair test: I find windows and ubuntu tend to get glitchier as time goes on and the more software has been installed... with ubuntu in particular always ending in some library/repository mismatch breaking the entire system.
Puppy linux can take me a WHOLE DAY to install though and I'd rather clone a USB from 2014 than risk installing a more recent version.
It takes 10 minutes to download, 10 minutes to burn the Live USB, 10 minutes to run the install tool... multiplied by like 10 attempts.
My user case for Puppy is to unchain the OS from the PC... to run everything off the USB, so I can carry it round and plug it into any computer, and use all my apps, logins, and settings. I like to have a 128Gb USB key, boot from it, and then keep my user files inside a 100Gb NTFS-formatted veracrypt container. I don't want savefiles or anything else putting on the local HDDs. I don't really like the savefiles concept (despite having read all the advantages and for reasons I'll go into), but the "full install to USB" I've never been able to do, so I go along with frugal installs as recommended. A great thing about running an OS from USB is that you can easily clone a USB key and it will work.
I've used Universal USB installer from Windows, and unetbootin from Ubuntu... I haven't tried Rufus or Yumi. I personally took a long time to work out that these tools set up a "Live USB" on FAT32 and then the "Live USB" next has to be used to install puppy to an ext4/3/2 partition on a second USB stick. Creating a Live USB feels like an annoying, confusing, and very time-consuming extra stage when I just want to install puppy on a USB.
Making the USB keys bootable is often a nightmare for me, as the GUI application offers defaults that won't boot (despite the LiveUSB booting fine) or calls GParted and lets me choose from even more combinations that won't work. I'd like it much more if full/frugal installs were there as options INSIDE the third-party USB installers (I feel they shouldn't assume the USB is to be used in place of an install CD with the contents eventually destined to go onto a HDD). I also feel the whole concept of Live CDs is slightly apologetic, like there would be windows there in the first place.
I find it weird that Live USBs often won't install over themselves once puppy is loaded into RAM... and that "Universal USB Installer" doesn't have a linux version and its windows version can't create ext 4/3/2 partitions... Fat32 and some of the other formats with drawbacks seem like they could be in an "advanced" menu.
I've sometimes found it worked better to copy boot files (sorry not sure of the terms) like vmlinuz from another usb key I had got working, than to generate them during install.
Overall, my user case is simple and to achieve it feels like balancing a complicated tower of BIOS>Grub>GParted>Install Tool>LiveUSB Installer
The tips presented inside the "Install" Tool could be better. Some of the either/or choices the user has to make depend on arcane or puppy-specific concepts. On my one currently in Bionic64 v8 the first choice is between:-
Universal Installer (required for full install)
OR
Bootflash USB Installer (install to flash drive - destructive method)
tbf there is a link to the "Installation Introduction Homepage", but I just want to install an OS, without learning arcane concepts first
I always arrive at this menu thinking I want to do a full install to a USB, but the one I need to choose is Bootflash USB Installer.
==
3. Savefiles and Frugal
The only major limitation I see there to be in Puppy is that when an application has a memory leak, through no fault of puppy's, puppy tends to let it carry on consuming more and more of the PC's resources until it's no longer possible to right-click that application and Kill it.
The Kill command itself works (with a beautiful perfection and efficiency that Windows' ctrl+alt+del altogether lacks), but too often you don't get the chance to actually send it to the application: puppy is quite happy, the network access light is flashing, but 99.999% of the CPU or memory are servicing an error in Libreoffice or Firefox. The mouse pointing starts updating every second... every other second... every ten seconds... and so on forever. The power switch can be good for getting out of this into an orderly shutdown, but I find it's about 50/50 whether it can. This leads to applications forcing hard resets even though they haven't actually crashed the OS.
Hard resets are A Bad Thing when your computer is a USB key, and A Very Bad Thing when all your user data is inside an encryption container on a USB key. What I would find invaluable is an emergency key combination (or maybe the power button) that pushes through phases: (1) close every application except for stuff like X and JWM (2) same as 1 but bloody well kills them if necessary; (3) same as 2 and forces the PC into an orderly shutdown. pprocess can do anything the windows ctrl+alt+del task manager can do - this would be for situations where you can't open pprocess anymore
Another problem (I find) with savefiles for my USBs is that sometimes if you swap them from PC to PC a few times, puppy will fail to boot because it can't find the .sfs and savefile... until you remove the USB key and re-insert it into the "right" USB port. There might be some other cause, but this *feels* to me as if puppy looks for the .sfs and savefile based on the device number (sdb1 sdb0) when for my user case it should be using the UUID. FIXED 08/01/2021 (note below)
The savefiles themselves always still work after hard resets, but installed software or settings changes since the last save vanish which I guess is to be expected.
To me, even after 10 years, the relationship between puppy's sfs's, its savefiles, its "personal storage", and the storage partition on the USB might as well be voodoo. I don't know which parts of the filesystem I can save stuff to without it vanishing in the (exceptional) cases of a hard reset or the personal storage running out... so I end up only saving files to the encryption container.
I know it operates rationally, it's just that I've read the explanations dozens of times without it sinking in. I think it was along the lines that everything in puppy's / directory is really inside the savefile... which only exists in the RAM until it's "saved".
The Veracrypt container is good because unlike the encrypted savefile it can be opened off the USB without booting into puppy first.
I suppose the original/primary/intended puppy user case might have been to run everything in RAM whilst using the HDD for storage (notwithstanding it probably also had a windows install on it), and that the apps that react badly to these hard resets are ones like FF/TB/JWM which perhaps have made assumptions like "profiles are on a hdd and not a savefile in RAM, so they can be extremely large". I want to divorce from the HDD as well though: ideally I would only have one HDD in the house (the one plugged into the fileserver).
Ideally ideally my puppy fileserver would be a webserver as well and I could plug my puppy USB into any PC in the world as a client and listen to my mp3 collection at home on it. Not like a thin client... my data is universal across my network and the terminals I use to interact with it are specialised to different roles whilst being independent of hardware. For Steam games in the dining room, find the Steam Gaming puppy image on the fileserver, and burn it to a USB.
FIXED - set savefile location based on UUID of a USB Key
This is possible by editing menu.lst (or creating this file using grub4dos) and it is explained here
http://puppylinux.info/topic/about-your ... s-uuid-etc
but it's so important it should also be explained here imo:-
http://wikka.puppylinux.com/BootParametersPuppy
It took hours to find this kind person's explanation - and the time this problem has wasted me over the last few years has been horrific, the first time it happened before I worked out that it (sometimes) matters which usb port the usbkey is in I drove across town thinking I had lost all my files.