[announce] buildroot-s6 0.2.0

2015-11-12 Thread Eric Le Bihan
Hi!

The version 0.2.0 of buildroot-s6, a set of Makefiles to generate embedded
Linux systems using s6 as init system, is available [1].

What's new?

- update of the s6 stack.
- possibility to select "s6 init" as init system in Buildroot configuration
  menu.
- addition of s6-linux-init-skeleton.
- fix for system shutdown (courtesy of /etc/rc.tini).

Formerly, all the files needed to use s6 as an init system were stored in the
"custom" subdirectory. In order to allow the user to select "s6 init" as init
system, I added a new package named "s6-linux-init-skeleton", which now
provides all the files for a basic setup (inspired by the examples from
s6-rc). The "custom" directory now only contains the files for the user custom
services (e.g. running `rngd` on the Raspberry Pi). See
buildroot/package/s6-linux-init-skeleton/files for details.

s6-linux-init-skeleton still needs improvements to be properly integrated into
Buildroot (e.g. better network/disk management).

buildroot-s6 is a sandbox to play with the s6 stack and see how it could be
integrated into the official Buildroot. It is still a work-in-progress.

About the branching model: the "stable" version will always be available on
the "master" branch, the latest developments will take place on "develop"
(thank you, Captain Obvious).

About the version scheme: stable version string will always contains even
numbers (e.g. 0.2.0), development/intermediate/unstable version string will
always contains odd numbers (e.g. 0.3.1).

I will shortly release 0.2.2, with an update of the s6 stack.

Comments welcomed!

[1] https://github.com/elebihan/buildroot-s6/

--
ELB


Re: [announce] buildroot-s6 0.2.0

2015-11-12 Thread Alex Suykov
Thu, Nov 12, 2015 at 09:29:37PM +0100, Eric Le Bihan wrote:

> Comments welcomed!

depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL looks really
strange, uClibc is typically the least problematic libc.

I can definitely build it with a uclibc toolchain, all it needs is -lrt
in skalibs configure when testing for posix_spawn* and later whenever -lskalibs
is used.

It does not work though. What I have so far is this:

execve("/usr/sbin/s6-echo", ["s6-echo", "--", "Starting system."], ...)
execve("s6-echo", ["s6-echo", "--", "Starting system."], ...)
execve("s6-echo", ["s6-echo", "--", "Starting system."], ...)
execve("s6-echo", ["s6-echo", "--", "Starting system."], ...)
execve("s6-echo", ["s6-echo", "--", "Starting system."], ...)
...

and it keeps repeating that execve in an infinite loop.

That's execline running /sbin/init.
The first if and the first occurence of a { } block in that script.
Strange, but I did not look further into this yet.

> buildroot-s6 is a sandbox to play with the s6 stack and see how it could be
> integrated into the official Buildroot. It is still a work-in-progress.

The worst part will be dealing with per-package service files.
I did try doing similar thing. Ended up with all my stuff in BR2_EXTERNAL,
this way it's much easier to keep Buildroot proper up to date.