Hi all!
In order to use s6 and friends on embedded devices, I added support for them in
[Buildroot](
http://buildroot.org), a set of Makefiles which make building Linux
embedded systems easy.
As these patches are not available upstream yet, I've created a playground:
[buildroot-s6](
https://github.com/elebihan/buildroot-s6/).
In this playground, the user can build a firmware using s6-rc as init system for
the following platforms:
- QEMU/x86, dynamically linked against glibc.
- Raspberry Pi, statically linked against musl.
ATM, I only added the skarnet.org software stack as packages in Buildroot (see
"buildroot/package"), the skeleton for using s6-rc as init is available outside
(in the "custom" directory of the project). The objective is to add another
package for it and allow the user to select s6-rc as init from the configuration
menu (among Busybox, SysV and systemd).
Additional information:
- Buildroot allows the user to build a cross-compilation toolchain using glibc,
musl or uclibc-ng. The build of skalibs fails with the later. More details
soon.
- To cross-compile skalibs the documentation of skalibs recommends generating
the sysdeps offline. This is a problem for Buildroot, as many architectures
are supported and providing sysdeps for them is a no-go. I provide a patch for
skalibs which replaces the run time tests for some type sizes and endianness
with some compile time tests. This removes the need for offline sysdeps. This
patch may be fine for Buildroot, but I have not verified its portability.
- The source files for the s6-rc service database are not stored in the
firmware images. The database is built offline.
Comments welcomed.
Best regards,
ELB
Received on Mon Oct 05 2015 - 09:52:35 UTC