KelPup is an in-development woof-built Puppy Linux distribution targeted towards those interested in Linux but unsure of where to begin. It's designed to provide easy (ish!) instructions for booting a Linux distro off of a USB, getting a taste for how Linux works and is different from Windows or MacOS, and giving the confidence to start exploring other distros.
KelPup is built on top of FossaPup64- built by Puppy Linux developer Phil Broughton. Puppy Linux was created by Barry Kauler.
KelPup is built using woof-CE, a Puppy Linux distribution builder forked from Barry Kauler's woof2 by the Puppy Linux github organization.
- Fork this fork of woof-CE to your own GitHub account
- Open your fork, go to the Actions tab and enable actions
- Make any modifications you want, either on lastbuild or your own branch! See the wiki or read below about the directory structure for guidance
- Run the test workflow manually (instructions below), with the branch with your modifications as the input
- Download the ISO from the build artifacts, install it, and test it out
- When you're happy with it, open a pull request and select kelpup/woof-CE
Installation info for MacOS and Windows.
- Linux Tips - add some new Linux / command line navigation tips to our list of tips (Issue #35) (easy guru point ;))
- Bug reports - test out our latest ISO release out yourself and let us know what didn't go right
- Learning games - we'd like to include simple python learning games, if you'd like to make them (Issue #27)
- pTheme development - check out the pTheme page on the wiki for instructions and make some modifications to KelPup's "Pink Moon" pTheme (Issue #24)
- Ideas - a feature you think should be added, an idea that should be explained better, let us know!
We're building our distro by modifying the distro specifications in woof-CE/woof-distro/x86_64/ubuntu/focal64/
to decide what to include and not include in the distro and the root filesystem of the distro in woof-CE/woof-code/rootfs-skeleton/
.
The test workflow builds a x86_64, ubuntu focal64 puppy linux distribution with a 5.4.x-x86_64 kernel from the files in the branch that is input into it. It builds directly on GitHub, and uploads the ISO as a build artifact.
- Go to GitHub Actions, and select Test
- Hit Run Workflow, then Run Workflow again
- Wait for the test to complete (20min-1hr) and a green checkmark appears
- Click on the test, and scroll down to the build artifacts and download the artifact
- Unzip the artifact, and the ISO will be in the resulting folder
Woof-CE has five directories:
- woof-arch : architecture-dependent (x86_64, x86, ARM) files, mostly binary executables.
- woof-code : the core of Woof. Mostly scripts.
- woof-distro : distro-configuration (Debian, Slackware, etc.) files.
- kernel-kit : scripts to download, patch, configure and build the kernel.
- initrd-progs: scripts and files to generate the initial ramdisk
The majority of the code we modified was as follows:
- woof-code : modified the base filesystem, added things to the packages
- woof-distro : modified the distro specification files
woof-code
- root filesystem in rootfs-skeleton
- build scripts
- packages with applications
woof-distro
- files that specify the pet packages you want for different distro builds
- distro specification files seperated by folders (ex: focal is in ``woof-CE/woof-distro/x86_64/ubuntu/focal64/`)
init-progs
- init script (spooky!)
The GitHub workflows wrap around four main scripts that were originally designed to run via the commandline. 0. 0setup - download package database files as specified in the puppy pet package files under woof-distro
- 1download - download actual pet packages
- 2createpackages - build the puppy packages
- 3builddistro - build the ISO
All these are in woof-code.
Check out the technical notes from the original readme by the Puppy Linux github organization.