This repo for WhaleOS is based on https://chromium.googlesource.com/chromiumos/platform2/.
This repo holds (most) of the custom code that makes up the ChromiumOS platform. That largely covers daemons, programs, and libraries that were written specifically for ChromiumOS.
We moved from multiple separate repos in platform/ to a single repo in platform2/ for a number of reasons:
- Make it easier to work across multiple projects simultaneously
- Increase code re-use (via common libs) rather than duplicate utility functions multiple items over
- Share the same build system
While most projects were merged, not all of them were. Some projects were standalone already (such as vboot), or never got around to being folded in (such as imageloader). Some day those extra projects might get merged in.
Similarly, some projects that were merged in, were then merged back out. This was due to the evolution of the Brillo project and collaboration with Android. That means the AOSP repos are the upstream and ChromiumOS carries copies.
Project | Description |
---|---|
arc | Tools/deamons/init-scripts to run ARC |
attestation | Daemon and client for managing remote attestation |
authpolicy | Daemon for integrating with Microsoft Active Directory (AD) domains |
avtest_label_detect | Test tool for OCRing device labels |
biod | Biometrics daemon |
bootid-logger | Simple command to record the current boot id to the log. |
bootlockbox | Daemon and client for boot lockbox service. |
bootsplash | Frecon-based animated boot splash service |
bootstat | Tools for tracking points in the overall boot process (for metrics) |
camera | ChromeOS Camera daemon |
cecservice | Service for switching CEC enabled TVs on and off |
cfm-dfu-notification | CFM specific library for DFU notifications |
chaps | PKCS #11 implementation for TPM 1 devices |
chromeos-common-script | Shared scripts for partitions and basic disk information |
chromeos-config | CrOS unified build runtime config manager |
chromeos-dbus-bindings | Simplifies the implementation of D-Bus daemons and proxies |
chromeos-nvt-tcon-updater | Library for integrating the Novatek TCON firmware updater into a CrOS device |
codelab | Codelab exercise |
common-mk | Common build & test logic for platform2 projects |
crash-reporter | The system crash handler & reporter |
cros-disks | Daemon for mounting removable media (e.g. USB sticks and SD cards) |
crosdns | Hostname resolution service for ChromeOS |
crosh | The ChromiumOS shell |
croslog | The log manipulation command |
cryptohome | Daemon and tools for managing encrypted /home and /var directories |
cups_proxy | Daemon for proxying CUPS printing request |
debugd | Centralized debug daemon for random tools |
dev-install | Tools & settings for managing the developer environment on the device |
device_management | Daemon for handling device management related attributes (e.g. fwmp, install_attributes etc) |
diagnostics | Device telemetry and diagnostics daemons |
discod | Control Loop for behavioural storage devices features (e.g. UFS Write Booster) |
disk_updater | Utility for updating root disk firmware (e.g. SSDs and eMMC) |
dlcservice | Downloadable Content (DLC) Service daemon |
dlp | Date Leak Prevention (DLP) daemon |
dns-proxy | DNS Proxy daemon |
easy-unlock | Daemon for handling Easy Unlock requests (e.g. unlocking Chromebooks with an Android device) |
faced | Face Authentication Daemon |
feature_usage | Library to provide a unified approach to report feature usage events |
featured | Feature daemon for enabling and managing platform features |
federated | Federated computation service (Federated Analytics & Federated Learning) |
feedback | Daemon for headless systems that want to gather feedback (normally Chrome manages it) |
flex_bluetooth | Updates Floss overrides for ChromeOS Flex |
flex_hwis | Utility for collecting hardware information and sending it to a remote API |
flex_id | Utility for generating flex_id, a machine identifier for devices without VPD info |
flexor | Experimental ChromeOS Flex installer |
foomatic_shell | Simple shell used by the foomatic-rip package |
fusebox | FuseBox service |
glib-bridge | library for libchrome-glib message loop interoperation |
goldfishd | Android Emulator Daemon |
hammerd | Firmware updater utility for hammer hardware |
hardware_verifier | Hardware verifier tool |
hermes | ChromeOS LPA implementation for eSIM hardware support |
hiberman | ChromeOS Hibernation Manager |
hps | ChromeOS HPS daemon and utilities |
hwsec-host-utils | Hwsec-related host-only utilities |
hwsec-optee-plugin | Hwsec-related optee plugin |
hwsec-optee-ta | Hwsec-related optee plugin trusted application |
hwsec-test-utils | Hwsec-related test-only features |
hwsec-utils | Hwsec-related features |
iioservice | Daemon and libraries that provide sensor data to all processes |
image-burner | Daemon for writing disk images (e.g. recovery) to USB sticks & SD cards |
imageloader | Daemon for mounting signed disk images |
init | CrOS common startup init scripts and boot time helpers |
installer | CrOS installer utility (for AU/recovery/etc...) |
ippusb_bridge | HTTP proxy to IPP-enabled printers |
kdump | Fully featured kernel core debugging after a crash |
kerberos | Daemon for managing Kerberos tickets |
libarc-attestation | Library to facilitate Android Attestation and Remote Key Provisioning for ARC Keymint Daemon |
libbrillo | Common platform utility library |
libchromeos-rs | Common platform utility library for Rust |
libchromeos-ui | |
libcontainer | |
libcrossystem | Library for getting ChromeOS system properties |
libec | Library for interacting with EC |
libhwsec | Library for the utility functions of all TPM related daemons except for trunks and trousers |
libhwsec-foundation | Library for the utility functions of all TPM related daemons and libraries |
libipp | Library for building and parsing IPP (Internet Printing Protocol) frames |
libmems | Utility library to configure, manage and retrieve events from IIO sensors |
libpasswordprovider | Password Provider library for securely managing credentials with system services |
libsar | Utility library to read the config file of IIO Sar sensors |
libsegmentation | Library to check which software features are allowed |
login_manager | Session manager for handling the life cycle of the main session (e.g. Chrome) |
lorgnette | Daemon for managing attached USB scanners via SANE |
lvmd | ChromeOS LVM daemon |
machine-id-regen | Utility to periodically update machine-id |
media_capabilities | Command line tool to show video and camera capabilities |
memd | Daemon that logs memory-related data and events |
mems_setup | Boot-time initializer tool for sensors |
metrics | Client side user metrics collection |
midis | MIDI service |
minios | A minimal OS used during recovery |
missive | Daemon for the storage of encrypted records for managed devices. |
mist | Modem USB Interface Switching Tool |
ml | Machine learning service |
ml_benchmark | ML performance benchmark for ChromeOS |
ml_core | Machine learning feature library |
modem-utilities | |
modemfwd | Daemon for managing modem firmware updaters |
mojo_service_manager | Daemon for managing mojo services |
mtpd | Daemon for handling Media Transfer Protocol (MTP) with devices (e.g. phones) |
net-base | library of networking primitive data structure and common utilities |
nnapi | Implementation of the Android Neural Networks API |
ocr | Optical Character Recognition (OCR) service for ChromeOS |
oobe_config | Utilities for saving and restoring OOBE config state |
os_install_service | Service that can be triggered by the UI to install CrOS to disk from a USB device |
p2p | Service for sharing files between CrOS devices (e.g. updates) |
parallax | Visual Analysis Framework |
patchpanel | Platform networking daemons |
pciguard | Daemon to secure external PCI devices (thunderbolt etc) |
perfetto_simple_producer | A simple producer of perfetto: An example demonstrating how to produce Perfetto performance trace data |
permission_broker | |
policy_proto | Build file to compile policy proto file |
policy_utils | Tools and related library to set or override device policies |
power_manager | Userspace power management daemon and associated tools |
print_tools | Various tools related to the native printing system |
printscanmgr | ChromeOS Printing and Scanning Daemon |
private_computing | Daemon to save and retrieve device active date status into and from preserved file. |
pwgtocanonij | CUPS filter for certain Canon printers |
regions | |
resourced | Resource Management Daemon |
rgbkbd | ChromeOS RGB Keyboard Daemon |
rmad | ChromeOS RMA Daemon |
routing-simulator | Debugging tool for routing subsystem |
run_oci | Minimalistic container runtime |
runtime_probe | Runtime probe tool for ChromeOS |
screen-capture-utils | Utilities for screen capturing (screenshot) |
secagentd | Daemon for detecting and reporting security related events |
secanomalyd | Daemon for detecting and reporting security anomalies |
secure-wipe | Secure disk wipe |
secure_erase_file | Helper tools for securely erasing files from storage (e.g. keys and PII data) |
sepolicy | SELinux policy for ChromeOS |
shadercached | Shader cache management daemon |
shill | ChromeOS Connection Manager |
smbfs | FUSE-based filesystem for accessing Samba / Windows networking shares |
smbprovider | Daemon for connecting Samba / Windows networking shares to the Files.app |
spaced | Disk space information daemon |
st_flash | |
storage_info | Helper shell functions for retrieving disk information) |
swap_management | Swap management service |
syslog-cat | Helper command to forward stdout/stderr from process to syslog |
system-proxy | Daemon for web proxy authentication support on ChromeOS |
system_api | Headers and .proto files etc. to be shared with chromium |
thinpool_migrator | Tool for migrating the stateful filesystem to use LVM |
timberslide | Tool for working with EC crashes for reporting purposes |
touch_firmware_calibration | |
tpm2-simulator | A software TPM 2.0 implementation (for testing/debugging) |
tpm_manager | Daemon and client for managing TPM setup and operations |
tpm_softclear_utils | Utilities that soft-clear TPM (for testing only) |
trim | Service to manage filesystem trim operations in the background |
trunks | Middleware and resource manager for interfacing with TPM 2.0 hardware |
typecd | System daemon to keep track of USB Type C state |
u2fd | U2FHID emulation daemon for systems with secure elements (not TPMs) |
ureadahead-diff | Tool to calculate difference between 2 ureadahead packs |
usb_bouncer | Tools for managing USBGuard white-lists and configuration on ChromeOS |
userfeedback | Various utilities to gather extended data for user feedback reports |
uwbd | Daemon for the UWB on ChromeOS |
verity | Userspace tools for working dm-verity (verified disk images) |
virtual_file_provider | |
vm_tools | Utilities for Virtual Machine (VM) orchestration |
vtpm | ChromeOS virtual TPM Daemon |
These projects can be found here: https://chromium.googlesource.com/aosp/platform/