site  contact  subhomenews

EasyPup a blast from the past

January 26, 2020 — BarryK

For the last couple of days have scratched an itch. Scratched now, and that's it, done.

I have mentioned many times that once upon a time there was Puppy-Unleashed, then Woof, then Woof2, and in 2013 Woof2 got forked to WoofQ and woof-CE. Fatdog is in this picture also, having forked from Puppy-Unleashed.

I heavily modified WoofQ to build Quirky Linux, which is a "full installation" only distro. Then in 2017 started EasyOS and WoofQ was able to build both Quirky and Easy. Then Quirky got retired, and support for building Quirky in WoofQ became deprecated.

But, going back to 2013, WoofQ was able to build a genuine bona fide Puppy Linux, then gradually lost that capability. But not entirely...

The WoofQ tarball has a folder in it named "puppy", in which I retained some of the Puppy scripts. Fast forward to two days ago, I became curious about that "puppy" folder, and wondered if it is possible to build a genuine Puppy. Well, a Puppy as it was in 2012 - 2013. That is, with most of the features of EasyOS Buster 2.2.5, such as network management, hardware-profiling, bluetooth management, and so on, except for some things that are EasyOS-specific, such as support for containers.

That was the sudden itch. Worked on it for a couple of days, found lots of broken things in those old scripts, but did build an actual Puppy Linux. Here is how to do it:

You need to be running EasyOS, Quirky or a recent Puppy, 64-bit OS. I haven't actually tested my scripts on a running Puppy, just assuming it will be OK.

Download this tarball:

Expand it in a ext3 or ext4 partition, inside there is a script 'merge2out', run that in a terminal -- it will ask some questions, and choose "amd64", "debian" and "buster". At the top of the partition there will be created /builds/woof-project/builds/easy-out_amd64_amd64_debian_buster -- do not follow any symlinks. Inside that folder, run the scripts to build EasyOS:

# ./0setup
# ./1download
# ./2createpackages
# ./3buildeasydistro

There are documentation files that explain all of this, but this is the summary. EasyOS will have been created in folder 'sandbox3'.

Note, '1download' downloads all required packages. If perchance it cannot find some, they can be manually located here:

Alongside folder 'sandbox3' is folder 'puppy'. Go in there and run script '7build-puppy-cd':

# ./7build-puppy-cd

It will create an ISO, which I have uploaded:

Here is the desktop:


This pup is a weird beastie. Looks like EasyOS, but also like a somewhat broken vintage-2012 Puppy Linux. Broken, because I got to the desktop then stopped working on it. For example, created a save-file at shutdown, but it wasn't found at next bootup -- a mere detail, sure that can be fixed. However, finding all the little issues and fixing them will take many days, would likely run into weeks. Another issue is booting with "puppy pfix=nox" didn't work.

This was just a fun excursion, a novelty project. I do not want to develop something that competes with the official Puppy, so that's it, finished. I almost wasn't going to upload the ISO, but then thought hey, why not, someone might like the diversion, might even want to hack on it.

Notice the "install" icon on the desktop. It does launch a window, but I haven't tested to see if any of it works.

I did one hack, put in folder /home as per EasyOS, and /mnt/wkg a symlink to /. This is for some apps that want these paths for open and save. The Puppy normal is open and save dialogs default to /root. The 7build-puppy-cd script could search for any scripts with /home or /mnt/wkg and change to root. Anyway, as I said, I have dropped it.

Oh yeah, decided to call it "EasyPup". 

EDIT 2020-01-29:
I felt bad leaving it in such a broken state, decided to do some basic fixing. The above link has EasyPup version 2.2.6, which has the fixes. I have posted about the fixes here: 

Tags: easy