Skip to content
system initialization scripts and startup
C Shell C++
Find file
Latest commit 6f080e9 @perfinion perfinion committed with williamh tmpfiles: Move relabelling before any other calls for device nodes
Device nodes are normally never device_t so this type does not
have many permissions. After the mknod, the device should have
its label corrected before any other operations (like chmod).
Failed to load latest commit information.
conf.d hwclock: fix comments about the usage of clock_hctosys
etc rc.conf: document rc_verbose
init.d.misc Rename runscript to openrc-run
init.d bootmisc: do not run the clean_run function in an LXC container
local.d local.d: update README
man man/openrc-run.8: more updates and clarifications for checkpath
mk Add SELinux support to the build system
pkgconfig Revert "Make einfo routines private"
runlevels Remove gentoo's net.* scripts
scripts remove type command
sh tmpfiles: Move relabelling before any other calls for device nodes
src Show rc and runscript deprecation warnings in verbose mode
support Rename the rc binary to openrc
sysctl.d sysctl.d: fix README
test checkbashisms: clean up export statements.
.gitignore clean up gitignore files
Makefile Remove gentoo's net.* scripts increment version
README README: expand information about rc and runscript deprecation
README.busybox README.busybox: document incompatibility with built-in ip applet
README.history Make history a separate document
README.newnet Remove gentoo's net.* scripts
STYLE Fix wrong wording in STYLE
TODO Add a potential future problem I can see with metric calculation and …



make install
Yup, that simple. Works with GNU make.

You may wish to tweak the installation with the below arguments

We don't support building a static OpenRC with PAM.
You may need to use PROGLDFLAGS=-Wl,-Bstatic on glibc instead of just -static.
If you debug memory under valgrind, add -DDEBUG_MEMORY to your CPPFLAGS
so that all malloc memory should be freed at exit.
If you are building OpenRC for a Gentoo Prefix installation, add

You can also brand OpenRC if you so wish like so
BRANDING=\"Gentoo/$(uname -s)\"

PKG_PREFIX should be set to where packages install to by default.
LOCAL_PREFIX should be set when 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

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.

init.d.misc is not installed by default as the scripts will need
tweaking on a per distro basis. They are also non essential to the operation
of the system.

As of OpenRC-0.12, the net.* scripts, originally from Gentoo Linux, have
been removed. If you need these scripts, look for a package called
netifrc, which is maintained by them.

As of OpenRC-0.13, two binaries have been renamed due to naming
conflicts with other software. The /sbin/rc binary was renamed to
/sbin/openrc, and /sbin/runscript was renamed to /sbin/openrc-run.

Backward compatible symbolic links are currently in place so your
system will keep working if you are using the old names; however, it is
strongly advised that you migrate to the new names because the symbolic
links will be removed in the future.

Warnings have been added to assist with this migration; however, they
only show in verbose mode in this release due to the level of noise they

Reporting Bugs
Since Gentoo Linux is hosting OpenRC development, Bugs should go to
the Gentoo Bugzilla:
They should be filed under the "Gentoo Hosted Projects" product and
the "openrc" component.
Something went wrong with that request. Please try again.