site  contact  subhomenews

EasyOS Pyro64 0.9 released

April 15, 2018 — BarryK

This is a beta-quality release, bumped from many alphas before it, of EasyOS.

EasyOS (also known as just "Easy") is built with the woofQ build system, which can use the binary packages of any other distro. However, this release, one of the "Pyro64" series, is built from packages compiled from source using OpenEmbedded. Specifically, the "Pyro" release of OpenEmbedded, more specifically, a fork of OpenEmbedded.

This is the github repo of my fork of OpenEmbedded. It has a "meta-quirky" layer that compiles all of the extra packages needed by Easy:

EasyOS is an experimental distribution, a complete rethink about ease-of-use, security and maintainability. An overview page is here, with links to tutorials:

Summarizing some of the highlights of EasyOS:

  • Container-friendly. Designed from scratch to implement containers in an extremely efficient way, and be extremely easy to manage (with simple GUI tools).
  • Version control. Greatly enhanced roll-back, roll-forward, recovery, version upgrade/downgrade, snapshots.
  • EasyShare. Extremely simple file and printer sharing over a network (again, simple GUI tool).
  • Enhanced pup_event. Background service manager, an "under the hood" thing.

Apart from those, Easy has a fine pedigree, with Uncle Quirky and Grandfather Puppy (Puppy Linux). Puppy is famous for ease-of-use, lots of apps in a very small size, and a very special user interface, based on the JWM window manager and ROX-Filer file-manager and desktop manager. Easy has all of that, so on the desktop looks very much like Puppy, except is very different "under the hood".

With this release of Easy, I have not been so bothered with keeping size down, and the download file is now 399MB. But with that you get just about everything -- such as LibreOffice, Gimp, Dia, Inkscape, SeaMonkey, HomeBank, Planner, Grisbi, Osmo, Notecase, Pidgin, Gnome-MPV, Xine-UI -- as well as all of the underlying support such as Xorg, printing, scanning and kernel device drivers.

The list goes on... quite amazing that it is still only 399MB!


Easy is very kindly hosted by, as yet no mirrors:

The file to download is 'easy-0.9-amd64.img.gz'. This will bootup and auto-detect your video hardware. However, if you know that Linux has problems with using the "proper" hardware-accelerated Xorg video driver, you might like to download 'easy-0.9-amd64-MODESETTING.img.gz', which is exactly the same except has preselected the Xorg 'modesetting' driver. Or, the last resort, is the very basic Xorg 'vesa' driver, without any hardware acceleration, file 'easy-0.9-amd64-VESA.img.gz'.


The Easy download file is intended to be written to a SD-card, which can then be booted. Here is a how-to:

...I do recommend that 'easydd' utility. Note, with some Linuxes, you may have to prepend "sudo" to use it.

Once booted up from the SD-card, you can just keep using it like that, as it is already full installed on the SD-card (and automatically expands to use the entire card). However, if you wish, you can also install to a hard drive, as explained here:


As with Puppy Linux, Easy has a single file that will transform Easy into a complete compiling/development environment. This is the famous "devx" SFS file, which is a Squashfs file that mounts as a layer in the aufs layered filesystem -- thus can be as easily un-installed as it is to install.

At the top of the screen, you will see an icon labeled "sfsget", for installing SFS files, including "devx".

Infrastructure & containers

Containers are a very interesting feature of Easy. There are a couple of "how Easy works" pages, that explain the underlying architecture, and introduce how containers work: (very technical)

And a tutorial on containers from the end-user perspective:


If you would like to get involved, there is a thread on the Puppy Forum;

Have fun!

Tags: easy

alsactl hangs

April 11, 2018 — BarryK

I built EasyOS Pyro64 0.9, with the intention of uploading it. Also built it in two variants, with Xorg 'modesetting' driver or 'vesa' driver preselected.

Testing the 'vesa' variant, hit an "interesting" bug, a show-stopper. At bootup, /etc/init.d/10alsa executes, which creates /etc/asound.state and runs "alsactl -f /etc/asound.state store" on the first bootup, on subsequent bootups "alsactl -f /etc/asound.state restore".

I got to the desktop, and everything seemed OK, but noticed 'xload' in tray was very busy. I found that alsactl had not terminated. Furthermore, it cannot be killed, not even at shutdown, requiring a hard poweroff by holding down the power-button.

A process cannot be killed if it is doing "uninterruptible I/O". Not even at shutdown!

So, what is different about 'vesa'? The Xorg vesa driver does not use KMS (Kernel Mode Setting), so requires "options i915 modeset=0" in file /etc/modprobe.d/i915.conf (I have Intel video -- and audio).

I also tested by totally removing i915.ko, the kernel module, alsactl still hangs. Note, blacklisting i915.ko does not work, it has to be actually removed, then rerun 'depmod'.

If I change the permissions on /etc/init.d/10alsa, turn off execute permissions, then alsactl will not run at bootup, nor at shutdown. And this is interesting... sound works!

Yep, works perfectly, and "aplay -l" shows the interfaces are there. "aplay <sound file>" works. pnmixer tray applet levels work.

Yet, "alsactl -f /etc/asound.state store" or ""alsactl -f /etc/asound.state restore" hangs.

My wild guess is that support for non-KMS has lapsed, at least for Intel. The i915.ko driver does seem to be tied into the audio for some reason.

The workaround, for anyone else who wants to use the Xorg 'vesa' driver with Intel video, who hits this problem, is, change /etc/init.d/10alsa to non-executable.
You won't get saving of sound level settings though.

Tags: easy

Using Easy Containers

April 10, 2018 — BarryK

I have written a tutorial on creating and managing Easy Containers:

The tutorial describes containerized apps on the desktop, which will be in EasyOS version 0.9, due out very soon.

Tags: easy

Samba recompiled for EasyOS Pyro64

April 09, 2018 — BarryK

Samba is a key part of EasyShare, my simple GUI for file and printer sharing over a network. EasyOS Pyro64 0.8.5 has Samba 4.6.8.

I was concerned that I might have configured Samba without some needed features, in an effort to reduce size. So, have recompiled, with some extra features enabled. Also bumped the version to 4.6.14, the latest in the 4.6.x series.

These are options that I have removed:

--without-ads --without-winbind --without-dmapi --extra-python=/usr/bin/python3

Taking out that  last one is actually removing support for python3. There is still support for pythin2.7.

The config is now:

# ./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc --libdir=/usr/lib --enable-fhs --includedir=/usr/include --bindir=/usr/bin --sbindir=/usr/sbin --with-configdir=/etc/samba --with-piddir=/var/run --with-privatedir=/etc/samba/private --with-privatelibdir=/usr/lib --with-modulesdir=/usr/lib --with-lockdir=/var/cache/samba --with-logfilebase=/var/log/samba --enable-cups --with-acl-support --with-automount --with-quotas --with-syslog --with-ldap --without-pam --libexecdir=/usr/libexec --datadir=/usr/share --without-fam --without-lttng --without-systemd --disable-avahi --enable-gnutls --without-sendfile-support --nopyc --nopyo --without-ad-dc --without-ntvfs-fileserver

Creating the PET, I took out all of the python and perl support, and one enormous executable, 'smbtorture'. The PET is 11MB -- note that I still only gzip PETs, whereas Puppy now xz's them.

This will be in the next release of EasyOS.

Tags: easy

NVMe support in Easy and Quirky

April 09, 2018 — BarryK

Recently, Puppy Forum member 'scsijon' alerted me to the new NVMe Solid State Drives, and I compiled the Linux kernel with support for these drives enabled:

However, that is only the start of it. There are several scripts in woofQ (the Easy/Quirky builder) that need to be modified. 'wdlkmpx' has been adapting woof-CE to support NVMe:

The last couple of days, I have sifted through the woofQ scripts. Basically, just had to search for the string "mmc" or "mm", where there is special handling for MMC drives (SD cards), and add the special handling for NVMe.

NVMe drives have device nodes in /dev of the form "nvme[0-9]n[1-9]". Partitions are appended as "p<number>", for example "nvme0n1p3".

We should be ready to go for NVMe with the next release of EasyOS, coming soon.

Useful links on NVMe: 

Note, I have compiled kernel 4.14.32, getting ready for the next release of EasyOS.

Tags: easy, quirky

Gnome-MPV multimedia player for EasyOS

April 02, 2018 — BarryK

I posted about compiling Qt5-based SMPlayer and MPC-Qt multimedia players:

However, I am reluctant to include Qt5 in a build of EasyOS, due to it's size. Instead, I asked, are there any GTK frontends for MPV?

Yes, there is one, Gnome-MPV, written in C, but it wants GTK3. Project page:

I have been holding out, all apps in EasyOS use GTK2. time to capitulate, I guess.

I compiled GTK3 and Gnome-MPV, and it is a very pleasant surprise. A very simple and clean UI, plays my test videos nicely.

It also played a DVD. Clicked on the "+" icon, selected "Open location", then typed in "dvd://", yay, "The Lost Room" started playing.

Gnome-MPV will be in the next release of EasyOS Pyro64, along with GTK3. I won't post the PETs here, as there is a bit of needed icon infrastructure that will be in the next build.

So, we can compare with Xine-UI multimedia player, and decide if one of them should go -- coz, I am adding more and more packages to the build, getting fatter.

Tags: easy

SMPlayer, MPC-Qt, MPV for EasyOS

April 01, 2018 — BarryK

I have already posted about compiling Qt5 and two apps that use Qt5, Symphytum and VLC:

Now I have compiled MPV, a CLI multimedia player, and two Qt5-based GUI frontends for MPV, MPC-Qt and SMPlayer.

You can find them online:

Remember to install the Qt5 and MPV PETs also.

If you would like to compile any other frontend app for MPV, you will also need to install the mpv_DEV PET.

Tags: easy