:: Re: [Dng] Puppy Linux-related thoug…
Top Page
Delete this message
Reply to this message
Author: Isaac Dunham
Date:  
To: Apollia
CC: dng
Old-Topics: [Dng] Puppy Linux-related thoughts - was Re: API: was (for who knows what reason): Dng Digest, Vol 6, Issue 75
Subject: Re: [Dng] Puppy Linux-related thoughts
On Sun, Mar 22, 2015 at 11:24:03PM -0400, Apollia wrote:
>
> Regarding desktops - perhaps Puppy Linux might be a good place to look for
> some inspiration? http://en.wikipedia.org/wiki/Puppy_Linux
>
> So small, light, fast, and relatively easy to use, even for total Linux
> newbies.


Ah yes, Puppy Linux.
I've used that a lot.

(Most of) the standard ingredients are an apt-get away; it's usually
jwm, rxvt-unicode, mhwaveedit, geany, abiword, gnumeric, ...

Partly it's looking for lightweight applications, partly it's avoiding
duplicates (though there are a few of those!), and partly it's the window
manager and related details.

In a standard Puppy, there is no Python; I'm not sure if Perl is stock,
either.
> I have to admit, some of the default out-of-the-box settings of most any
> Puppy Linux I've tried annoy the heck out of me, like having to
> single-click instead of double-click to open things.
>
> But the software preinstalled in them is often quite nice and well-chosen,
> and many quickly became favorites of mine. (Geany, NoteCase, mtPaint,
> Viewnior, etc...)
>
> And most Puppy Linuxes I've tried make it very easy to get on the internet,
> something I recall usually being difficult to do back in 2011 when I was a
> Windows XP user trying various Linux live discs.


Last I knew, there were at least 3 network managers that were puppy-specific
(Simple Network Scanner, Frisbee, PeasyWifi...and maybe clinet from pupngo
counts also).
All the standard ones are written in shellscript + gtkdialog.

Even though there's an icon for the terminal right on the desktop, the
Puppy Linux developers work on the assumption that you should never *need*
to open it to get things working.

<snip>
> I've also increasingly been considering trying to build my own Linux from
> scratch, probably using this website as a guide:
> http://www.linuxfromscratch.org/


If you want a short build, look at Bootstrap Linux or ELFS:
https://github.com/pikhq/bootstrap-linux
http://kanj.github.io/elfs/book/
(and clfs-embedded is simple too, but it's harder to get.)

As a rule of thumb, before you try building a Linux system from scratch
you should make sure you can configure a kernel that works for your
hardware. Spoiler: "make localmodconfig" and "make localyesconfig"
are your friends.


> Another good thing about Puppy Linux is that it's one of the major holdouts
> against adopting systemd, according to this blog post by Barry Kauler, the
> creator of Puppy Linux:
>
> http://bkhome.org/news/?viewDetailed=00114
>
>
> One of my favorite things about Puppy Linux is the fact that the entire
> operating system can be loaded into RAM, which helps make things very fast.


This requires stripping everything down as small as possible, choosing
small programs, and so on.

> Another of my favorite things is that I don't have to even have the OS
> installed on my hard disk, and thus I don't have to worry that I might
> accidentally break my entire system and have to reinstall everything from
> scratch just because of installing (or doing) the wrong thing.


This is due to the use of squashfs and aufs (Another Union Filesystem).

squashfs is a compressed archive with a readonly "driver" in the kernel.
Union filesystems, in general, create a "filesystem" by layering multiple
mounts.

A Pupsave file is a file containing a ext* filesystem that gets mounted
as the top layer of a union filesystem, over an SFS layer.
<snip>
> Another type of Puppy installation is a "full installation". If I'm not
> mistaken, the difference between a Puppy full installation and a Puppy
> frugal installation (with a Pupsave file) is, I think a full installation
> isn't loaded into RAM, and changed files get saved to disk immediately,
> rather than being saved to a Pupsave file after a delay and either
> automatically and periodically, or upon the user's request.


A full install is a classic Linux install, with no layers and no SFS.

> (With a frugal installation without a Pupsave file, nothing gets saved, and
> you just get asked at shutdown whether you want to create a Pupsave file,
> and you're able to refuse to create one.)
>
> I believe a frugal installation + a Pupsave file is probably the most
> frequently recommended way of doing things - but a full installation might
> in some circumstances be better, such as on a system with too little RAM to
> comfortably load the entire operating system into RAM.
>
>
> Anyway, I haven't yet heard of anyone else using a similar approach to the
> way I run Linux - always booting my system from scratch with a default
> Puppy Linux frugal installation with no Pupsave file, and then running my
> Puppy Linux Setup Kit to install all of my customizations and preferred
> software, and never saving anything to a Pupsave file, nor saving anything
> to a multisession live CD or DVD of Puppy.


I haven't looked at what you do/what they did, but this sounds vaguely like
what Tinycore Linux does.

Thanks,
Isaac Dunham
a/k/a "ibidem" on the Puppy Linux forums