Qubes-Community-Content/docs/hardware/hardware-selection.md

101 lines
4.9 KiB
Markdown
Raw Normal View History

2018-03-10 05:12:33 -05:00
# Hardware Selection Tree #
Selecting the appropriate hardware for Qubes R4.0 can be a complex choice.
This document aims to simplify that.
Click on the links, read the supporting information if desired, reach a conclusion.
2018-03-26 08:32:37 -04:00
**Note** Qubes OS does not endorse any of the manufacturers or methods listed.
2018-03-10 05:12:33 -05:00
### Start here ###
Are you concerned about potential manufacturer [hardware backdoors](https://libreboot.org/faq.html#intel)?
2018-03-10 05:24:52 -05:00
[Yes](/guides/hardware-tree/#concerned)
[No](/guides/hardware-tree/#unconcerned)
2018-03-10 05:12:33 -05:00
### Concerned ###
Are you concerned about [blobs](https://www.coreboot.org/Binary_situation) being used to initialize hardware?
2018-03-10 05:24:52 -05:00
[Yes](/guides/hardware-tree/#init)
[No](/guides/hardware-tree/#mecleaner)
[No, but I want AMD](/guides/hardware-tree/#amd)
2018-03-10 05:12:33 -05:00
### Init ###
Nearly all R4.0 capable systems require at least a CPU microcode blob, and often one for video BIOS.
However, there are still some options when it comes to running the [proprietary, unaudited code](https://www.coreboot.org/Intel_Management_Engine#Freedom_and_security_issues) for hardware initialization.
Do you want:
2018-03-10 05:24:52 -05:00
[AMD](/guides/hardware-tree/#amd)
[Intel](/guides/hardware-tree/#intel)
2018-03-10 05:12:33 -05:00
### AMD ###
If you don't mind older/used hardware, there are some options if you do not want [PSP initialization](https://libreboot.org/faq.html#amd-platform-security-processor-psp).
All new AMD hardware comes with PSP.
In theory there is an option to partially disable it, but no motherboard/BIOS manufacturers have made it available yet.
Form factor?
2018-03-10 05:24:52 -05:00
[Laptop](/guides/hardware-tree/#amd-laptop)
[Desktop](/guides/hardware-tree/#amd-desktop)
2018-03-10 05:12:33 -05:00
### AMD Laptop ###
DIY corebooted used [Lenovo G505s](https://www.coreboot.org/Board:lenovo/g505s) with [microcode patch](https://review.coreboot.org/#/c/coreboot/+/22843/).
### AMD Desktop ###
DIY or commercially available corebooted (or librebooted?) [KCMA-D8](https://www.coreboot.org/Board:asus/kcma-d8)/[KGPE-D16](https://www.coreboot.org/Board:asus/kgpe-d16).
Vikings is one vendor that appears to sell these.
If used with Opteron Series 2 processors, no microcode blob is required.
### Intel ###
Unfortunately, all R4.0 capable Intel hardware requires use of at least the [BUP portion](https://github.com/corna/me_cleaner/wiki/HAP-AltMeDisable-bit) of Intel ME.
[Weaknesses](https://mobile.twitter.com/rootkovska/status/938458875522666497) have been found in this proprietary, non-owner-controlled code.
There are some ways to restrict Intel ME after the initial BUP.
2018-03-10 05:24:52 -05:00
[Commercial](/guides/hardware-tree/#intel-commercial)
[DIY](/guides/hardware-tree/#intel-diy)
2018-03-10 05:12:33 -05:00
### Intel Commercial ###
These vendors have systems available that partially disable Intel ME after the initial hardware initialization: System76, Purism, Dell.
Implementations vary, so research the vendors.
Prefer ones that use Coreboot instead of closed-source, [proprietary](https://www.kb.cert.org/vuls/id/758382) [UEFI firmware](https://www.securityweek.com/researchers-find-several-uefi-vulnerabilities).
2018-03-10 05:24:52 -05:00
Search the [HCL](https://www.qubes-os.org/hcl/) for a compatible system.
2018-03-10 05:12:33 -05:00
[Search the mailing list](https://www.mail-archive.com/qubes-users@googlegroups.com/) for additional reports.
### Intel DIY ###
Closed-source, proprietary UEFI firmware has its own [set](https://www.kb.cert.org/vuls/id/758382) of [vulnerabilities](https://www.securityweek.com/researchers-find-several-uefi-vulnerabilities).
Do these concern you?
2018-03-10 05:24:52 -05:00
[Yes](/guides/hardware-tree/#coreboot)
[No](/guides/hardware-tree/#mecleaner)
2018-03-10 05:12:33 -05:00
### Coreboot ###
Cross reference [Coreboot](https://www.coreboot.org/Supported_Motherboards) capable systems with the [HCL](/doc/hcl).
See also the [board freedom index](https://www.coreboot.org/Board_freedom_levels).
[Search the mailing list](https://www.mail-archive.com/qubes-users@googlegroups.com/) for additional reports.
Flash your system with Coreboot, including [ME_Cleaner](https://github.com/corna/me_cleaner).
2018-03-26 08:32:37 -04:00
[Heads](http://osresearch.net/) also offers some interesting capabilities beyond Coreboot, but has a smaller list of [supported boards](https://github.com/osresearch/heads/tree/master/boards).
2018-03-10 05:12:33 -05:00
### MECleaner ###
2018-03-10 05:24:52 -05:00
Search the [HCL](https://www.qubes-os.org/hcl/) for a compatible system.
2018-03-10 05:12:33 -05:00
[Search the mailing list](https://www.mail-archive.com/qubes-users@googlegroups.com/) for additional reports.
Follow the instructions [here](https://github.com/corna/me_cleaner) to partially disable Intel ME.
### Unconcerned ###
2018-03-10 05:24:52 -05:00
Search the [HCL](https://www.qubes-os.org/hcl/) for an R4.0 compatible system.
2018-03-10 05:12:33 -05:00
[Search the mailing list](https://www.mail-archive.com/qubes-users@googlegroups.com/) for additional reports.
If selecting a desktop, you may also want to include and use a third party NIC in an expansion slot instead of the onboard Ethernet.
This will help avoid overt network communications from onboard management.
2018-03-23 09:55:54 -04:00
This is often not an option in laptops with manufacturer firmware due to the use of NIC whitelists, but you can use a USB based ethernet or wifi adapter instead.