Fatdog/Fatdog64/FatdogArm: Six years and beyond
12 April 2008 - present

Released without much fanfare in 2008, Fatdog has grown from a humble beginning to a mature and grown 64bit Linux distro, continuously carrying and holding to the Puppy Linux spirit and principle from where it came.

Fatdog was originally created by longtime Puppy user and contributor, Kirk. Among other things that he is known for, Kirk contributed the initial implementation of encrypted savefile (here, here, and here) which is still in-use by all variants of Puppy Linux today.

This document was originally written for Fatdog's 5 year anniversary on 12 April 2013, summarising Fatdog's long history, from its very beginning to the latest release at that time. It has since been updated to record more recent events as Fatdog marches on.

Enjoy.

The very first Fatdog

The very first ever of Fatdog was released on 12 April 2008 (or 11 April, depending on your timezone :) ). It was released as an SFS, a standard package extension format used by Puppy Linux. The SFS came with additional software for use with the (then) recently released Puppy Dingo (Puppy Linux 4.0).

The size of the SFS was 207MB.

From the announcement:

Here's your chance to turn your little Dingo puppy into a FATDOG. All of these packages where compiled in T2 or Puppy Dingo (except Java).

Announcement

The second Fatdog release, the first release as a full operating system

Titled Fatdog 110, it was released on 14 Feb 2009. It was an almost plain remaster of Puppy 4.1.2 (="puplet") with additional packages, as well as an SMP kernel, enabling full utilisation of dual-core systems. (Standard Puppy didn't use SMP kernel until much later, and although there were other puplets with SMP kernels prior to Fatdog's release, they were more heavily customised. This Fatdog release was simply a kernel + a bunch of extra packages + openbox/lxpanel instead of JWM, keeping Puppy Linux' spirit of simplicity).

It also set the tone for Fatdog's future tradition of running network applications (the web browser in this release, more and more in the later releases) as unprivileged user "spot", the usage of openbox/lxpanel combination (instead of JWM), as well as inclusion of the kernel headers (later the full kernel source) in the devx (="development tools") SFS package. The ISO size was around 124MB (as compared to Puppy 4.1.2 of around ~94MB).

The announcement simply said, Here's a puplet based on 4.1.2.

Announcement

Screenshot of the very first Fatdog. The flying seagull would become a familiar face of Fatdog for the next 3 years, until Fatdog64 600 release.

Fatdog 111: 22 Feb 2009

This was the bugfix release for 110 with updates for kernel and others.

From this moment on until Fatdog moved to ibiblio.org, Fatdog was kindly hosted by forum member Caneri, in http://puppylinux.asia (now defunct).

Announcement

Fatdog 112: 12 April 2009

This was an update for 111, with updates for kernel and others as well as bug fixes.

Announcement

Fatdog2 alpha2 T2 build with Woof alpha9: 23 Jun 2009

Up until 112, Fatdog was essentially a remaster of Puppy with updated and additional software. This release was different - this Fatdog was built from using Woof, the Puppy distro builder (which was still in alpha stage at that time), with all-new packages built from scratch using T2 SDE build system. To signify this fact, it was now called as "Fatdog2" - the second generation Fatdog.

Woof is meant as a tool to build puppies from different distros (including a distro built from packages compiled from scratch). Today all official puppies are built from Woof: Slacko (from Slackware), Wary, Quirky, Racy (all from T2), Lupu (from Ubuntu Lucid Puppy), as well as many other unofficial variants: Upup (Ubuntu "pup"), Spup (Slackware "pup"), Dpup (Debian "pup"), Apup (Arch "pup") and others. Woof contains a set of puppy scripts as well instructions to mesh these scripts into other distro's packages, generating a Puppy Linux distribution. It is basically the "essence" of Puppy Linux.

This release marked Fatdog as a Woof-based puplet, a "tpup" if you will (T2-based "pup"). All its packages were compiled from scratch either using T2 SDE or manually, making Fatdog one of the few "independent puplets" which didn't depend on any upstream distribution.

Announcement

Fatdog2 Alpha 3: 29 Jun 2009

After the first experiment of Alpha 2, Alpha 3 quickly follows. It was basically a cut-down version of Alpha 2 (woof still being alpha quality at the time, a lot of work was needed to post-process its output to trim the size down), reducing the size of the ISO by removing unneeded files, as well as software updates and bug fixes.

Announcement

Fatdog2 beta1 (or Alpha 4): 26 Jul 2009

Using the latest software isn't always greatest. Alpha 2 and 3 used the very latest Xorg at that time (version 7.4) and it turned out to be unstable for many systems. This version downgraded the version of Xorg used to 7.3, but it had updates for other software and other bug fixes. It is officially designated as beta1.

Announcement

Fatdog2 32bit beta2: 8 Aug 2009

Shortly after beta1, beta2 was released with the usual updates and bug fixes. This was the last of the 32-bit Fatdog (all Fatdog releases up to this one were 32-bit). 32-bit Fatdog2 never came far enough into a final release - as the focus moved to 64-bit systems, due to performance reasons, see below - although this release was definitely usable.

This release had JWM as the default window manager although kirk later provided openbox/lxpanel package for it as well.

Announcement

Fatdog2 64bit alpha 1: 8 Aug 2009

Released on the same day of Fatdog2 beta2, is the first ever release of 64-bit Fatdog, claiming the title of the first 64-bit first puplet. Built from scratch using the same T2 SDE as 32-bit Fatdog2 (except that they were compiled for 64-bit AMD64 / Intel x86_64 architecture), all the software featured in this version were all 64-bit (except the initrd - which came from Woof and was 32-bit).

It was also built from Woof, but only using Woof's scripts since Woof does not support 64bit. From this point Fatdog was a fork from Woof. Woof updates would continue to be ported in sporadically. At this point Kirk lost interest in the the 32bit build, after finding that the 64bit build was 20% faster for CPU intensive applications. The speed difference was mostly due to the 32bit version needing to be built for Pentium, thought to be lowest common denominator.        

Announcement

Fatdog64 alpha 2: 5 Mar 2010

There were a long hiatus between alpha 1 and alpha 2. In addition to the name change from "Fatdog2 64-bit" to what is now more well known as "Fatdog64", this version used a complete rebuilt of all the packages, rather than a continuation of alpha 1. As the announcement said, This is a complete rebuild with the T2 trunk as of a few weeks ago. My wife got a new laptop, real nice, CoreI5, 4GB of DDR3, Blu-Ray drive $499, but with crappy intel graphics. Anyway, the Xorg 7.3 that was in alpha1 is too old and doesn't support this new Intel graphics chip, so I just rebuilt everything with T2. Probably should have called it something different since it's a new base.

This was the first release of a series which was to become known as Fatdog64-500.

Announcement

Fatdog64 alpha 3: 10 Mar 2010

Alpha 3 quickly followed alpha2 with updates and bug fixes ...

Announcement

Fatdog64 alpha 4: 14 Mar 2010

... which was then quickly superseded by alpha 4. Alpha 4 shared the same announcement as alpha 3 above.

Fatdog64 beta 1: 27 Mar 2010

Bug fixes and software updates. This release marked a few important events in Fatdog history:

Announcement

Fatdog64 beta2: 14 Apr 2010

Software updates and bug fixes.

Announcement

Fatdog64 beta3: 24 Apr 2010

Software updates and bug fixes.

Announcement

Fatdog64-500 rc3: 4 Jun 2010

This is the first public release which took the name of Fatdog64 500, to align with the fact that Puppies built from Woof were the 5th generation, i.e. Puppy 5.x as opposed to Puppy 4.x which was pre-Woof. It had updates and bug fixes over beta3 release. rc1 and rc2 were not released for public.

Announcement

Fatdog64-500 final: 5 Jul 2010

This is the first stable release of 64-bit Fatdog, after being intensely worked on in the previous four (4) months and was in the cooker for almost a year. It was uniquely Puppy in all its 64-bit glory.

Announcement

Fatdog64-510 rc4: 8 Nov 2010

A test release for what was to become Fatdog64 510, as an update for 500 series.

Announcement

Fatdog64-510 final: 7 Dec 2010

Software updates and bug fixes over 500.

Announcement

Fatdog64-511: 24 Dec 2010

A collection of bug fixes and patches were merged with the base 510 and released as 511.

Announcement

Fatdog64-520 beta1: 21 Jun 2011

The first test release of what to become Fatdog 520. An interesting feature here is Fatdog's adoption of the xz compression for SFS, making it relatively smaller than previous releases (which used gzip compression). I would believe that this was also the first in among other variants of Puppy Linux.

Announcement

Fatdog64-520 beta2: 24 Jun 2011

Another test release. It was mainly to test out the Radeon and Mesa changes.

This release replaced Firefox, which had been used as the default web browser for Fatdog, with Seamonkey (the same browser used in other variants of Puppy Linux), for two reasons:

Announcement

Fatdog64-520 beta3: 1 Jul 2011

Software update and bug fixes.

Announcement

Fatdog64-520 beta4: 13 Jul 2011

Software update and bug fixes. One notable feature was the inclusion of Sven, the multimedia keyboard daemon. This means multimedia keys such as volume control keys would work out of the box for most systems.

Announcement

Fatdog64-520 beta5: 23 Jul 2011

Downgrade the kernel from 3.0rc7 in beta4 to 2.6.39.3 (the latest 2.6-series) when 3.0 proved to be unstable (due to CIFS kernel bugs). This release made "ondemand" CPU scaling as the default.

Announcement

Fatdog64-520 beta6: 29 Jul 2011

Downgrade kernel to 2.6.38.8 when it was found that 2D graphics acceleration didn't work in 2.6.39.3.

Announcement

Fatdog64-520 beta7: 7 Aug 2011

Xorg compiled with udev - enabling full auto-configuration of the graphical desktop without any startup wizard required (ie, no xorg.conf is required by default), although the wizard (xorgwizard) was still available under the name of xorgwizard-old. Keyboards, mice and wacom devices were automatically detected upon being plugged. This was the first among Puppy Linux variants.

It also came with an audio equaliser which can be used for all applications that uses ALSA as audio output.

Announcement

Fatdog64-520 rc: 14 Aug 2011

Software update and bug fixes.

Announcement

Fatdog64-520 final: 4 Sep 2011

Final release for 520, contains a lot of bug fixes and software updates over 511, incorporating all the changes mentioned in beta and rc releases above.

Announcement Release Notes

Fatdog64-521: 12 Oct 2011

A collection of bug fixes and patches were merged with the base 520 and released as 521. This also marked the final release of the 500 series, the "Woof" fork Fatdog, as the next version of Fatdog diverged and had little to do with Woof.

This version was used as the base for LightHouse64 puplet.

Announcement Release Notes

Fatdog64-600 alpha2: 18 May 2012

This release marked the first release of the 600 series, after being worked on intensely in the previous four (4) months. It brough many new and innovative features, one of which is the new GUI for Samba-based file-sharing, replacing the old NFS-based introduced two years earlier. This enabled Fatdog users to share information seamlessly not only among themselves, but also with Windows and Mac users. The tool was eventually adopted by mainline Puppy Linux and is now available as standard package (if not standard feature, in some puplets) for all Woof-built Puppies.

This however also marked the beginning of Fatdog64 being completely separate from Puppy/Woof. The initrd was completely replaced with a full 64-bit initrd, and the base packages were re-built from a new T2 SDE base. Most of the familiar gtkdialog GUIs and wizards were replaced with gtk-server variants. Fatdog ISO became an "isohybrid" which means it can be burn to a CD or "dd-ed" to a USB flash drive directly - no installation needed. Pet packages now use xz compression by default while still supporting the old gzip compression.

This release also marked the beginning of a new, open development model where all of Fatdog were managed by a public SCM (source code management) system, which means that everyone can download Fatdog along with all of its build tools, and then build a customised version of Fatdog themselves. Fatdog repositories were kindly hosted by chiselapp.com (now defunct).

Announcement

Fatdog64-600 beta1: 14 Jun 2012

In addition to the usual bug fixes and updates, this release features an important new feature: Fatdog gained true multi-user capability (this capability was already there in alpha2 but it was buggy and incomplete, so it wasn't advertised).

Announcement

Fatdog64-600 beta2: 25 Jun 2012

Software update and bug fixes.

Announcement

Fatdog64-600 rc: 1 Jul 2012

Software update and bug fixes. Fatdog gained a built-in graphical login manager (using SLIM, previously available as an external package); as well as ability to launch multiple desktops for multiple users - on the same computer, at once.

Announcement

Fatdog64-600 final: 6 Jul 2012

After 6 months of development and 2 months of public testing, the first stable version of 600 series was announced, the culmination of all the features found in the test release, but only ...

Announcement Release Notes

Fatdog64-601: 21 July 2012

... to be followed quickly by a bugfix release to amend the most annoying bugs (oops!). 601 was announced in the same thread as the original 600 announcement.

Release Notes

Fatdog64-610: 29 Nov 2012

Software update and bug fixes.

Announcement Release Notes

Fatdog64-611: 15 Dec 2012

Bugfix release of 610.

Announcement Release Notes

Fatdog64-UEFI-test: 31 Dec 2012

Fatdog ended the year 2012 (the year the apocalypse was postponed, phew!) with a special test release that supported booting from UEFI and SecureBoot systems. This was a version of 611 with an EFI-enabled kernel and UEFI boot loader. It was released mainly to test the robustness of this new boot loader as well as Fatdog's performance under these new systems.

Note: Fatdog's UEFI boot loader was based on rEFInd and grub2-efi, and is actually generic enough to be usable for use with variants of Puppy Linux too.

Announcement

Fatdog64-620 beta1: 15 Feb 2013

620-beta1 marks the next release of the 600 series with full UEFI / Secure Boot support, as well as the usual bug fixes and software updates. This release features, among others, ability to load savefile from LVM and mdadm RAID devices, as well as the more secure encrypted savefile using LUKS instead of the old cryptoloop.

Fatdog repositories are now located in ibiblio.org too.

Announcement Release Notes

Fatdog64-620 beta2: 2 Mar 2013

Bug fixes and software update from beta1.

Announcement Release Notes

Fatdog64-620 beta3: 8 April 2013

In addition to the usual bug fixes and software updates, beta3 incorporated out of the box bluetooth support for audio streaming, bluetooth HID devices (mice and keyboards), as well as bluetooth modems.

This release broke the tradition of kernel source being included in devx. Due to the logistic issues with the SCM system used, the kernel sources was now separated into its own SFS file. This is more typical of standard Puppy Linux release model.

Announcement Release Notes

Fatdog64-620 final: 17 April 2013

The final version of 620 release concluded the three beta releases, rolling up the features previously tested there, as well as bringing UEFI (with Secure Boot) support. New major features were: the ability to save sessions to a "save directory" (as opposed to "savefile"), and support for User Mode Linux (UML) sandbox, as well as other features tested in beta: LUKS, bluetooth support, LVM/mdadm support at boot time, and many others.

This version commemorated Fatdog's five year anniversary.

Announcement Release Notes

Fatdog64-621 final: 9 May 2013

This was the bugfix release for Fatdog64 620. It also featured a new (end-user invisible) shutdown code using pivot_root which in theory should work better; as well as bug fix for writing large-files to bluray.

Announcement Release Notes

A new Fatdog family - The beginning of FatdogArm: 21 July 2013

This day marked the the beginning of a new platform support for Fatdog. The last platform swich for Fatdog happened 8 Aug 2009 with the release of Fatdog2 64-bit (switchin from 32-bit to 64-bit). On this day, the porting of Fatdog to ARM platform began. It was a process that was transparent where every step of the process was documented.

Announcement Fatdog64 to Fatdog64 porting process

FatdogArm Alpha: 25 Aug 2013

About a month after started, the porting was finished. This was the first public release of FatdogArm. It was based on LFS 7.1, heavily modified for ARM platform (LFS 7.1 officially only supported x86 and x86_64 platform). This first release supported Mele A1000 (Allwinner A10 SoC) - its build platform.

FatdogArm is a full-fledged Fatdog operating system. It operates on the same principle, have the same features (almost identical featureset except those that can't pratically be supported on ARM platform). It used aufs layered filesystem and supports SFS, in fact its primary installation method was "frugal install" - the same as Fatdog64's. People who are familar with Fatdog64 would be right at home with FatdogArm.

FatdogArm brought new ground to distribution method: the usual method for distributing OS for general purpose OS on ARM platform was by using a tarball containing image files (i.e., filesystems image created for direct "dd" to SD card). This is not optimal because:

FatdogArm was instead distributed in two file sets: the first one is FatdogArm base SFS, common to all; the other one is the "kernel package" containing platform-specific components (bootloader, kernel and initrd). FatdogArm can be installed to SD-card of any size by creating a partition on the SD-card, and "dd"-ing only the bootloader, and copying the rest of the files just need to be copied into the partition.

Announcement Release Notes

FatdogArm Alpha2: 12 Sep 2013

This is mainly a bugfix release for the original alpha.

Announcement Release Notes

FatdogArm Alpha3: 2 Oct 2013

This release added support for OLPC XO-4. This release also added new feature in distribution - in addition to the usual kernel-package+SFS method, FatdogArm was also distributed with a "meta-distribution" package, to make it easy for others to build a custom FatdogArm image.

Announcement Release Notes

Fatdog64 630 RC1: 16 Oct 2013

This was mostly an update to 621 release, with many packages are updated. Some new features include LXC-based sandbox, as well as the ability to run multiple sandboxes at the same time.

Announcement Release Notes

FatdogArm Alpha4: 1 Nov 2013

This release added support for Cubieboard2 (Allwinner A20 SoC).

Announcement Release Notes

Fatdog64 630 RC2: 24 Dec 2013

This Christmas release of Fatdog64 was mainly for software update. Notably, GIMP was updated to version 2.8.x series, and introduction of razor-qt panel replacing the venerable lxpanel.

Announcement Release Notes

FatdogArm Alpha4 for Odroid: 1 Jan 2014

This release added support for Odroid U2/U3 (Samsung Exynos 4420 SoC).

Announcement

Fatdog64 630 Final: 11 Feb 2014

Rolling the changes since RC1 and RC2, this release came with more updated packages and a new "network-setup" replacing the venerable Network Wizard.

Announcement Release Notes

FatdogArm Beta1: 10 Mar 2014

The beta1 of FatdogArm marked the update of the base platform from LFS 7.1 to LFS 7.4. Big visible changes it the support of OLPC XO-1.75. This wasn't possible before because earlier builds of FatdogArm were configured to use VFPv3 and NEON, which XO-1.75 didn't have. Beta builds of FatdogArm were now configured for VFPv3-d16. This was the same configuration as Debian armhf platform.

The official supported platforms for beta1 were Mele (Allwinnder A10), Cubieboard (Allwinner A20), Odroid U2/U3 (Samsung Exynos 4420), OLPC XO-4 (Marvell PXA2128) and OLPC XO-1.75 (Marvell Armada 610).

Unlike FatdogArm Alpha which was a "ported" build, FatdogArm Beta1 was a native build: It was built "natively" on FatdogArm Alpha4 (except the kernel which was still cross-compiled). Another big invisible changes was that FatdogArm Beta was now built using fully automated build-system - something like T2, buildroot, or equivalent. This build system was later improved and used as the base of the build system for Fatdog64 700 - it was a case where an offshot project (FatdogArm) finally contributed back and actually defined the original upstream project (Fatdog64).

Announcement Release Notes

Fatdog64 631 Final: 12 May 2014 - the end of a hardy series

This release marked the end of Fatdog64 600 series.

This was the last, and final release of Fatdog64 600 series. It was a software-update release, and was mainly released as a tie-in before the first public release of next Fatdog64 series (the 700 series) which had been in concurrent development but was not expected to be released for some time.

This released marked the timespan of Fatdog64 600 series to be two years - from the first alpha2 until 631.

Announcement Release Notes

In addition to the standard release, a special version was also released, optimised for Acer Chromebook C720. It was intended as a drop-in replacement for ChromeOS that came with that machine (Announcement).

Fatdog64 700 alpha1: 31 July 2014 - the beginning of a new series

This was the first public release of the Fatdog64 700 series.

Fatdog64 700 series was a new series, a major upgrade of Fatdog64 where all the base packages are upgraded. It comes with the latest and greatest of writing (at the time of release): glibc (2.19), gcc 4.8.2, and others. It is based on LFS 7.5. It dispensed with the PET package format and adopt Slackware package management tools with XZ-compressed tarball (TXZ) as its package format.

The biggest change in the 700 series is the adoption of FatdogArm automated build system. The new build system a fully automated system similar to T2. Having its own build system means that Fatdog has finally reach self-sufficiency and self-hosting - future Fatdog builds can be built on Fatdog itself.

Functionality-wise, this release was not much different from Fatdog64 631 (the last of the 600 series) but this new base packages would pave the way for future enhancements which required contemporary base packages.

Announcement

Fatdog64 700 beta1: 14 Sep 2014

This release was mostly bugfix release with some package updates.

Announcement Release Notes

FatdogArm beta2: 1 Oct 2014

This was a platform update release, with bugfixes and functional updates imported from Fatdog64 700.

It introduced support for Cubox-i (based on Freescale i.MX6 Dual and Quad). Also, Odroid U2/U3 got a new kernel (and a new Mali driver, as released by upstream kernel maintainer (hardkernel)).

Announcement Release Notes


Last updated 15 September 2014 - the Fatdog team.