Init/Replacing udev

From ArchWiki
< Init(Redirected from Eudev)
Jump to: navigation, search

Related articles

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: Just one of several ways to replace systemd-udev, see vdev, mdev, etc. (Discuss in Talk:Init/Replacing udev#)

Tango-edit-clear.pngThis article or section needs language, wiki syntax or style improvements.Tango-edit-clear.png

Reason: Remove eudev specific parts which should be documented upstream, i.e. eth0 naming (Discuss in Talk:Init/Replacing udev#)
Warning: This package will remove systemd as it replaces udev. Therefore, you should install an alternative init system and have it boot successfully under that init system prior to installing eudev.

eudev is a fork of udev started by the Gentoo project, with the goal of isolation from the init system. It is primarily designed and tested with OpenRC, but is agnostic to any other init systems.

Installation

Install the eudevAUR package. Alternatively, install eudev-gitAUR for the development version.

This package will also remove libsystemd as it replaces a part of it. The missing libraries are available from libsystemd-standaloneAUR. You may also want systemd-dummyAUR to satisfy the missing systemd dependency.

Alternatively, rebuild packages linked to libsystemd using ABS, or install nosystemd variants from the AUR.

Replacing the systemd package

The systemd packages include several components besides the init system and systemd-udev:

  • systemd libraries linked against software such as Xorg. See #Installation.
  • systemd-tmpfiles to create temporary files on system startup. Some rc scripts reimplement this, for example tmpfiles.sh.
  • systemd-sysusers to allocate system users and groups in pacman .install files

Troubleshooting

Reboot not possible

If you have removed systemd without booting to the new init, a reboot is not possible in regular ways. Enable SysRq keys:

# sysctl kernel.sysrq=1

and press Alt-SysRq-S, Alt-SysRq-U and Alt-SysRq-B in succession. This syncs all mounted file systems, remounts all disk as read-only, and reboots the system, respectively. If latter is not possible, press Alt-SysRq-O to poweroff).

In case the system is only remotely accessible, you must sync and remount read-only its filesystems before triggering an immediate reboot (edit your filesystems accordingly):

# sync
# mount -f /home -o remount,ro
# sync
# mount -f / -o remount,ro
# echo b >| /proc/sysrq-trigger

Device naming

Your net devices will follow the pre-systemd pattern: from example wlp1s0 should be renamed to wlan0. You have to set your net configuration properly.

sysctl

Your files in /etc/sysctl.d/ might disappear after removing systemd. OpenRC reads /etc/sysctl.conf.

See also