From 30055d41283d69a2aa078f3c2b75024572eee48d Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Fri, 14 Feb 2020 14:31:38 -0500 Subject: [PATCH] move device support section to FAQ --- static/faq.html | 89 ++++++++++++++++++++++++++++++++++++++++++++++- static/index.html | 44 +---------------------- 2 files changed, 89 insertions(+), 44 deletions(-) diff --git a/static/faq.html b/static/faq.html index be38605d..6524a64d 100644 --- a/static/faq.html +++ b/static/faq.html @@ -47,9 +47,21 @@ Table of contents +

+ Device support +

+

Which devices are supported?

@@ -80,6 +92,81 @@ GrapheneOS is the only party involved in providing the updates. For the same reason, it has little use for the ability to provide out-of-band updates to system image components including all the apps and many other components.

+ +

Some of the GrapheneOS sub-projects support other operating systems on a broader + range of devices. Device support for Auditor and AttestationServer is documented in + the overview of those projects. The + hardened_malloc project supports nearly + any Linux-based environment due to official support for musl, glibc and Bionic along + with easily added support for other environments. It can easily run on non-Linux-based + operating systems too, and supporting some like HardenedBSD is planned but depends on + contributors from those communities.

+ + + +

The recommended devices with the best hardware, firmware and software security + along with the longest future support time are the Pixel 3a, Pixel 3a XL, Pixel 3 and + Pixel 3 XL. The Pixel 3a and 3a XL are budget devices meeting the same security + standards as the more expensive flagship devices.

+ +

+ Which devices will be supported in the future? +

+ +

Devices are carefully chosen based on their merits rather than the project aiming + to have broad device support. Broad device support is counter to the aims of the + project, and the project will eventually be engaging in hardware and firmware level + improvements rather than only offering suggestions and bug reports upstream for those + areas. Much of the work on the project involves changes that are specific to different + devices, and officially supported devices are the ones targeted by most of this + ongoing work.

+ +

Devices need to be meet the standards of the project in order to be considered as + potential targets. In addition to support for installing other operating systems, + standard hardware-based security features like the hardware-backed keystores, verified + boot, attestation and various hardware-based exploit mitigations need to be available. + Devices also need to have decent integration of IOMMUs for isolating components such + as the GPU, radios (NFC, Wi-Fi, Bluetooth, Cellular), media decode / encode, image + processor, etc. as if the hardware / firmware support is missing or broken, there's + not much that the OS can do to provide an alternative. Devices with support for + alternative operating systems as an afterthought will not be considered. Devices need + to have proper ongoing support for their firmware and software specific to the + hardware like drivers in order to provide proper full security updates too. Devices + that are end-of-life and no longer receiving these updates will not be supported.

+ +

In order to support a device, the appropriate resources also need to be available + and dedicated towards it. Releases for each supported device need to be robust and + stable, with all standard functionality working properly and testing for each of the + releases.

+ +

Hardware, firmware and software specific to devices like drivers play a huge role + in the overall security of a device. The goal of the project is not to slightly + improve some aspects of insecure devices and supporting a broad set of devices would + be directly counter to the values of the project. A lot of the low-level work also + ends up being fairly tied to the hardware.

+ +

+ When will more devices be supported? +

+ +

Broader device support can only happen after the community (companies, + organizations and individuals) steps up to make substantial, ongoing contributions to + making the existing device support sustainable. Once the existing device support is + more sustainable, early research and development work for other devices can begin. + Once a device is deemed to be a worthwhile target, the project needs maintainers to + develop and maintain support for it including addressing device-specific issues that + are uncovered, which will include issues uncovered in the device support code by + GrapheneOS hardening features.

+ +

It's not really a matter of time but rather depends on community support for the + project increasing. As an open source project, the way the get something to happen in + GrapheneOS is to contribute to it, and this is particularly true for device support + since it's very self-contained and can be delegated to separate teams for each + device. If you want to see more devices supported sooner, you should get to work on + identifying good devices with full support for alternative operating systems with + verified boot, etc. and then start working on integrating and testing support.