[announce] buildroot-s6 0.2.0
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
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.