docs: Add recommended hardware for porting
This commit is contained in:
		
				
					committed by
					
						
						Jeremy Soller
					
				
			
			
				
	
			
			
			
						parent
						
							6c8d87381a
						
					
				
				
					commit
					124c9fd887
				
			@@ -5,22 +5,37 @@ BIOS ROM, the schematics for the system, and, if porting System76 EC, the EC
 | 
				
			|||||||
specification document. While the BIOS ROM is available from the manufacturer,
 | 
					specification document. While the BIOS ROM is available from the manufacturer,
 | 
				
			||||||
board schematics and EC specification typically require NDAs to access.
 | 
					board schematics and EC specification typically require NDAs to access.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Recommended hardware
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The presence of hardware will affect the output of the script used to generate
 | 
				
			||||||
 | 
					the GPIO configuration for coreboot. It is recommended to have enough spare
 | 
				
			||||||
 | 
					hardware to fill all available slots on the motherboard. This includes RAM
 | 
				
			||||||
 | 
					modules, SATA drives, and M.2 modules. If the system has a Thunderbolt port, a
 | 
				
			||||||
 | 
					dock will also be useful for verifying Thunderbolt and PCIe hotplug
 | 
				
			||||||
 | 
					functionality.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					These should be ready before attempting to boot a new port:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- An [external programmer][external-programmer]; for flashing the BIOS chip
 | 
				
			||||||
 | 
					- A [Mega 2560][mega2560]; for flashing the EC and debug logging
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Configuring the system
 | 
					## Configuring the system
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Before starting the porting process, the system should be configured to
 | 
					Before starting the porting process, the system should be configured to
 | 
				
			||||||
enable as many devices as possible to provide a more complete output for
 | 
					enable as many devices as possible to provide a more complete output for
 | 
				
			||||||
coreboot.
 | 
					coreboot.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
1. Boot into the proprietary BIOS
 | 
					1. If the motherboard has open slots (RAM, M.2, SATA), fill them
 | 
				
			||||||
2. Enable things such as
 | 
					2. Boot into the proprietary BIOS
 | 
				
			||||||
 | 
					3. Enable things such as
 | 
				
			||||||
    - TPM
 | 
					    - TPM
 | 
				
			||||||
    - Network stack
 | 
					    - Network stack
 | 
				
			||||||
    - VT-d
 | 
					    - VT-d
 | 
				
			||||||
3. Disable the Intel Management Engine (IME) if possible
 | 
					4. Disable the Intel Management Engine (IME) if possible
 | 
				
			||||||
4. Exit, saving changes
 | 
					5. Exit, saving changes
 | 
				
			||||||
5. If the system is a laptop, connect to AC power with the adapter
 | 
					6. If the system is a laptop, connect to AC power with the adapter
 | 
				
			||||||
6. If the device has a Thunderbolt port, attach and authorize a TBT device
 | 
					7. If the device has a Thunderbolt port, attach and authorize a TBT device
 | 
				
			||||||
7. If the device has a dGPU, ensure it present on the PCI bus
 | 
					8. If the device has a dGPU, ensure it present on the PCI bus
 | 
				
			||||||
    - On Pop!\_OS, switch to NVIDIA graphics mode
 | 
					    - On Pop!\_OS, switch to NVIDIA graphics mode
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
@@ -69,4 +84,6 @@ echo "BOARD=system76/<model>" > models/<model>/ec.config"
 | 
				
			|||||||
If the proprietary EC was previously used, remove `ec.rom` and regenerate the
 | 
					If the proprietary EC was previously used, remove `ec.rom` and regenerate the
 | 
				
			||||||
READMEs.
 | 
					READMEs.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[external-programmer]: ./flashing.md#external-programmer
 | 
				
			||||||
[intel-microcode]: https://github.com/system76/intel-microcode
 | 
					[intel-microcode]: https://github.com/system76/intel-microcode
 | 
				
			||||||
 | 
					[mega2560]: https://github.com/system76/ec/blob/master/doc/mega2560.md
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user