Difference between revisions of "OpenRC, an alternative to systemd"
OpenRC, an alternative to systemd (view source)
Revision as of 06:19, 25 September 2020
, 4 years agochanged forum link to point to archived forum
imported>Fhdk m (changed box - removed unnecessary empty lines) |
imported>Fhdk m (changed forum link to point to archived forum) |
||
Line 1: | Line 1: | ||
{{Important|Manjaro does no longer support OpenRC}} | {{Important|Manjaro does no longer support OpenRC}} | ||
{{Important|If you are looking for OpenRC capable Arch have a look at [https://artixlinux.org Artix Linux]}} | {{Important|If you are looking for OpenRC capable Arch have a look at [https://artixlinux.org Artix Linux]}} | ||
[https://wiki.gentoo.org/wiki/OpenRC OpenRC] is a dependency based [https://en.wikipedia.org/wiki/Init init] system maintained by the Gentoo developers, that works with the system provided init program, normally [http://savannah.nongnu.org/projects/sysvinit sysvinit]. It is not a replacement for sysvinit. | [https://wiki.gentoo.org/wiki/OpenRC OpenRC] is a dependency based [https://en.wikipedia.org/wiki/Init init] system maintained by the Gentoo developers, that works with the system provided init program, normally [http://savannah.nongnu.org/projects/sysvinit sysvinit]. It is not a replacement for sysvinit. | ||
Line 7: | Line 6: | ||
== Installation == | == Installation == | ||
{{Important|OpenRC on Manjaro has been [https://forum.manjaro.org/t/manjaro-openrc-will-be-discontinued/28387 discontinued].}} | {{Important|OpenRC on Manjaro has been [https://forum.manjaro.org/t/manjaro-openrc-will-be-discontinued/28387 discontinued].}} | ||
OpenRC is available from the the Manjaro repositories. It can be installed as: | OpenRC is available from the the Manjaro repositories. It can be installed as: | ||
sudo pacman -S openrc-base | sudo pacman -S openrc-base | ||
The output of the above command looks like the following: | The output of the above command looks like the following: | ||
$ sudo pacman -S openrc-base | $ sudo pacman -S openrc-base | ||
:: There are 10 members in group openrc-base: | :: There are 10 members in group openrc-base: | ||
Line 44: | Line 39: | ||
On installing ''openrc-base'', one may get messages like: | On installing ''openrc-base'', one may get messages like: | ||
run 'rc-update add dbus default' | run 'rc-update add dbus default' | ||
run 'rc-update add cronie default' | run 'rc-update add cronie default' | ||
Running these command(s) adds the service(s) to the specified runlevels. For example on running: | Running these command(s) adds the service(s) to the specified runlevels. For example on running: | ||
sudo rc-update add dbus default | sudo rc-update add dbus default | ||
The dbus service would be added to the default runelevel and would automatically be started at boot. | The dbus service would be added to the default runelevel and would automatically be started at boot. | ||
''dbus'' (system message bus) and ''cronie'' (for cron) are some common services that can be enabled. | ''dbus'' (system message bus) and ''cronie'' (for cron) are some common services that can be enabled. | ||
=== Additional packages === | === Additional packages === | ||
==== Display Manager ==== | ==== Display Manager ==== | ||
To boot to a graphical display manager, the '''displaymanager-openrc''' package can be installed. After installing it, the ''/etc/conf.d/xdm'' file needs to be edited to specify the display manager. | |||
To boot to a graphical display manager, the '''displaymanager-openrc''' package can be installed. | |||
After installing it, the ''/etc/conf.d/xdm'' file needs to be edited to specify the display manager. | |||
For example, to use '''lightdm''', change the line: | For example, to use '''lightdm''', change the line: | ||
DISPLAYMANAGER="xdm" | DISPLAYMANAGER="xdm" | ||
to | to | ||
Line 70: | Line 57: | ||
Finally the '''xdm''' service can be added to default runlevel: | Finally the '''xdm''' service can be added to default runlevel: | ||
sudo rc-update add xdm default | sudo rc-update add xdm default | ||
'''Note:''' | '''Note:''' | ||
''lightdm'' and a ''lightdm-greeter'' (like ''lightdm-gtk-greeter'') should be installed to use lightdm as display manager. A guide is available on the [https://forum.manjaro.org/index.php?topic=21386.0 forums]. | ''lightdm'' and a ''lightdm-greeter'' (like ''lightdm-gtk-greeter'') should be installed to use lightdm as display manager. A guide is available on the [https://forum.manjaro.org/index.php?topic=21386.0 forums]. | ||
Line 82: | Line 67: | ||
==== Audio (ALSA) ==== | ==== Audio (ALSA) ==== | ||
The '''alsa-utils-openrc''' package can be installed. After installing it, run: | The '''alsa-utils-openrc''' package can be installed. After installing it, run: | ||
sudo rc-update add alsasound default | sudo rc-update add alsasound default | ||
to automatically start ''alsa'' at boot. | to automatically start ''alsa'' at boot. | ||
==== Network Manager ==== | ==== Network Manager ==== | ||
By default ''dhcpcd'' is enabled via [https://github.com/gentoo/netifrc netifrc]. However if one uses Wifi to connect to the internet, or need a graphical network applet, then '''networkmanager-openrc''' can be installed. | By default ''dhcpcd'' is enabled via [https://github.com/gentoo/netifrc netifrc]. However if one uses Wifi to connect to the internet, or need a graphical network applet, then '''networkmanager-openrc''' can be installed. | ||
Line 96: | Line 77: | ||
Other alternatives like ''wicd-openrc'' and ''connman-openrc'' are also available. | Other alternatives like ''wicd-openrc'' and ''connman-openrc'' are also available. | ||
==== Consolekit ==== | ==== Consolekit ==== | ||
The '''consolekit-openrc''' package can be installed. Consolekit supports multi-user setups, mounting of partitions by unauthorized users, etc. See the [https://wiki.gentoo.org/wiki/ConsoleKit Gentoo-Wiki] for more details. | The '''consolekit-openrc''' package can be installed. Consolekit supports multi-user setups, mounting of partitions by unauthorized users, etc. See the [https://wiki.gentoo.org/wiki/ConsoleKit Gentoo-Wiki] for more details. | ||
Line 104: | Line 83: | ||
See the [[Openrc#Using_Consolekit | Using Consolekit]] section on how to install it and for more info. | See the [[Openrc#Using_Consolekit | Using Consolekit]] section on how to install it and for more info. | ||
==== openrc-desktop ==== | ==== openrc-desktop ==== | ||
The ''openrc-desktop'' package group can be used to install most of the above desktop related packages in one go. For example: | The ''openrc-desktop'' package group can be used to install most of the above desktop related packages in one go. For example: | ||
$ sudo pacman -S openrc-desktop | $ sudo pacman -S openrc-desktop | ||
:: There are 6 members in group openrc-desktop: | :: There are 6 members in group openrc-desktop: | ||
Line 129: | Line 105: | ||
==== Others ==== | ==== Others ==== | ||
===== ACPI ===== | ===== ACPI ===== | ||
For handling acpi events, '''acpid-openrc''' can be installed and enabled (see [https://wiki.archlinux.org/index.php/Acpid this] for more details on acpid). | For handling acpi events, '''acpid-openrc''' can be installed and enabled (see [https://wiki.archlinux.org/index.php/Acpid this] for more details on acpid). | ||
===== Logging ===== | ===== Logging ===== | ||
For logging, a logger can be chosen from ''metalog-openrc'', ''syslog-ng-openrc'', and ''rsyslog-openrc'', by installing the package and enabling its respective service. | For logging, a logger can be chosen from ''metalog-openrc'', ''syslog-ng-openrc'', and ''rsyslog-openrc'', by installing the package and enabling its respective service. | ||
===== Suspend/Hibernate ===== | ===== Suspend/Hibernate ===== | ||
To suspend and hibernate via the command line, '''pm-utils''' can be installed. You may also need the '''upower-pm-utils''' package if suspend and hibernate does not work. See the [[Using_OpenRC,_an_alternative_to_systemd#Troubleshooting | troubleshooting]] section for some issues that one could face. | To suspend and hibernate via the command line, '''pm-utils''' can be installed. You may also need the '''upower-pm-utils''' package if suspend and hibernate does not work. See the [[Using_OpenRC,_an_alternative_to_systemd#Troubleshooting | troubleshooting]] section for some issues that one could face. | ||
=== Note === | === Note === | ||
If using [[plymouth]] before, then {{ic|/etc/mkinitcpio.conf}} would need to be edited to remove the '''plymouth''' hook, as plymouth does not work correctly with OpenRC. The hooks line should look like: | If using [[plymouth]] before, then {{ic|/etc/mkinitcpio.conf}} would need to be edited to remove the '''plymouth''' hook, as plymouth does not work correctly with OpenRC. The hooks line should look like: | ||
HOOKS="base udev autodetect modconf block resume filesystems keyboard keymap fsck" | HOOKS="base udev autodetect modconf block resume filesystems keyboard keymap fsck" | ||
After that would need to regenerate the initrd as: | After that would need to regenerate the initrd as: | ||
sudo mkinitcpio -p linux<version> | sudo mkinitcpio -p linux<version> | ||
For example, | For example, | ||
sudo mkinitcpio -p linux314 | sudo mkinitcpio -p linux314 | ||
== Configuration == | == Configuration == | ||
=== Adding or Removing services === | === Adding or Removing services === | ||
Services can be added to startup with: | Services can be added to startup with: | ||
sudo rc-update add <service> <runlevel> | sudo rc-update add <service> <runlevel> | ||
For example, | For example, | ||
sudo rc-update add sshd default | sudo rc-update add sshd default | ||
runlevel can be skipped if adding services to the current runlevel, ie: | runlevel can be skipped if adding services to the current runlevel, ie: | ||
sudo rc-update add sshd | sudo rc-update add sshd | ||
A service can be removed from startup with: | A service can be removed from startup with: | ||
sudo rc-update del <service> <runlevel> | sudo rc-update del <service> <runlevel> | ||
=== Check running services === | === Check running services === | ||
To check what services are running, one can type: | To check what services are running, one can type: | ||
rc-status | rc-status | ||
=== Start / stop / restart services === | === Start / stop / restart services === | ||
To start / stop / restart services ''immediately'', the '''rc-service''' command can be used. For example: | To start / stop / restart services ''immediately'', the '''rc-service''' command can be used. For example: | ||
sudo rc-service networkmanager restart | sudo rc-service networkmanager restart | ||
=== Some common services === | === Some common services === | ||
To enable printing support, the '''cups-openrc''' package can be installed. For example, | To enable printing support, the '''cups-openrc''' package can be installed. For example, | ||
$ sudo pacman -S cups-openrc | $ sudo pacman -S cups-openrc | ||
resolving dependencies... | resolving dependencies... | ||
Line 202: | Line 148: | ||
:: Proceed with installation? [Y/n] | :: Proceed with installation? [Y/n] | ||
The service for it is ''cupsd''. | The service for it is ''cupsd''. | ||
$ sudo rc-service cupsd start | $ sudo rc-service cupsd start | ||
* Starting cupsd ... [ ok ] | * Starting cupsd ... [ ok ] | ||
For ssh, the '''openssh-openrc''' package can be installed. The service for it is named ''sshd''. | |||
For ssh, the '''openssh-openrc''' package can be installed. | |||
The service for it is named ''sshd''. | |||
{{Tip | All services present can be listed with the '''{{ic|rc-service --list}}''' command.}} | {{Tip | All services present can be listed with the '''{{ic|rc-service --list}}''' command.}} | ||
== Using Consolekit == | == Using Consolekit == | ||
{{Important|Consolekit has been deprecated in Manjaro in favour of [https://forum.manjaro.org/t/switch-from-consolekit-to-elogind/19412 elogind].}} | {{Important|Consolekit has been deprecated in Manjaro in favour of [https://forum.manjaro.org/t/switch-from-consolekit-to-elogind/19412 elogind].}} | ||
Additionally, if not already done, [https://wiki.gentoo.org/wiki/ConsoleKit consolekit] can be installed to perform root actions like shutting down or restarting system as non-root user from your Desktop Environment. | Additionally, if not already done, [https://wiki.gentoo.org/wiki/ConsoleKit consolekit] can be installed to perform root actions like shutting down or restarting system as non-root user from your Desktop Environment. | ||
Line 239: | Line 177: | ||
After installing it can be enabled with {{ic|'''sudo rc-update add consolekit'''}} and would be activated after a reboot. | After installing it can be enabled with {{ic|'''sudo rc-update add consolekit'''}} and would be activated after a reboot. | ||
To check that consolekit is running and a ck-session was started, the following command can be used: | To check that consolekit is running and a ck-session was started, the following command can be used: | ||
ck-list-sessions | ck-list-sessions | ||
The output looks like the following: | The output looks like the following: | ||
Session1: | Session1: | ||
Line 257: | Line 193: | ||
login-session-id = '' | login-session-id = '' | ||
If you are not getting any output, then maybe a ck-session is not being started by your display manager. | If you are not getting any output, then maybe a ck-session is not being started by your display manager. To start a ck-session and X session from the command line following syntax could be used: | ||
To start a ck-session and X session from the command line following syntax could be used: | |||
ck-launch-session <session-name> | ck-launch-session <session-name> | ||
For example, | For example, | ||
ck-launch-session startxfce4 | ck-launch-session startxfce4 | ||
=== Some gotcha's === | === Some gotcha's === | ||
Display managers that are known to work with consolekit are '''lightdm''', '''lxdm''' (via [https://aur.archlinux.org/packages/lxdm-consolekit/ lxdm-consolekit]), '''kdm''' (via [https://aur.archlinux.org/packages/kdebase-workspace-consolekit/ kdebase-workspace-consolekit]), and '''mdm''' (via [https://aur.archlinux.org/packages/mdm-nosystemd/ mdm-nosystemd]). Have a look at the [[Openrc#Display_Manager | Display Manager]] section for more info. | Display managers that are known to work with consolekit are '''lightdm''', '''lxdm''' (via [https://aur.archlinux.org/packages/lxdm-consolekit/ lxdm-consolekit]), '''kdm''' (via [https://aur.archlinux.org/packages/kdebase-workspace-consolekit/ kdebase-workspace-consolekit]), and '''mdm''' (via [https://aur.archlinux.org/packages/mdm-nosystemd/ mdm-nosystemd]). Have a look at the [[Openrc#Display_Manager | Display Manager]] section for more info. | ||
Line 271: | Line 203: | ||
If you use Openbox or another Window Manager along with [https://wiki.archlinux.org/index.php/Oblogout oblogout], then [https://aur.archlinux.org/packages/oblogout-consolekit/ oblogout-consolekit] from the AUR can be used for having a graphical logout interface. | If you use Openbox or another Window Manager along with [https://wiki.archlinux.org/index.php/Oblogout oblogout], then [https://aur.archlinux.org/packages/oblogout-consolekit/ oblogout-consolekit] from the AUR can be used for having a graphical logout interface. | ||
== Replacing systemd with eudev == | == Replacing systemd with eudev == | ||
With OpenRC being used as init system, the role of systemd is reduced to that of a [https://wiki.archlinux.org/index.php/Udev udev] provider, and for compatibility reasons. | With OpenRC being used as init system, the role of systemd is reduced to that of a [https://wiki.archlinux.org/index.php/Udev udev] provider, and for compatibility reasons. | ||
Line 279: | Line 209: | ||
The steps to install eudev are as follows: | The steps to install eudev are as follows: | ||
sudo pacman -S eudev eudev-systemdcompat | sudo pacman -S eudev eudev-systemdcompat | ||
The output looks like the following: | The output looks like the following: | ||
$ sudo pacman -S eudev eudev-systemdcompat | $ sudo pacman -S eudev eudev-systemdcompat | ||
resolving dependencies... | resolving dependencies... | ||
Line 301: | Line 229: | ||
After the above steps systemd would be uninstalled and replaced by eudev and its counterparts. | After the above steps systemd would be uninstalled and replaced by eudev and its counterparts. | ||
=== Note === | === Note === | ||
''eudev-systemdcompat'' has been superseded by ''eudev-systemd'' and ''libeudev-systemd'' [https://forum.manjaro.org/t/update-troubles/9046 (link)]. | ''eudev-systemdcompat'' has been superseded by ''eudev-systemd'' and ''libeudev-systemd'' [https://forum.manjaro.org/t/update-troubles/9046 (link)]. | ||
== Troubleshooting == | == Troubleshooting == | ||
=== Boot logs === | === Boot logs === | ||
The boot logs for OpenRC are stored in ''/var/log/rc.log'' | The boot logs for OpenRC are stored in ''/var/log/rc.log'' | ||
=== Get warning at shutdown === | === Get warning at shutdown === | ||
If at shutdown there is a message like: | If at shutdown there is a message like: | ||
WARNING: /usr/lib/rc/cache is not writable! | WARNING: /usr/lib/rc/cache is not writable! | ||
Then this directory can be created as: | Then this directory can be created as: | ||
sudo mkdir /usr/lib/rc/cache | sudo mkdir /usr/lib/rc/cache | ||
=== Error about /etc/sysctl.conf not found === | === Error about /etc/sysctl.conf not found === | ||
It can be created with: | It can be created with: | ||
sudo touch /etc/sysctl.conf | sudo touch /etc/sysctl.conf | ||
=== Enable Swap (for GPT partitions) === | === Enable Swap (for GPT partitions) === | ||
If you were using systemd on a GPT partitioned hard disk, then you may need to enable swap via ''/etc/fstab''. This is so because systemd handled swap automatically on GPT partitions, and gave error if it was mounted via fstab. The following entry may be added to ''/etc/fstab'' | |||
If you were using systemd on a GPT partitioned hard disk, then you may need to enable swap via ''/etc/fstab''. This is so because systemd handled swap automatically on GPT partitions, and gave error if it was mounted via fstab. | # /dev/sdyX | ||
UUID=xxxx-yyyy.zzzz-xxxx swap swap sw 0 0 | |||
# /dev/ | |||
UUID= | |||
=== Using tmpfs === | === Using tmpfs === | ||
systemd used to set a ''tmpfs'' by default; to set it manually via ''/etc/fstab'', the following lines can be added: | systemd used to set a ''tmpfs'' by default; to set it manually via ''/etc/fstab'', the following lines can be added: | ||
tmpfs /tmp tmpfs nodev,nosuid 0 0 | tmpfs /tmp tmpfs nodev,nosuid 0 0 | ||
See the [https://wiki.archlinux.org/index.php/Fstab#tmpfs Arch Wiki] for more details. | See the [https://wiki.archlinux.org/index.php/Fstab#tmpfs Arch Wiki] for more details. | ||
=== Module auto-loading === | === Module auto-loading === | ||
For OpenRC, the '''modules to be loaded at boot''' are specified in ''/etc/conf.d/modules'' rather than being present as individual files in ''/etc/modules-load.d''. The required modules can be manually moved over. An example ''/etc/conf.d/modules'' file looks like the following: | |||
For OpenRC, the '''modules to be loaded at boot''' are specified in ''/etc/conf.d/modules'' rather than being present as individual files in ''/etc/modules-load.d'' | |||
The required modules can be manually moved over. | |||
An example ''/etc/conf.d/modules'' file looks like the following: | |||
# You should consult your kernel documentation and configuration | # You should consult your kernel documentation and configuration | ||
# for a list of modules and their options. | # for a list of modules and their options. | ||
modules="vboxdrv" | modules="vboxdrv" | ||
=== Setting hostname === | === Setting hostname === | ||
If your hostname is being displayed as '''localhost''' even if there a different hostname in ''/etc/hostname'', then you probably need to change your hostname in ''/etc/conf.d/hostname'' | If your hostname is being displayed as '''localhost''' even if there a different hostname in ''/etc/hostname'', then you probably need to change your hostname in ''/etc/conf.d/hostname'' | ||
=== Setting keymap === | === Setting keymap === | ||
The keymap for the console can be set via editing {{ic|/etc/conf.d/keymaps}}. For X11 (graphical part of the system), it can be set via {{ic|/etc/X11/xorg.conf.d/20-keyboard.conf}}. For more information have a look at the [http://wiki.gentoo.org/index.php?title=Keyboard_layout_switching Gentoo wiki] (with the difference that in Arch/Manjaro the keymaps are stored in ''/usr/share/kbd/keymaps'' [https://wiki.archlinux.org/index.php/Keymap]). | |||
The keymap for the console can be set via editing {{ic|/etc/conf.d/keymaps}}. | |||
For X11 (graphical part of the system), it can be set via {{ic|/etc/X11/xorg.conf.d/20-keyboard.conf}} | |||
For more information have a look at the [http://wiki.gentoo.org/index.php?title=Keyboard_layout_switching Gentoo wiki] (with the difference that in Arch/Manjaro the keymaps are stored in ''/usr/share/kbd/keymaps'' [https://wiki.archlinux.org/index.php/Keymap]). | |||
=== Setting Hardware clock === | === Setting Hardware clock === | ||
Can be done by editing {{ic|/etc/conf.d/hwclock}} | Can be done by editing {{ic|/etc/conf.d/hwclock}} | ||
=== Shutting down / rebooting === | === Shutting down / rebooting === | ||
To shutdown the system, the {{ic|'''poweroff'''}} command can be used. Similarly to reboot, the {{ic|'''reboot'''}} command can be used. | |||
To shutdown the system, the {{ic|'''poweroff'''}} command can be used. | |||
Similarly to reboot, the {{ic|'''reboot'''}} command can be used. | |||
=== X does not start from a virtual terminal === | === X does not start from a virtual terminal === | ||
With Xorg-1.16, Arch Linux decided to make X rootless using systemd-logind [https://www.archlinux.org/news/xorg-server-116-is-now-available/]. | With Xorg-1.16, Arch Linux decided to make X rootless using systemd-logind [https://www.archlinux.org/news/xorg-server-116-is-now-available/]. | ||
This means that using {{ic|startx}} from a virtual terminal will possibly not work for users of OpenRC init system. | This means that using {{ic|startx}} from a virtual terminal will possibly not work for users of OpenRC init system. The workaround is to create a file {{ic|/etc/X11/Xwrapper.config}} with the contents: | ||
The workaround is to create a file {{ic|/etc/X11/Xwrapper.config}} with the contents: | |||
# Xorg.wrap configuation file | # Xorg.wrap configuation file | ||
needs_root_rights = yes | needs_root_rights = yes | ||
Line 392: | Line 281: | ||
=== Input devices not working === | === Input devices not working === | ||
With ''eudev-3.0'', a new '''input''' group was introduced; you could try adding your user to it. | With ''eudev-3.0'', a new '''input''' group was introduced; you could try adding your user to it. | ||
sudo gpasswd -a <user> input | sudo gpasswd -a <user> input | ||
Line 400: | Line 287: | ||
=== MySQL service not working === | === MySQL service not working === | ||
Have a look here: https://archived.forum.manjaro.org/t/mariadb-daemon-dont-start-in-openrc/20356 | |||
Have a look here: https://forum.manjaro.org/t/mariadb-daemon-dont-start-in-openrc/20356 | |||
=== Pulseaudio does not start / work === | === Pulseaudio does not start / work === | ||
See: https://archived.forum.manjaro.org/t/pulseaudio-and-openrc/5881/1 | |||
See: https://forum.manjaro.org/t/pulseaudio-and-openrc/5881/1 | |||
=== Ctrl + Alt + Backspace causes problems with some display managers === | === Ctrl + Alt + Backspace causes problems with some display managers === | ||
Have a look here: https://archived.forum.manjaro.org/t/ctrl-alt-backspace-doesnt-log-out-zaps-xorg-openrc | |||
Have a look here: https://forum.manjaro.org/t/ctrl-alt-backspace-doesnt-log-out-zaps-xorg-openrc | |||
=== Httpd (Apache) service status says crashed === | === Httpd (Apache) service status says crashed === | ||
If the {{ic|httpd}} process is running but {{ic|rc-status}} shows the service as crashed, try editing ''/etc/init.d/httpd'' and remove the {{ic|start-stop-daemon}} call when starting the service: | If the {{ic|httpd}} process is running but {{ic|rc-status}} shows the service as crashed, try editing ''/etc/init.d/httpd'' and remove the {{ic|start-stop-daemon}} call when starting the service: | ||
# sed 's|start-stop-daemon --start -- ${APACHE2} ${APACHE2_OPTS} -k start|${APACHE2} ${APACHE2_OPTS} -k start|' -i /etc/init.d/httpd | # sed 's|start-stop-daemon --start -- ${APACHE2} ${APACHE2_OPTS} -k start|${APACHE2} ${APACHE2_OPTS} -k start|' -i /etc/init.d/httpd | ||
Forum link: https://forum.manjaro.org/t/solved-apache-service-httpd-status-status-crashed/19878 | Forum link: https://archived.forum.manjaro.org/t/solved-apache-service-httpd-status-status-crashed/19878 | ||
A better solution seems to be to explicitly add the ''pidfile'' option to start stop daemon: | A better solution seems to be to explicitly add the ''pidfile'' option to start stop daemon: | ||
# sed 's|start-stop-daemon --start|start-stop-daemon --start --pidfile ${PIDFILE}|' -i /etc/init.d/httpd | # sed 's|start-stop-daemon --start|start-stop-daemon --start --pidfile ${PIDFILE}|' -i /etc/init.d/httpd | ||
Line 428: | Line 307: | ||
=== Unable to build ISO using manjaro-tools on OpenRC === | === Unable to build ISO using manjaro-tools on OpenRC === | ||
Try loading the ''loop'' module, see https://archived.forum.manjaro.org/t/manjaro-tools-14-on-testing-openrc/17156 for more info. | |||
Try loading the ''loop'' module, see https://forum.manjaro.org/t/manjaro-tools-14-on-testing-openrc/17156 for more info. | |||
== Further Reading == | == Further Reading == | ||
[https://wiki.archlinux.org/index.php/Openrc The Arch Wiki] | [https://wiki.archlinux.org/index.php/Openrc The Arch Wiki] | ||
[http://blog.notfoss.com/posts/openrc-on-arch-linux/ OpenRC on Arch Linux] | [http://blog.notfoss.com/posts/openrc-on-arch-linux/ OpenRC on Arch Linux] | ||
[https://wiki.manjaro.org/index.php?title=Autostart_X_at_Login_-_OpenRC_%26_SystemD Autostart X at Login - OpenRC] | [https://wiki.manjaro.org/index.php?title=Autostart_X_at_Login_-_OpenRC_%26_SystemD Autostart X at Login - OpenRC] | ||
[http://systemd-free.org/ systemd-free.org] | [http://systemd-free.org/ systemd-free.org] | ||
[https://wiki.gentoo.org/wiki/Handbook:X86/Working/Initscripts Initscripts] | [https://wiki.gentoo.org/wiki/Handbook:X86/Working/Initscripts Initscripts] | ||
[https://wiki.gentoo.org/wiki//etc/local.d /etc/local.d] | [https://wiki.gentoo.org/wiki//etc/local.d /etc/local.d] | ||
[[Category:Obsolete]] | [[Category:Obsolete]] |