site  contact  history  index

Linux kernel 4.14.27 compiled

March 16, 2018 — BarryK

I have compiled this in EasyOS Pyro64 0.8.1. That release came with kernel 4.14.23, which I compiled with the 'nvm' driver builtin, following advice from forum member scsijon:

  Device drivers
<*> NVM express block device

Yesterday, scsijon advised on the forum about the new very fast 'ufs' flash memory. Previously, I had the driver for this as a module. However, for the 4.14.27 compile, I have changed it to builtin:

  Device drivers -->  SCSI device support
SCSI low-level drivers
<*> Universal flash storage controller driver core
<*> PCI bus based ufs controller support
<m> Platform bus based ufs controller support

The intention is to support computers with these very new flash memory architectures at bootup.

Tags: easy, quirky

EasyOS Pyro64 0.8.1 released

March 14, 2018 — BarryK

Upgraded SeaMonkey, now at 2.49.2. New Inkscape 0.92.2, included in the build -- I like a good selection of graphics apps builtin, so this joins Gimp, LibreOffice-Draw, Dia, and mtPaint.

The Intel Xorg driver, 'xf86-video-intel' has been upgraded to a recent out of git. We are trying to find out why EasyOS is troublesome on some hardware. It is Intel GPU related.

The Xorg Wizard now has an option to switch between 'sna' and 'uxa' video acceleration, the latter suiting older hardware (I think).


We are discussing the stability issue on the Puppy Forum:

"Unfortunately", EasyOS is completely stable on my PCs, and all four of them have Intel video! So, I can't reproduce the problems myself.

Tags: easy

Euro Glider caravan

March 12, 2018 — BarryK

How about this, a 9ft caravan with ensuite!


These are made in Poland, brand name Niewiadow, and imported into Australia as the Euro, and the UK as the Freedom.

What got me thinking about this, is last time that I went camping with my tent, it took almost an hour to set everything up. Put up the tent, unpack everything from the car. Hunt around in various boxes, "where did I put that?", etc.

Wouldn't it be nice, I thought, just to stop the car, get out, open the caravan door, and that's it. Have an arvo snooze if I want, whatever.

Maybe I'm getting lazy.

Anyway, it is quite incredible what can be fitted into 9ft. I haven't seen inside this one, just pictures and videos, but I have looked inside the next-up model, 10ft long. I am 5ft 10inches, 178cm, and ceiling height on both of these is about 180cm, so I just make it.

I think that 180cm is with the popup hatch down, so with it up, a taller person would fair better. This video shows a tall person inside the UK variant:

...that's the 3-berth, without ensuite. Here is a video of the one with ensuite, UK variant again:

The Australian distributor for the Euro is here:

UK distributor for the Freedom:

Note, comparing the Euro Glider and Freedom Microlite, the models with ensuite are slightly different layout. Fridge and clothes-closet are on opposite sides. I reckon the Euro is a better choice, with fridge on door-side.

I think that something like the Glider is a much better choice than a tear-drop caravan or camper-trailer, where you have outside kitchen, in fact have to do most things outside, just go inside to sleep.
But, I guess that depends on your preferences, some would say that going camping means being outside a lot.

Anyway, it is fun to look at this kind of stuff!

Tags: light

Aboriginal Linux 1.2.0.x resuscitated

March 09, 2018 — BarryK

Over the years, developing Puppy and derivatives, I have had a need to compile some utilities statically.

It has been ad-hoc, using different uClibc and Musl filesystems. Now, I am making it more formal, and reproducable and useable by anyone.

Rob Landley's Aboriginal Linux is an archived project. I am bring it back, specifically the uClibc based version.

Introduction is here:

Download (228MB):

And what to do after downloading:

if anyone is interested, you are welcome to play!

Forum feedback:

Have fun!

Tags: linux

Finally, success with OpenADK

March 06, 2018 — BarryK

I wanted the 'dmsetup' utility compiled statically, for use in initramfs. This is in the LVM2 package. It turned out to be a saga of many many hours...

Unfortunately, both OpenEmbedded and Landley Aboriginal dropped support for uClibc, going over to musl. What is really odd, is the developers on both of these projects gave the same reason, that uClibc is a dead project. That is very odd, as uClibc-ng is very active. Were they ignorant of the existence of uClib-ng? -- incredible if so.

Anyway, musl. have used it many time, just don't like it. uClibc is far more glibc-compatible, and hence far easier to compile source packages.

I did attempt to compile 'dmsetup' in an Alpine Linux x86_64 musl rootfs, but finally used Landley's Aboriginal x86_64 uClibc rootfs, version 1.2.0 -- very old, but it works great. year 2012 in fact.

However, uClibc does not have the fmemopen() function, so I had to compile an older LVM2 that does not require that function -- version 2.02.119. Success, compiled it statically, about 500KB stripped.


I ruminated on what other rootfs's and toolchains there are out there, that will have a recent version of uClibc. One of them is OpenADK, that I have tried a few times over the years, always failed, see these reports:

Decided to have another go!

Downloaded the latest snapshot, ran "make menuconfig" and then "make", hit some failures, fixed them, but finally gcc compile failed with "unable to determine size of (long long)".

Scratched my head for sometime over that, but then it occurred to me that my host system might not support "long long". That does not seem to good, but anyway. My host is EasyOS Pyro64, the packages were compiled in OpenEmbedded, targeting embedded systems, and perhaps this is one compromise.

So, went over to Quirky Xerus64 8.5, which is built with Ubuntu 16.04.4 DEBs. This time success:

# make distclean
copy DOTconfig to .config
# make menuconfig
# make
copy /usr/bin/autom4te to openadk/host_x86_64-oe-linux/usr/bin/
# make you can see above, a couple of little tricks were required, the "export FORCE_UNSAFE_CONFIGURE=1", and coreutils wanted a "autom4te" file.

It finished, and built a toolchain. Now I need to study the docs, see how to compile packages, and built a development rootfs.

Tags: linux

Revisiting device-mapper

March 05, 2018 — BarryK

I investigated device-mapper, for Quirky, back in 2016:

As Quirky does not have an initramfs (well, the live-CD does, but not the full installation), I was interested in the kernel patch created by Chrome OS developers, to setup device-mapper direct from the kernel commandline.

The problem is, it only seems to allow specifying devices by name, example "sda1" or by major:minor device node numbers. However, this is not satisfactory, as these assignments are subject to change. The above link contains a link to a post from me to the "linux-lvm" mail-list about this, but noone replied,

Note, that patch was v5, and and there is now a v8 (May 2017):

As the patch is not suitable, I need to run 'dmsetup' in an initramfs. My interest is to setup COW (Copy On Write), as a replacement for aufs/overlayfs layered filesystems.

First step, compiling kernel 4.14.24, with the drivers builtin:

Device Drivers --> Multiple devices driver support
    <*> Device mapper support (CONFIG_BLOCK_DEV_DM, was dm-mod.ko)
    <*> Crypt target support (CONFIG_DM_CRYPT, was dm-crypt.ko)
    <*> Snapshot target (CONFIG_DM_SNAPSHOT)
    [*] DM uevents (CONFIG_DM_UEVENT)
That last one is very interesting, will be able to use pup_event to pickup device-mapper changes. The crypt option is also very interesting.

Tags: easy, quirky

Tag links fixed in shellCMS

March 03, 2018 — BarryK

I noticed in some cases the link to category pages was wrong. For example link to '' when it should have been ''.

Fixed, and latest tarball uploaded here:

For anyone interested in shellCMS, the frontpage is here: 

Tags: shellcms

Qsync now handled by pup_event Service Manager

March 03, 2018 — BarryK

Qsync is my app for synchronizing the time from the Internet, see blog post November 2016:

Prior to that, I was using tasmod's Psync:

...which I think most of the pups are still using.

The problem with Psync is that it expects the Internet to be up. At installation. '' is copied into /root/Startup, so it runs when X starts. For ethernet, it expects the Internet to be up immediately, for wireless, has a "sleep 15".

With Qsync, I fixed the problem of only running after the network is up, by launching it from network_tray. This is a C program, that runs in the tray, and it was version 3.2.1.

Now however, I have generic mechanism to run services when dependencies are met, so I have reverted network_tray to version 3.1 (and bumped it to v3.3). /etc/eventmanager now has this:


And I have created a script /etc/init.d/qsync to launch /usr/sbin/qsync

That's it, pretty simple.

Note that Qsync is one-shot, as it just runs 'ntpdate' once at startup, to sync local time. No more sync'ing occurs while Easy/Quirky is running.

Note also, Qsync has a GUI, in the menu "Desktop --> Qsync set time from Internet".

Tags: easy, quirky