-
-
Notifications
You must be signed in to change notification settings - Fork 1
Linux udev Guide
Mattscreative edited this page Dec 5, 2025
·
2 revisions
Complete beginner-friendly guide to udev on Linux, covering Arch Linux, CachyOS, and other distributions including device management, udev rules, and hardware configuration.
udev manages device nodes in /dev.
Functions:
- Device detection: Detects hardware changes
- Device nodes: Creates device files
- Permissions: Sets device permissions
- Naming: Provides consistent device names
Why it matters:
- Hotplug support: Handles USB devices
- Persistent naming: Consistent device names
- Permissions: Control device access
Verify udev:
# Check udev version
udevadm --version
# Check udev service
systemctl status systemd-udevdView devices:
# List all devices
udevadm info --export-db
# List USB devices
lsusb
# List block devices
lsblkRule files:
# System rules
/etc/udev/rules.d/
# User rules (if supported)
~/.config/udev/rules.d/Basic format:
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1234", ATTR{idProduct}=="5678", MODE="0666"
Components:
- ACTION: add, remove, change
- SUBSYSTEM: usb, block, input
- ATTR: Device attributes
- MODE: File permissions
Find device attributes:
# Get device info
udevadm info -a -n /dev/sdb
# Or by path
udevadm info -a -p /sys/class/block/sdbWrite rule:
# Create rule file
sudo vim /etc/udev/rules.d/99-mydevice.rulesExample rule:
# USB device rule
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1234", ATTR{idProduct}=="5678", MODE="0666", GROUP="users"
Allow USB access:
# USB storage
ACTION=="add", SUBSYSTEM=="block", SUBSYSTEMS=="usb", MODE="0666", GROUP="users"
Create symlink:
# Create symlink for USB device
ACTION=="add", SUBSYSTEM=="block", ATTR{serial}=="ABC123", SYMLINK+="myusb"
Execute script:
# Run script when device added
ACTION=="add", SUBSYSTEM=="usb", RUN+="/usr/local/bin/my-script.sh"
Test rule:
# Test rule
udevadm test /sys/class/block/sdb
# Reload rules
sudo udevadm control --reload-rules
# Trigger rules
sudo udevadm triggerDebug device:
# Get device info
udevadm info -a -n /dev/sdb
# Monitor events
udevadm monitorThis guide covered udev basics, rule creation, and device management for Arch Linux, CachyOS, and other distributions.
- Hardware Detection - Hardware setup
- System Configuration - System setup
-
udev Documentation:
man udev
This guide covers Arch Linux, CachyOS, and other Linux distributions. For distribution-specific details, refer to your distribution's documentation.