OpenRC is an alternate init system developed by Gentoo developers. OpenRC is a dependency based init system that works with the system provided init program, normally sysvinit. It is not a replacement for sysvinit.
OpenRC is available in the AUR. You can choose to install either AUR or AUR package. You will also need to install AUR (provides service files for use with openrc on arch) and AUR (a slightly patched version of traditional sysvinit). For the sake of compatibility with initscripts, AUR installs the sysvinit init binary as /sbin/init-openrc.
For booting with OpenRC add
init=/sbin/init-openrc to the kernel line in your bootloader configuration. If you want to switch back to systemd, change it to
It is worth noting that the udev service is not enabled by default. In order to enable it, do:
# rc-update add udev sysinit
There are multiple ways to get a network up and running. One way is by configuring the
/etc/openrc/conf.d/network file. Both the
ip ( ) and the
ifconfig ( ) commands are supported.
Below is an example configuration using
ip_eth0="192.168.1.2/24" defaultiproute="via 192.168.1.1" ifup_eth0="ip link set \$int mtu 1500"
The network service is added to the boot runlevel by default, so no further action is required.
Take a look at Network Configuration for a detailed look at networking in general.
If you use syslog-ng, comment out the following line in
unix-dgram("/run/systemd/journal/syslog")and add this line instead:
OpenRC's boot logging is disabled by default. To enable it, uncomment the following line in
OpenRC sets the hostname from
Here is an example file:
OpenRC doesn't use /etc/modules-load.d/ folder, instead it uses
add a line like this to that file :
There is no built-in support for configuring locales in OpenRC. Though, you can configure the settings through the
/etc/locale.conf file, which is sourced via
For details on configuring the locale, take a look here.
Error while unmounting /tmp
When shutting the system down, you might get an error message such as
* Unmounting /tmp ... * in use but fuser finds nothing [ !! ]
This can be fixed by adding
Disabling IPv6 doesn't work
If you have OpenRC installed under the
/etc/openrc sysconf directory, then disabling IPv6 through
/etc/sysctl.conf doesn't work.
One fix for this is to put
# Disable ipv6 net.ipv6.conf.all.disable_ipv6 = 1
in a file (with a .conf extension) under