site  contact  history  index

Low-level container how-tos

September 25, 2018 — BarryK

I have accumulated some links with information about containers at a low-level. Some are very grass-roots, DIY, tutorials, some are simple implementations. These are in no particular order:

http://cesarvr.github.io/post/2018-05-22-create-containers/

https://blog.lizzie.io/linux-containers-in-500-loc.html

https://github.com/p8952/bocker

https://ericchiang.github.io/post/containers-from-scratch/

https://dev.to/napicellatwit/containers-from-scratch-in-18-lines-of-code-3pmn

https://www.brighttalk.com/webcast/15077/253233/containers-from-scratch

https://wvi.cz/diyC/

http://blog.z3bra.org/2016/03/hand-crafted-containers.html

https://github.com/arachsys/containers

http://doger.io/

https://github.com/ghedo/pflask

https://github.com/xemul/libct

https://github.com/subgraph/oz

The above are NOT about using Docker, LXC, LXD, or any of the mainstream container implementations! Also, I stayed away from implementions in languages other than C or shell script -- there are some sites with low-level code in Go for example.

Tags: linux

Linux containers in 580 lines of C

September 23, 2018 — BarryK

'contained' is an executable written in C, for chrooting into a filesystem, with maximum security:

https://blog.lizzie.io/linux-containers-in-500-loc.html

...as the author states, it did grow a bit beyond 500 lines! Here is the C code:

https://blog.lizzie.io/linux-containers-in-500-loc/contained.c

Using the 4.14.71 kernel, with cgroups support now enabled, I got 'contained' to work. Was able to "chroot" into a rootfs, and it is very locked down. Too locked down to actually do anything useful.

However, it is very educational to study. It has given me an introduction how cgroups can be used, and the intention is to apply cgroups to EasyContainers.


Tags: linux

Retired from Puppy project, etc.

September 23, 2018 — BarryK

I receive a couple of emails per day from users of Puppy Linux or a derivative. A lot of people don't know that I am retired from the Puppy project, and ask me for help with XenialPup etc. Or, advise me what should be done.

This has increased a bit recently, as a couple of people have mentioned being unable to register on the Puppy Forum.

Maybe I need to put some "rules of contact" on the Contact Me page (see above). Anyway, posting here for now...

I retired from leading the Puppy Linux project in 2013, now just dabbling in some experimental distros, Quirky and EasyOS.

Furthermore, Quirky and EasyOS are very much just hobbies. I'm not really interested whether they become mainline or widely-adopted distributions. So, I am not trying to develop them toward suitability for a wide user-base. On the otherhand, if a wider user-base find them useful, that's OK also.

My interest is in the technology, just to play around with ideas, and have something usable for myself, and usable also for those involved in providing feedback and testing.

For those with Puppy-specific questions, please ask at the Puppy Forum:

http://murga-linux.com/puppy/

If unable to do so, like being unable to register, or it is down, there are two alternative Puppy forums:

http://puppylinux.info/

https://www.linuxquestions.org/questions/puppy-71/

Feedback about Quirky should be directed here:

http://murga-linux.com/puppy/viewtopic.php?t=106460

Feedback about EasyOS:

http://murga-linux.com/puppy/viewtopic.php?t=109958

I don't mind receiving emails, as long as not too many. If the forums are unsuitable for whatever reason, and the feedback is Quirky or EasyOS related, or something else that you think would be of interest to me, then yeah, no problem.

One thing though, don't try an involve me in some project. I receive offers regularly, to become involved in something. Please don't. I am retired, introspective, enjoying pottering around in the garden, don't want to be involved in any project, no matter how great it is.

As an example, a chap contacted me yesterday, via the Contact Me form, with a proposal to raise money for spreading Quirky/EasyOS to a wide audience. I do appreciate the enthusiasm!

Yeah, might put a link from the Contact Me page, to something like the above.

Tags: admin

libseccomp bumped, cgroups in kernel

September 22, 2018 — BarryK

Now returning to developing EasyContainers, after a lapse of a couple of months. Well, I think it is getting on to about two months since I last dabbled in them.

Preparing the ground, so to speak, I want to have 'libseccomp' in EasyOS. The package is already compiled in 'oe-qky-src', my fork of OpenEmbedded, as it was needed for Flatpak (universal packages) support (that I experimented with a couple of months ago).

I have bumped 'libseccomp' from 2.3.1 to 2.3.3, see commits:

https://github.com/bkauler/oe-qky-src/commit/a0c9eb170a76d19e6794bf6080532a61903de3d4

I have also compiled the 4.14.71 kernel in EasyOS Pyro, with more support for cgroups. Previously, had only enabled "Device controller" support in cgroups (General setup -> Control group support), have now enabled these as well:

Memory controller
IO controller
CPU controller
PIDs controller
RDMA controller
Simple CPU accounting controller

The previous kernel build had "User namespaces" enabled (General setup -> Namespaces support). I have now disabled that, but the other namespaces are still enabled.

Note, have also done the same for the 4.18.9 kernel, that I compiled yesterday for the Quirky builds.

Tags: easy

Quirky Beaver x86_64 version 8.7.1 released

September 22, 2018 — BarryK

Quirky Xerus x86_64 version 8.6 was released only a few weeks ago:

http://bkhome.org/news/201808/quirky-xerus-86-released.html

The transition has been made to building with Ubuntu Bionic Beaver 18.04.1 DEBs, and now codenamed "Quirky Beaver", first release is version 8.7.1, for x86_64 PCs. Some announcement blurb:

Quirky Linux 8.7.1 is the first in the "Beaver" series, binary-compatible with x86_64 Ubuntu 18.04.1 LTS, though built with woofQ and architecturally very different from Ubuntu.
Quirky is an experimental distribution, that forked from Puppy Linux a few years ago, and has followed a different path, exploring some new ideas. Continuing the Puppy tradition, Quirky has a "complete" suite of applications, drivers and utilities, in a very small size.
Version 8.7.1 is very similar to 8.6, but with a complete upgrade of package versions. The kernel is now 4.18.9.

Package versions may be seen here: 1 2

More details, including an overview of the release history of Quirky, is here:

http://distro.ibiblio.org/quirky/quirky6/amd64/releases/beaver-8.7.1/release-beaver64-8.7.1.htm

The primary download site is courtesy of ibiblio.org:

http://distro.ibiblio.org/quirky/quirky6/amd64/releases/beaver-8.7.1/

As usual, there is a choice of an image file to write to a USB-stick, or an ISO, instructions are here:

http://distro.ibiblio.org/quirky/quirky6/amd64/releases/beaver-8.7.1/howto-install.htm

Feedback is courtesy of the Puppy Forum:

http://murga-linux.com/puppy/viewtopic.php?t=106460 

EasyOS

I would like to mention also EasyOS, the latest version released yesterday. EasyOS is also built by woofQ, and mostly the same packages as for Quirky, so they are very similar. The difference is that EasyOS is a fundamental rethink of the underlying architecture, so, another experimental distribution. EasyOS is also available as the "Pyro" and "Beaver" series. See announcement of the latest EasyOS, "Easy Beaver", version 0.9.3:

http://bkhome.org/news/201809/easy-beaver-093-released.html

And, for an overview of what EasyOS is all about, see here:

http://bkhome.org/easy/

Note that EasyOS gets most of my attention these days, and perhaps ultimately Quirky will be retired. Though, the future is completely open at this stage.

Have fun!

Note, there was a Quirky Beaver version 8.7, with a brief life of two days. There was a security advisory for the 4.18.8 kernel, requiring an upgrade to 4.18.9, and youtube-dl (Youtube downloader script) did not work, also requiring an upgrade. 


Quirky Beaver 8.7.1 Bug reports

20180923
So far, one bug found. 8.7.1 has the Busybox 'fdisk', not the full 'fdisk' from the 'util-linux' package. If running from live-CD, and run the Quirky Installer, the advice for configuring GRUB is wrong, due to the less-functional Busybox applet. The fix is easy, just install 'fdisk' from the Ubuntu repository. The bug and the fix is discussed in the forum: 1   

Tags: quirky

Easy Beaver 0.9.4 released

September 21, 2018 — BarryK

Easy Beaver 0.9.3 was released just two days ago. It has the 4.18.8 kernel, but there was an advisory of a security issue, so have now upgraded to 4.18.9. It also has 'youtube-dl', a YouTube downloader script, but we found that no longer works -- a new script was made available yesterday and have upgraded. The "desk" icon on the desktop did not work, as the 'xserver-xephyr' DEB package was missing. These fixes were important, hence we have release 0.9.4. 

Easy Beaver 0.9.2 was released in May 2018:

http://bkhome.org/news/201805/easy-beaver-092-released.html

Mostly, I have focused on the "Pyro" series of EasyOS, built with packages compiled entirely from source, using my fork of OpenEmbedded. However, also created some builds using Ubuntu DEBs -- there were some releases based on Ubuntu Xenial Xerus DEBs, and one using Bionic Beaver DEBS (0.9.2).

Have now built EasyOS x86_64 with Bionic Beaver 18.04.1 DEBs, codenamed "Easy Beaver", version 0.9.4. Download from here:

http://distro.ibiblio.org/easyos/amd64/releases/beaver/0.9.4/

Built with latest woofQ, so from that respect on a par with the Pyro series. Building with Ubuntu DEBs does result in a considerably bigger download file, however, weigh that against compatibility with the Ubuntu DEB respositories.
The kernel is 4.18.9, patched with aufs.

The download is an image that you can write to a USB stick, as described here:

http://bkhome.org/easy/how-to-write-easyos-to-a-flash-drive.html

Pyro
Regarding the Pyro series, this generally sees more activity from me. These are the latest releases:

0.9.6.3, x86_64, Raspberry Pi3:
http://bkhome.org/news/201809/easyos-0963-64-bit-on-raspberry-pi.html

0.9.6, x86 32-bit, PC:
http://bkhome.org/news/201808/easyos-32-bit-version-096.html

0.9.6, x86_64, PC:
http://bkhome.org/news/201808/easyos-version-096-released.html

Feedback
Feedback is welcome, hosted on the Puppy Forum:

http://murga-linux.com/puppy/viewtopic.php?t=109958

Tags: easy

Quirky Beaver x86_64 version 8.7 released

September 19, 2018 — BarryK

NOTICE: Quirky Beaver 8.7 was only released for two days before being replaced by 8.7.1, with important bug fixes. Please go here:

http://bkhome.org/news/201809/quirky-beaver-x8664-version-871-released.html



Quirky Xerus x86_64 version 8.6 was released only a few weeks ago:

http://bkhome.org/news/201808/quirky-xerus-86-released.html

The transition has been made to building with Ubuntu Bionic Beaver 18.04.1 DEBs, and now codenamed "Quirky Beaver", first release is version 8.7, for x86_64 PCs. Some announcement blurb:

Quirky Linux 8.7 is the first in the "Beaver" series, binary-compatible with x86_64 Ubuntu 18.04.1 LTS, though built with woofQ and architecturally very different from Ubuntu.
Quirky is an experimental distribution, that forked from Puppy Linux a few years ago, and has followed a different path, exploring some new ideas. Continuing the Puppy tradition, Quirky has a "complete" suite of applications, drivers and utilities, in a very small size.
Version 8.7 is very similar to 8.6, but with a complete upgrade of package versions. The kernel is now 4.18.8.

Package versions may be seen here: 1 2

More details, including an overview of the release history of Quirky, is here:

http://distro.ibiblio.org/quirky/quirky6/amd64/releases/beaver-8.7/release-beaver64-8.7.htm

The primary download site is courtesy of ibiblio.org:

http://distro.ibiblio.org/quirky/quirky6/amd64/releases/beaver-8.7/

As usual, there is a choice of an image file to write to a USB-stick, or an ISO, instructions are here:

http://distro.ibiblio.org/quirky/quirky6/amd64/releases/beaver-8.7/howto-install.htm

Feedback is courtesy of the Puppy Forum:

http://murga-linux.com/puppy/viewtopic.php?t=106460 

EasyOS

I would like to mention also EasyOS, the latest version released yesterday. EasyOS is also built by woofQ, and mostly the same packages as for Quirky, so they are very similar. The difference is that EasyOS is a fundamental rethink of the underlying architecture, so, another experimental distribution. EasyOS is also available as the "Pyro" and "Beaver" series. See announcement of the latest EasyOS, "Easy Beaver", version 0.9.3:

http://bkhome.org/news/201809/easy-beaver-093-released.html

And, for an overview of what EasyOS is all about, see here:

http://bkhome.org/easy/

Note that EasyOS gets most of my attention these days, and perhaps ultimately Quirky will be retired. Though, the future is completely open at this stage.

Have fun!

Tags: quirky

Easy Beaver 0.9.3 released

September 19, 2018 — BarryK

NOTICE: Easy Beaver 0.9.3 was only released for two days before being replaced by 0.9.4, with important bug fixes. Please go here:

http://bkhome.org/news/201809/easy-beaver-094-released.html
 



Easy Beaver 0.9.2 was released in May 2018:

http://bkhome.org/news/201805/easy-beaver-092-released.html

Mostly, I have focused on the "Pyro" series of EasyOS, built with packages compiled entirely from source, using my fork of OpenEmbedded. However, also created some builds using Ubuntu DEBs -- there were some releases based on Ubuntu Xenial Xerus DEBs, and one using Bionic Beaver DEBS (0.9.2).

Have now built EasyOS x86_64 with Bionic Beaver 18.04.1 DEBs, codenamed "Easy Beaver", version 0.9.3. Download from here:

http://distro.ibiblio.org/easyos/amd64/releases/beaver/0.9.3/

Built with latest woofQ, so from that respect on a par with the Pyro series. Building with Ubuntu DEBs does result in a considerably bigger download file, however, weigh that against compatibility with the Ubuntu DEB respositories.
The kernel is 4.18.8, patched with aufs.

The download is an image that you can write to a USB stick, as described here:

http://bkhome.org/easy/how-to-write-easyos-to-a-flash-drive.html

Pyro
Regarding the Pyro series, this generally sees more activity from me. These are the latest releases:

0.9.6.3, x86_64, Raspberry Pi3:
http://bkhome.org/news/201809/easyos-0963-64-bit-on-raspberry-pi.html

0.9.6, x86 32-bit, PC:
http://bkhome.org/news/201808/easyos-32-bit-version-096.html

0.9.6, x86_64, PC:
http://bkhome.org/news/201808/easyos-version-096-released.html

Feedback
Feedback is welcome, hosted on the Puppy Forum:

http://murga-linux.com/puppy/viewtopic.php?t=109958

Tags: easy