OE-QuirkyThe oe-qky-src folder contains a snapshot of OpenEmbedded and a "layer" for building a complete set of binary packages for creating Quirky Linux or Puppy Linux.The dream"The dream" is that OE-Quirky will build a complete Quirky Linux or Puppy Linux distribution from source. That is all source packages, from the kernel to LibreOffice, compiled and composed into a live-CD or Flash-stick image.The reality so far is that OE-Quirky compiles a subset of the packages required for a full Quirky/Puppy, and only creates binary packages that must then be used in Woof* to build the Quirky/Puppy distribution. Note, woof-CE is the current build system for creating a Puppy distro from binary packages, and woofQ is the current build system for Quirky. Why?For many years Barry has wanted a single tool to build Puppy, and then Quirky, from source to final deployable live-CD or image file. Previously, the T2-project has been used to compile packages, which are then imported into Woof*, but mostly Quirky/Puppy is built in Woof* using binary packages from some other distro, such as Slackware, Debian or Ubuntu.Having total control of the entire cycle means that very specific distros can be created. The main thing in comparison with Debian and Ubuntu will be a great reduction in bloat. In other words, Quirky/Puppy will be very small and fast. Barry is currently focusing on building a distro for surfing the Internet. Good web browser, multimedia player, printing. Another reply as to "why?" is that this is a very cool thing to do. Anyone with basic Linux skills should be able to download oe-qky-src and run a couple of simple commands and build an entire distro themselves ...then add and remove packages to create their own custom distro. RequirementsYou must be running a x86_64 host Linux system, and have expanded the oe-qky-src folder in a partition with Linux filesystem (preferably ext4) and at least 150GB free space. The PC must have at least 2GB RAM and there must be a swap partition.The host Linux system used by the developer Barry Kauler is Quirky x86_64, version 8.1.6. This is built from Ubuntu 16.04 Xenial Xerus DEB packages, and as-is requires just few tweaks to work with OpenEmbedded. For Quirky 8.1.6, it is required to install python3 and ca-certificates from the Puppy Package Manager (PPM). To use Toaster, which is a GUI interface available in OE, it is also required to install python3-django, python3-pip and python-beautifulsoup. Itemizing, install these, as well as their dependencies: ca-certificates, python3, python3-django, python3-pip, python-beautifulsoup Puppy Linux distributions should be OK also, in particular those based on Debian/Ubuntu DEBs (for example XenialPup). Getting startedIn a Linux partition with at least 150GB free space, create a top-level folder with an appropriate name, for example "oe", then expand the downloaded tarball (replace "*" with the actual text of the tarball):# mkdir oeThis will expand to a folder named "oe-qky-src-*", again substitute the correct text in place of that "*": # cd oe-qky-src-*Up-one level, you will see newly-created folders "downloads", "oe-quirky" and "sstate_cache". Folder "oe-quirky" has everything, and you can get setup to do a build: # cd ../oe-quirkyA quick sanity test is to check that the layers are found: # bitbake-layers show-layersTo do the actual build, you must have an Internet connection, a reasonably fast one -- if using wi-fi provided by a telco, 4G is strongly recommended over 3G. Also, a fast PC with plenty of RAM is required. Although OE state a minimum of 2GB RAM with swap partition, at least 4GB is recommended. Off we go, for the next few hours (or days, depending on your PC): # bitbake core-image-quirkyBarry's main PC for doing OE builds has a i5-4200 3.10GHz CPU, 16GB RAM and 1TB hard drive, and a build takes about three hours. Before or after the build, you can run this command to obtain lists of all chosen packages and their dependencies: # bitbake -g core-image-quirky...you will then see files "pn-buildlist", "task-depends.dot" and "recipe-depends.dot" in the "buildQ" folder. If you intend to export the packages to woofQ, the Quirky Linux build system, the above command is essential, as the files it produces are read by the packages-import script in woofQ. Deploy |