EasyPup a blast from the past
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:
http://distro.ibiblio.org/easyos/project/woof/woof-project-20200126.tar.gz
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:
http://distro.ibiblio.org/easyos/amd64/packages/
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:
http://distro.ibiblio.org/easyos/project/easypup/
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:
https://bkhome.org/news/202001/some-easypup-fixes.html
Tags: easy