s6-linux-init: how to upgrade
Keywords: s6-linux-init installation upgrade

s6-linux-init
Software
skarnet.org

# What has changed in s6-linux-init

## in 1.0.7.3

- skalibs dependency bumped to 2.11.2.0.
- execline dependency bumped to 2.8.3.0.
- s6 dependency bumped to 2.11.1.0.

## in 1.0.7.2

- No functional changes.

## in 1.0.7.1

- No functional changes.

## in 1.0.7.0

- skalibs dependency bumped to 2.11.1.0.
- nsss optional dependency bumped to 0.2.0.1.
- utmps optional dependency bumped to 0.1.1.0.
- execline dependency bumped to 2.8.2.0.
- s6 dependency bumped to 2.11.0.1.

## in 1.0.6.4

- skalibs dependency bumped to 2.11.0.0.
- nsss optional dependency bumped to 0.2.0.0.
- utmps optional dependency bumped to 0.1.0.3.
- execline dependency bumped to 2.8.1.0.
- s6 dependency bumped to 2.11.0.0.

## in 1.0.6.3

- utmps optional dependency bumped to 0.1.0.2.

## in 1.0.6.2

- skalibs dependency bumped to 2.10.0.3.
- execline dependency bumped to 2.8.0.1.
- s6 dependency bumped to 2.10.0.3.

## in 1.0.6.1

- skalibs dependency bumped to 2.10.0.2.
- execline dependency bumped to 2.7.0.1.
- s6 dependency bumped to 2.10.0.2.

## in 1.0.6.0

- skalibs dependency bumped to 2.10.0.0.
- execline dependency bumped to 2.7.0.0.
- s6 dependency bumped to 2.10.0.0.
- nsss optional dependency bumped to 0.1.0.0.
- utmps optional dependency bumped to 0.1.0.0.
- New binary: s6-linux-init-nuke.

## in 1.0.5.1

- No functional changes.

## in 1.0.5.0

- skalibs dependency bumped to 2.9.3.0.
- execline dependency bumped to 2.6.1.1.
- New `-i` option to s6-linux-init-hpr and s6-linux-init-shutdown that requires manual confirmation before shutting down.

## in 1.0.4.2

- No functional changes.

## in 1.0.4.1

- s6 dependency bumped to 2.9.2.1.
- execline dependency bumped to 2.6.1.0.

## in 1.0.4.0

- skalibs dependency bumped to 2.9.2.0.
- execline dependency bumped to 2.6.0.0.
- s6 dependency bumped to 2.9.1.0.
- nsss optional dependency bumped to 0.0.2.2.
- utmps optional dependency bumped to 0.0.3.2.
- New `-n` option to s6-linux-init-hpr, to disable the `sync()` call before the hardware reboot or power off.
- New options added to s6-linux-init-maker and impacted binaries (s6-linux-init and s6-linux-init-shutdownd):
  - `-C`: to boot a s6-based system in a container
  - `-B`: to disable the catch-all logger

## in 1.0.3.1

- skalibs dependency bumped to 2.9.1.0.
- execline dependency bumped to 2.5.3.0.
- s6 dependency bumped to 2.9.0.1.
- nsss optional dependency bumped to 0.0.2.1.
- utmps optional dependency bumped to 0.0.3.1.

## in 1.0.3.0

- skalibs dependency bumped to 2.9.0.0.
- execline dependency bumped to 2.5.2.0.
- s6 dependency bumped to 2.9.0.0.
- nsss optional dependency bumped to 0.0.2.0.
- utmps optional dependency bumped to 0.0.3.0.
- Ctrl-Alt-Del management is now activated by default, instead of requiring a sysctl setting in stage 2.
- s6-linux-init-umountall now skips the first instance of `/dev`, `/proc` and `sys`.
- stage 4 (after every process has been killed and the filesystems have been unmounted) now calls a new user script, `rc.shutdown.final`.

## in 1.0.2.1

- utmps optional dependency bumped to 0.0.2.2.

## in 1.0.2.0

- `-H` and `-P` options added to s6-linux-init-shutdown for better compatibility with sysvinit.

## in 1.0.1.0

- `-f` option added to s6-linux-init-maker for use in distribution packaging scripts with a staging directory.
- Permissions on the binaries have been adjusted.
- The skeleton `runlevel` script now includes a guard to avoid calling the service manager without an argument.
- The permissions of the `/run/uncaught-logs` directory in the generated image have been changed to 02750.

## in 1.0.0.0

- This is a complete rewrite and redesign of s6-linux-init: the lifetime version number has increased. No compatibility whatsoever is retained with previous versions.
- When rebooting after upgrading from a 0.4.0.x version of s6-linux-init to 1.0.0.0: the `s6-reboot` command, which is needed for the 0.4.0.x shutdown procedure, may not be accessible via PATH anymore. Make sure to have (a copy of) `s6-reboot` available in your PATH; you can remove it after rebooting on the new system.

## in 0.4.0.1

- skalibs dependency bumped to 2.8.0.0.
- execline dependency bumped to 2.5.1.0.
- s6-portable-utils dependency bumped to 2.2.1.3.
- s6-linux-utils dependency bumped to 2.5.0.1.
- s6 dependency bumped to 2.8.0.0.

## in 0.4.0.0

- skalibs dependency bumped to 2.6.4.0.
- execline dependency bumped to 2.3.0.4.
- s6 dependency bumped to 2.7.1.0.
- s6-linux-init-maker now autogenerates stage 3, which is not the responsibility of the user anymore (stage 3 was previously the user-written `/etc/rc.shutdown` script).
- The default user-provided "end of stage 2, bring down services" script was named `/etc/rc.tini` before; now it's named `/etc/rc.shutdown`.
- Everything now builds as PIC by default no matter the toolchain's settings. Use the `--disable-all-pic` configure option to build executables and static libraries as non-PIC.

## in 0.3.1.1

- No functional changes

## in 0.3.1.0

- skalibs dependency bumped to 2.6.0.0.
- execline dependency bumped to 2.3.0.2.
- s6-portable-utils dependency bumped to 2.2.1.1.
- s6-linux-utils dependency bumped to 2.4.0.0.
- s6 dependency bumped to 2.6.1.0.

## in 0.3.0.0

- skalibs dependency bumped to 2.5.0.0.
- execline dependency bumped to 2.3.0.0.
- s6-portable-utils dependency bumped to 2.2.0.0.
- s6-linux-utils dependency bumped to 2.3.0.0.
- s6 dependency bumped to 2.5.0.0.

## in 0.2.0.0

- skalibs dependency bumped to 2.4.0.0.
- execline dependency bumped to 2.2.0.0.
- s6-portable-utils dependency bumped to 2.1.0.0.
- s6-linux-utils dependency bumped to 2.2.0.0.
- s6 dependency bumped to 2.4.0.0.
- s6-halt, s6-poweroff and s6-reboot moved from s6-linux-utils to s6-linux-init.
- s6-linux-init-maker options modified. (Read the documentation!)

## in 0.1.0.0

- skalibs dependency bumped to 2.3.10.0.
- execline dependency bumped to 2.1.5.0.
- s6-portable-utils dependency bumped to 2.0.6.0.
- s6-linux-utils dependency bumped to 2.1.0.0.
- s6 dependency bumped to 2.3.0.0.
- s6-linux-init-maker does not write stage 1 init to stdout anymore; it writes it to `dir/init` instead.

## in 0.0.1.4

- GNU make dependency pushed back to 3.81.
- skalibs dependency bumped to 2.3.8.0.
- execline dependency bumped to 2.1.4.1.
- s6-portable-utils dependency bumped to 2.0.5.3.
- s6-linux-utils dependency bumped to 2.0.2.3.
- s6 dependency bumped to 2.2.2.0.
- stage2_finish support added.

## in 0.0.1.3

- skalibs dependency bumped to 2.3.6.1.

## in 0.0.1.2

- s6 dependency bumped to 2.1.6.0.

## in 0.0.1.1

- s6 dependency bumped to 2.1.5.0.