Go to file
LinkTed 8115f3274e linux: Add support for No New Privs flag
This add No New Privs flag for start-stop-daemon and supervise-daemon
by adding --no-new-privs flag. As a result, the user set the No New
Privs flag for the program should run with.
see PR_SET_NO_NEW_PRIVS prctl(2)
2022-02-06 17:17:46 -05:00
.github/workflows capabilities: Add support for Linux capabilities(7) 2021-12-23 17:29:10 -05:00
bash-completion build: always add subdirs 2021-12-30 12:17:47 -06:00
ci use meson in cirrus ci 2021-12-30 18:37:19 -06:00
conf.d killprocs: add kill_delay setting 2021-12-07 13:40:15 -06:00
etc add option for OOM score adjustment 2021-12-22 10:01:14 -06:00
init.d init.d/devfs: default mount /dev noexec 2022-01-30 01:53:25 -05:00
local.d add meson build files 2021-09-04 16:01:29 -05:00
man linux: Add support for No New Privs flag 2022-02-06 17:17:46 -05:00
mk capabilities: Add support for Linux capabilities(7) 2021-12-23 17:29:10 -05:00
pkgconfig build: always add subdirs 2021-12-30 12:17:47 -06:00
runlevels optimize loops for installing gettys 2019-08-15 18:40:51 -05:00
scripts use HEAD in git URIs to point to the default branch 2021-12-20 20:07:00 -05:00
sh linux: Add support for No New Privs flag 2022-02-06 17:17:46 -05:00
src linux: Add support for No New Privs flag 2022-02-06 17:17:46 -05:00
support use HEAD in git URIs to point to the default branch 2021-12-20 20:07:00 -05:00
sysctl.d add meson build files 2021-09-04 16:01:29 -05:00
test use HEAD in git URIs to point to the default branch 2021-12-20 20:07:00 -05:00
tools fix permission of installed version file 2021-10-15 23:17:26 -05:00
zsh-completion build: always add subdirs 2021-12-30 12:17:47 -06:00
.cirrus.yml use meson in cirrus ci 2021-12-30 18:37:19 -06:00
.gitignore dist: convert to tar.gz 2016-09-23 15:28:56 -05:00
.travis.yml update travis ci irc notifications 2021-08-14 15:05:07 -05:00
agetty-guide.md Reformat and fix titles in documentation 2018-01-12 14:10:42 -06:00
AUTHORS Add Sony Interactive Entertainment as an author 2019-07-22 10:46:32 -05:00
BUSYBOX.md Reformat and fix titles in documentation 2018-01-12 14:10:42 -06:00
ChangeLog update ChangeLog 2021-09-07 16:14:08 -05:00
FEATURE-REMOVAL-SCHEDULE.md Reformat and fix titles in documentation 2018-01-12 14:10:42 -06:00
HISTORY.md Reformat and fix titles in documentation 2018-01-12 14:10:42 -06:00
init-guide.md Delete stray text. 2020-01-11 11:15:56 -06:00
LICENSE Convert OpenRC to a centralized copyright/license structure 2015-12-21 12:16:06 -06:00
Makefile use HEAD in git URIs to point to the default branch 2021-12-20 20:07:00 -05:00
Makefile.inc version 0.44 2021-09-07 16:16:51 -05:00
meson_options.txt capabilities: Add support for Linux capabilities(7) 2021-12-23 17:29:10 -05:00
meson.build define the pam directory at the top level 2021-12-31 11:01:55 -06:00
NEWNET.md NEWNET.md: fix the title 2021-04-03 15:18:30 -05:00
NEWS.md news typo fix 2021-09-07 15:59:19 -05:00
README.md capabilities: Add support for Linux capabilities(7) 2021-12-23 17:29:10 -05:00
runit-guide.md Reformat and fix titles in documentation 2018-01-12 14:10:42 -06:00
s6-guide.md Reformat and fix titles in documentation 2018-01-12 14:10:42 -06:00
service-script-guide.md capabilities: Add support for Linux capabilities(7) 2021-12-23 17:29:10 -05:00
STYLE-GUIDE.md Reformat and fix titles in documentation 2018-01-12 14:10:42 -06:00
supervise-daemon-guide.md clarify supervise-daemon-guide 2019-07-26 12:52:52 -05:00
TODO Add a potential future problem I can see with metric calculation and interfaces that change often. 2012-03-02 19:51:09 +00:00
user-guide.md user-guide: clarify note for Runlevels/rc-update usage 2020-12-20 13:54:33 +01:00

OpenRC README

OpenRC is a dependency-based init system that works with the system-provided init program, normally /sbin/init.

building and installing

OpenRC uses the meson build system, so use the usual methods for this build system to build and install.

The old build system is still available for the 0.44.x branch, but it is considered deprecated and will be removed. The previous documentation is below.

Installation (historical)

OpenRC requires GNU make.

Once you have GNU Make installed, the default OpenRC installation can be executed using this command:

make install

Configuration (historical)

You may wish to configure the installation by passing one or more of the below arguments to the make command

PROGLDFLAGS=-static
LIBNAME=lib64
DESTDIR=/tmp/openrc-image
MKBASHCOMP=no
MKNET=no
MKPAM=pam
MKCAP=yes
MKPREFIX=yes
MKPKGCONFIG=no
MKSELINUX=yes
MKSTATICLIBS=no
MKSYSVINIT=yes
MKTERMCAP=ncurses
MKTERMCAP=termcap
MKZSHCOMP=no
PKG_PREFIX=/usr/pkg
LOCAL_PREFIX=/usr/local
PREFIX=/usr/local
BRANDING=\"Gentoo/$(uname -s)\"
SH=/bin/sh

Notes

We don't support building a static OpenRC with PAM.

You may need to use PROGLDFLAGS=-Wl,-Bstatic on glibc instead of just -static (This is now handled by the meson build system).

If you are building OpenRC for a Gentoo Prefix installation, add MKPREFIX=yes (this is not supported in the meson build currently, but patches are welcome).

PKG_PREFIX should be set to where packages install to by default.

LOCAL_PREFIX should be set to where user maintained packages are. Only set LOCAL_PREFIX if different from PKG_PREFIX.

PREFIX should be set when OpenRC is not installed to /.

If any of the following files exist then we do not overwrite them

/etc/devd.conf
/etc/rc
/etc/rc.shutdown
/etc/conf.d/*

rc and rc.shutdown are the hooks from the BSD init into OpenRC.

devd.conf is modified from FreeBSD to call /etc/rc.devd which is a generic hook into OpenRC.

inittab is the same, but for SysVInit as used by most Linux distributions. This can be found in the support folder.

Obviously, if you're installing this onto a system that does not use OpenRC by default then you may wish to backup the above listed files, remove them and then install so that the OS hooks into OpenRC.

Discussions

We are testing discussions, so feel free to open topics there.

Reporting Bugs

Please report bugs on our bug tracker.

If you can contribute code , please feel free to do so by opening pull requests.

IRC Channel

We have an official irc channel, #openrc on the libera network. Please connect your irc client to irc.libera.chat and join #openrc on that network.