7 The core of Petitboot is the ``pb-discover`` process. This performs initial setup, discovers and configures devices, and handles configuration options or quirks saved or set by the platform.
12 The ``ui/`` directory contains client processes that implement a user interface. The primary interface is ``petitboot-nc`` which is based on ncurses and provides the full range of options for interaction and configuration.
14 There is also a twin-based interface under ``ui/twin/`` however this is largely a remnant from the PS3 and does not implement more recent functionality.
16 Clients generally take no direct action themselves, instead communcating via the "pb-protocol" interface to the ``pb-discover`` server to request actions.
21 A number of smaller utilities exist to perform some specific tasks, including:
23 pb-console: Initial console setup and UI startup
24 pb-config: Trimmed down 'client' that can request information from the ``pb-discover`` server.
25 pb-event: Provides a callable script to send user events to ``pb-discover`` - usually used by other utilities such as ``udhcpc`` to report network information.
26 pb-exec: Simple wrapper for running programs from the UI
27 pb-plugin: Implements the petitboot-plugin interface
28 pb-sos: Collects diagnostic and crash information
29 boot hooks: Small hooks to be run immediately before boot.