Skip to content

kelpup/woof-CE

 
 

Repository files navigation

KelPup - a Puppy Linux distro for beginners

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.

Testing: Build status

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.

Contribute

  1. Fork this fork of woof-CE to your own GitHub account
  2. Open your fork, go to the Actions tab and enable actions
  3. Make any modifications you want, either on lastbuild or your own branch! See the wiki or read below about the directory structure for guidance
  4. Run the test workflow manually (instructions below), with the branch with your modifications as the input
  5. Download the ISO from the build artifacts, install it, and test it out
  6. When you're happy with it, open a pull request and select kelpup/woof-CE

Installation info for MacOS and Windows.

We need help with...

  • 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!

Test Workflow

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.

Screen Shot 2022-03-16 at 11 55 18 PM

  1. Go to GitHub Actions, and select Test
  2. Hit Run Workflow, then Run Workflow again
  3. Wait for the test to complete (20min-1hr) and a green checkmark appears
  4. Click on the test, and scroll down to the build artifacts and download the artifact
  5. Unzip the artifact, and the ISO will be in the resulting folder

Screen Shot 2022-03-16 at 11 59 41 PM

Directory Structure

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

Where is...?

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!)

Build Scripts

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

  1. 1download - download actual pet packages
  2. 2createpackages - build the puppy packages
  3. 3builddistro - build the ISO

All these are in woof-code.

Technical notes

Check out the technical notes from the original readme by the Puppy Linux github organization.

Packages

No packages published

Languages

  • Shell 89.3%
  • HTML 5.4%
  • CSS 1.6%
  • Roff 1.3%
  • C 1.0%
  • Modelica 0.6%
  • Other 0.8%