- 1 Installation
- 2 Configuration
- 3 Troubleshooting
- 4 Using OpenRC with a desktop environment
- 5 See also
There are 2 conflicting ways of installing OpenRC. Both have packages with the exact name of
openrc. apg's tries to mantain compatibility with systemd, while artoo's is more suited for those who would like to remove systemd entirely or use it only as a udev provider.
For details on init components, see Init.
OpenRC and accompanying packages are available in the AUR.
Install either theAUR or AUR package. AUR or are used as the init process. Service files are available from the AUR package.
To maintain compability with
/etc/openrc/. The sysvinit init binary is installed to
/usr/bin/init-openrc for compability with or similar packages.
Configuration files are installed to
/etc, similar to Gentoo.
A guide is available at .
For booting with OpenRC add
init=/usr/bin/init-openrc to the kernel parameters. To switch back to systemd, remove the parameter again.
/etc/openrc/conf.d directory, and the
/etc/openrc/rc.d file is used for configuration.
OpenRC is booted by default. To boot with systemd, add
init=/usr/lib/systemd/systemd to the kernel line in your bootloader configuration.
/etc/conf.d directory is used for configuration.
For general information on configuring OpenRC, see:
For more information specific to Arch Linux, refer to .
OpenRC services are enabled by issuing
rc-update add service_name runlevel as root. It is recommended to at least enable the following services:
See Network configuration for a detailed look at networking in general.
The network is configured through
newnet. Modify 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. See Network configuration for general networking information.
dhcpcd-openrc package provides a specific dhcpcd script, not to be confused with netifrc default. It will start
To use a static route you need to create a symlink of
net.lo that reflects your device's name:
ln -s /etc/init.d/net.lo /etc/init.d/net.eth0
See an article in the Gentoo Handbook for details.
For having a graphical network manager,
networkmanager-openrc' can be installed. Other options are available, such as
To enable boot logging, uncomment the
rc_logger="YES" line in
rcdir/rc.conf. When enabled, boot logs are stored in
/var/log/rc.log. artoo enables it by default.
OpenRC sets the hostname from
rcdir/conf.d/hostname. The file looks as follows:
# Set to the hostname of this machine hostname="myhostname"
rcdir/conf.d/modules instead of
/etc/modules-load.d. For example:
# You should consult your kernel documentation and configuration # for a list of modules and their options. modules="vboxdrv acpi_cpufreq"
Keyboard layout can be configured via
rcdir/conf.d/consolefont. You can also configure the settings through the
/etc/locale.conf file, which is sourced via
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 does not work
One option is to add:
# Disable ipv6 net.ipv6.conf.all.disable_ipv6 = 1
in a file with a
.conf extension under
During shutdown remounting root as read-only fails
If the above happens, edit the
/etc/openrc/init.d/mount-ro file and put:
after the following line:
# Flush all pending disk writes now sync; sync
/etc/sysctl.conf not found
To prevent a missing file error, create the file:
# touch /etc/sysctl.conf
Using OpenRC with a desktop environment
# rc-update add consolekit default
See ConsoleKit for more information.