| Both sides previous revision Previous revision Next revision | Previous revision |
| docs:techref:architecture [2018/10/25 19:26] – [Dependencies of LuCI2] moved to Luci2 page stokito | docs:techref:architecture [2021/10/15 09:06] (current) – ↷ Links adapted because of a move operation bobafetthotmail |
|---|
| ====== OpenWrt – operating system architecture ====== | ====== OpenWrt – operating system architecture ====== |
| Whereas desktop distributions use [[wp>GLib|glib]]+[[wp>D-Bus|dbus]]+[[wp>udev|udev(part of systemd)]], OpenWrt uses [[docs:techref:libubox]]+[[ubus]]+[[hotplug|hotplug2]]. | Whereas desktop distributions use [[wp>GLib|glib]]+[[wp>D-Bus|dbus]]+[[wp>udev|udev(part of systemd)]], OpenWrt uses [[docs:techref:libubox]]+[[ubus]]+[[docs:techref:procd]]. |
| This provides some pretty awesome functionality without requiring huge libraries with huge dependencies (*cough* glib). | This provides some pretty awesome functionality without requiring huge libraries with huge dependencies (*cough* glib). |
| |
| | | [[wp>rsyslog]] / [[wp>syslog-ng]] | ::: | busybox-klogd, busybox-syslogd | ::: | | | ::: | | | | [[wp>rsyslog]] / [[wp>syslog-ng]] | ::: | busybox-klogd, busybox-syslogd | ::: | | | ::: | |
| | | [[wp>watchdog]] | ::: | busybox-watchdog | ::: | | | ::: | | | | [[wp>watchdog]] | ::: | busybox-watchdog | ::: | | | ::: | |
| | | [[wp>udev]] | ::: | [[docs:techref:hotplug|hotplug2]] | ::: | | | ::: | | | | [[wp>udev]] | ::: | [[docs:techref:hotplug_legacy|hotplug2]] | ::: | | | ::: | |
| | | [[wp>cron]] | ::: | ''[[docs:guide-user:services:ntp:client-server|busybox-crond]]'' || | | ::: | | | | [[wp>cron]] | ::: | ''[[docs:guide-user:services:ntp:client-server|busybox-crond]]'' || | | ::: | |
| | | [[wp>at (Unix)|atd]] | ::: | //na// || | | ::: | | | | [[wp>at (Unix)|atd]] | ::: | //na// || | | ::: | |
| |
| |
| ==== What's the difference between ubus and dbus? ==== | ==== What's the difference between ubus vs dbus? ==== |
| ''dbus'' is bloated, its C API is very annoying to use and requires writing large amounts of boilerplate code. In fact, the pure C API is so annoying that its own API documentation states: "If you use this low-level API directly, you're signing up for some pain." | ''dbus'' is bloated, its C API is very annoying to use and requires writing large amounts of boilerplate code. In fact, the pure C API is so annoying that its own API documentation states: "If you use this low-level API directly, you're signing up for some pain." |
| |
| |
| ---- | ---- |
| * →[[docs:guide-developer:build-system:start|OpenWrt Buildroot – About]] | * →[[docs:guide-developer:toolchain:start|OpenWrt Buildroot – About]] |
| * →[[docs:guide-developer:build-system:install-buildsystem| OpenWrt Buildroot – Installation]] | * →[[docs:guide-developer:toolchain:install-buildsystem| OpenWrt Buildroot – Installation]] |
| * →[[docs:guide-developer:build-system:start|OpenWrt Buildroot – Usage]] | * →[[docs:guide-developer:toolchain:start|OpenWrt Buildroot – Usage]] |
| * →[[docs:guide-developer:patches|OpenWrt Buildroot – Patches]] | * →[[docs:guide-developer:toolchain:use-patches-with-buildsystem|OpenWrt Buildroot – Patches]] |
| |
| ---- | ---- |
| |
| |
| | * [[https://www.freedesktop.org/wiki/Software/PulseAudio/FAQ/#index2h3|PulseAudio does not depend on GLib]] and does not seem to depends on D-Bus neither: [[http://www.linuxfromscratch.org/blfs/view/svn/multimedia/pulseaudio.html|LFS]] |
| | * [[https://archive.fosdem.org/2013/schedule/event/dist_network/|FOSDEM2013: Can Linux network configuration suck less?]] |
| |
| |