--- layout: doc title: SystemDoc permalink: /doc/SystemDoc/ redirect_from: /wiki/SystemDoc/ --- System Documentation for Developers =================================== Fundamentals ------------ * [Qubes OS Architecture Overview](/doc/QubesArchitecture/) * [Qubes OS Architecture Spec v0.3 [PDF]](http://files.qubes-os.org/files/doc/arch-spec-0.3.pdf) (The original 2009 document that started this all...) * [Security-critical elements of Qubes OS](/doc/SecurityCriticalCode/) * Qubes RPC: [`qrexec` v2](/doc/Qrexec/) ([R2 implementation](/doc/Qrexec2Implementation/)) * Qubes RPC: [`qrexec` v3](/doc/Qrexec3/) ([R3 implementation](/doc/Qrexec3Implementation/)) (Odyssey) * [Example for writing a `qrexec` service in Qubes OS (blog post)](http://theinvisiblethings.blogspot.com/2013/02/converting-untrusted-pdfs-into-trusted.html) * [Qubes GUI virtualization protocol](/doc/GUIdocs/) * [Networking in Qubes](/doc/QubesNet/) * [Implementation of template sharing and updating](/doc/TemplateImplementation/) Services -------- * [Inter-domain file copying](/doc/Qfilecopy/) (deprecates [`qfileexchgd`](/doc/Qfileexchgd/)) * [Dynamic memory management in Qubes](/doc/Qmemman/) * [Implementation of DisposableVMs](/doc/DVMimpl/) * [Article about disposable VMs](http://theinvisiblethings.blogspot.com/2010/06/disposable-vms.html) * [Dom0 secure update mechanism](/doc/Dom0SecureUpdates/) * VM secure update mechanism (forthcoming) Debugging --------- * [Profiling python code](/doc/Profiling/) * [Test environment in separate machine for automatic tests](/doc/TestBench/) * [Automated tests](/doc/AutomatedTests/) * [VM-dom0 internal configuration interface](/doc/VMInterface/) * [Debugging Windows VMs](/doc/WindowsDebugging/) Building -------- * [Building Qubes](/doc/QubesBuilder/) (["API" Details](/doc/QubesBuilderDetails/)) * [Development Workflow](/doc/DevelopmentWorkflow/) * [KDE Dom0 packages for Qubes](/doc/KdeDom0/) * [How to build Qubes installation ISO](/doc/InstallationIsoBuilding/) * [Building Qubes OS 3.0 ISO](/doc/QubesR3Building/) * [Building USB passthrough support (experimental)](/doc/USBVM/) * [Building a TemplateVM based on a new OS (ArchLinux example)](/doc/BuildingNonFedoraTemplate/) * [Building the Archlinux Template](/doc/BuildingArchlinuxTemplate/)