File site/docs/install/dell9020.md changed (mode: 100644) (index 72712c2..50df552) |
... |
... |
OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** |
30 |
30 |
| **CPU** | Intel Haswell | |
| **CPU** | Intel Haswell | |
31 |
31 |
| **Graphics** | Intel HD Graphics | |
| **Graphics** | Intel HD Graphics | |
32 |
32 |
| **Memory** | DDR3 DIMMs (max 32GB, 4x8GB) | |
| **Memory** | DDR3 DIMMs (max 32GB, 4x8GB) | |
33 |
|
| **Architecture** | x86_64 | |
|
|
33 |
|
| **Architecture** | x86\_64 | |
34 |
34 |
| **Original boot firmware** | Dell UEFI firmware | |
| **Original boot firmware** | Dell UEFI firmware | |
35 |
|
| **Intel ME/AMD PSP** | Present. Can be disabled with me_cleaner. | |
|
|
35 |
|
| **Intel ME/AMD PSP** | Present. Can be disabled with me\_cleaner. | |
36 |
36 |
| **Flash chip** | 2x SOIC-8, 12MiB (8+4) (96Mbit) | |
| **Flash chip** | 2x SOIC-8, 12MiB (8+4) (96Mbit) | |
37 |
37 |
|
|
38 |
38 |
|
|
|
... |
... |
Graphics cards and IOMMU |
104 |
104 |
|
|
105 |
105 |
IOMMU is buggy for some reason (we don't know why yet), when you plug in |
IOMMU is buggy for some reason (we don't know why yet), when you plug in |
106 |
106 |
a graphics card. The graphics card simply won't work. On some of them, |
a graphics card. The graphics card simply won't work. On some of them, |
107 |
|
you can use the console but as soon as you start xorg, it will just b0rk. |
|
|
107 |
|
you can use the console but as soon as you start xorg/wayland, it will just b0rk. |
108 |
108 |
|
|
109 |
109 |
Current Libreboot revisions *disable IOMMU by default*, on this board. The |
Current Libreboot revisions *disable IOMMU by default*, on this board. The |
110 |
110 |
coreboot code for initialising IOMMU was modified by the Libreboot project, to |
coreboot code for initialising IOMMU was modified by the Libreboot project, to |
111 |
111 |
make it a toggle. IOMMU works fine if you use only Intel graphics. |
make it a toggle. IOMMU works fine if you use only Intel graphics. |
112 |
112 |
|
|
|
113 |
|
If you want to use IOMMU *with a graphics card*, you also can. Use this Linux |
|
114 |
|
kernel option at boot: |
|
115 |
|
|
|
116 |
|
intel_iommu=enable,igfx_off |
|
117 |
|
|
|
118 |
|
With the above option, IOMMU is enabled *except* for the Intel GPU. However, |
|
119 |
|
Libreboot also *disables the Intel GPU* in coreboot, entirely, when a graphics |
|
120 |
|
card is used. With the above option, it's possible that something like Qubes |
|
121 |
|
may work, which requires an IOMMU to be turned on. |
|
122 |
|
|
|
123 |
|
If you are using Intel graphics, and not a graphics card, you can ignore the |
|
124 |
|
above, and instead fully turn on the IOMMU, without any special kernel options. |
|
125 |
|
|
113 |
126 |
The way coreboot works is this: if vt-d is present on the CPU, it enables an |
The way coreboot works is this: if vt-d is present on the CPU, it enables an |
114 |
127 |
IOMMU, and only if vt-d is present. This is still the behaviour in Libreboot, |
IOMMU, and only if vt-d is present. This is still the behaviour in Libreboot, |
115 |
128 |
but Libreboot adds an additional check: if `iommu` is not set in nvram, it |
but Libreboot adds an additional check: if `iommu` is not set in nvram, it |
116 |
129 |
defaults to on, but if it's set to disabled, then IOMMU is not initialised. |
defaults to on, but if it's set to disabled, then IOMMU is not initialised. |
117 |
130 |
|
|
|
131 |
|
Enable IOMMU |
|
132 |
|
------------ |
|
133 |
|
|
|
134 |
|
IOMMU is *disabled by default*, universally, on this board. You can turn it on, |
|
135 |
|
by modifying the ROM image prior to flashing, or modifying it prior to |
|
136 |
|
re-flashing. |
|
137 |
|
|
118 |
138 |
On all other Haswell boards, LIbreboot enables IOMMU by default. To enable |
On all other Haswell boards, LIbreboot enables IOMMU by default. To enable |
119 |
139 |
it on the 9020, do this on your ROM: |
it on the 9020, do this on your ROM: |
120 |
140 |
|
|
121 |
141 |
nvramtool -C libreboot.rom -w iommu=Enable |
nvramtool -C libreboot.rom -w iommu=Enable |
122 |
142 |
|
|
123 |
|
Then flash the ROM image. You can find nvram |
|
|
143 |
|
If you're using a graphics card, please make sure to read the above notes |
|
144 |
|
about how to use IOMMU; specifically, the part that talks about Linux kernel |
|
145 |
|
option `intel_iommu=enable,igfx_off` |
|
146 |
|
|
|
147 |
|
Then flash the ROM image. You can find nvramtool |
124 |
148 |
under `src/coreboot/default/util/nvramtool`. Do this in lbmk if you don't |
under `src/coreboot/default/util/nvramtool`. Do this in lbmk if you don't |
125 |
149 |
already havse `src/coreboot/default/`: |
already havse `src/coreboot/default/`: |
126 |
150 |
|
|
|
... |
... |
in [Libreboot flashing instructions](../install/) |
137 |
161 |
and [Libreboot external flashing instructions](../install/spi.md). |
and [Libreboot external flashing instructions](../install/spi.md). |
138 |
162 |
|
|
139 |
163 |
NOTE: If IOMMU is enabled, you can still use a graphics card, but you must |
NOTE: If IOMMU is enabled, you can still use a graphics card, but you must |
140 |
|
pass this on the Linux cmdline paramaters: `iommu=off` |
|
|
164 |
|
pass this on the Linux cmdline paramaters: `iommu=off` - or if you need |
|
165 |
|
IOMMU (e.g. for Qubes), use `intel_iommu=enable,igfx_off` instead. |
141 |
166 |
|
|
142 |
167 |
NOTE2: Libreboot uses a *static option table* on all boards that have nvram, |
NOTE2: Libreboot uses a *static option table* on all boards that have nvram, |
143 |
168 |
which is why you must use the `-C` option on your ROM, to change the static |
which is why you must use the `-C` option on your ROM, to change the static |
|
... |
... |
If you're already running Libreboot, and you don't have flash protection |
201 |
226 |
turned on, [internal flashing](../install/) is possible. |
turned on, [internal flashing](../install/) is possible. |
202 |
227 |
|
|
203 |
228 |
Internal flashing can also be done with the original Dell BIOS, if the |
Internal flashing can also be done with the original Dell BIOS, if the |
204 |
|
SERVICE_MODE jumper near the PCIe slots is installed. Before flashing, |
|
|
229 |
|
SERVICE\_MODE jumper near the PCIe slots is installed. Before flashing, |
205 |
230 |
|
|
206 |
231 |
rmmod spi-intel-platform |
rmmod spi-intel-platform |
207 |
232 |
|
|
208 |
233 |
needs to be run to prevent errors. Once Libreboot is installed, the |
needs to be run to prevent errors. Once Libreboot is installed, the |
209 |
|
SERVICE_MODE jumper can be removed. |
|
|
234 |
|
SERVICE\_MODE jumper can be removed. |
210 |
235 |
|
|
211 |
236 |
**Note: The Dell BIOS can write EFI variables to flash when shutting |
**Note: The Dell BIOS can write EFI variables to flash when shutting |
212 |
237 |
down, which could corrupt the newly flashed Libreboot ROM and render |
down, which could corrupt the newly flashed Libreboot ROM and render |