lbmk/config/coreboot
Leah Rowe 429e91f908 make GRUB multi-tree and re-add xhci patches
Re-add xHCI only on haswell and broadwell machines, where
they are needed. Otherwise, keep the same GRUB code.

The xHCI patches were removed because they caused issues
on Sandybridge-based Dell Latitude laptops. See:
https://codeberg.org/libreboot/lbmk/issues/216

The issue was not reported elsewhere, including on the
Haswell/Broadwell hardware where they are needed, but the
build system could only build one version of GRUB.

The older machines do not need xHCI patches, because they
either do not have xHCI patches, or work (in GRUB) because
they're in EHCI mode when running the payload.

So, the problem is that we need the xHCI patches for GRUB
on Haswell/Broadwell hardware, but the patches break
Sandybridge hardware, and we only had the one build of GRUB.
To mitigate this problem, the build system now supports
building multiple revisions of GRUB, with different patches,
and each given coreboot target can say which GRUB tree to use
by setting this in target.cfg:

grubtree="xhci"

In the above example, the "xhci" tree would be used. Some
generic GRUB config has been moved to config/data/grub/
and config/grub/ now looks like config/coreboot/ - also,
the grub.cfg file (named "payload" in each tree) is copied
to the GRUB source tree as ".config", then added to GRUB's
memdisk in the same way, as grub.cfg.

Several other design changes had to be made because of this:

* grub.cfg in memdisk no longer automatically jumps to one
  in CBFS, but now shows a menuentry for it if available

* Certain commands in script/trees are disabled for GRUB,
  such as *config make commands.

* gnulib is now defined in config/submodule/grub/, instead
  of config/git/grub - and this mitigates an existing bug
  where downloading gnulib first would make grub no longer
  possible to download in lbmk.

The coreboot option CONFIG_FINALIZE_USB_ROUTE_XHCI has been
re-enabled on: Dell OptiPlex 9020 MT, Dell OptiPlex 9020 SFF,
Lenovo ThinkPad T440p and Lenovo ThinkPad W541 - now USB should
work again in GRUB.

The GRUB payload has been re-enabled on HP EliteBook 820 G2.

This change will enable per-board GRUB optimisation in the
future. For example, we hardcode what partitions and LVMs
GRUB scans because * is slow on ICH7-based machines, due
to GRUB's design. On other machines, * is reasonably fast,
for automatically enumerating the list of devices for boot.

Use of * (and other wildcards) could enable our GRUB payload
to automatically boot more distros, with minimal fuss. This
can be done at a later date, in subsequent revisions.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-02 19:58:50 +01:00
..
coreboot413 coreboot/*/target.cfg: don't define xarch 2024-01-21 05:52:32 +00:00
d510mo coreboot: only run GRUB as a secondary payload 2024-05-27 14:24:26 +01:00
d510mo_16mb remove all status checks. only handle release. 2024-05-11 18:53:12 +01:00
d945gclf_8mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:24:26 +01:00
d945gclf_512kb coreboot: only run GRUB as a secondary payload 2024-05-27 14:24:26 +01:00
default nb/haswell: lock policy regs when disabling IOMMU 2024-05-04 04:32:35 +01:00
dell Fix E6400 display reference clock patches 2024-05-21 18:58:28 -06:00
dell9020mt_nri_12mb make GRUB multi-tree and re-add xhci patches 2024-06-02 19:58:50 +01:00
dell9020sff_nri_12mb make GRUB multi-tree and re-add xhci patches 2024-06-02 19:58:50 +01:00
e5420_6mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
e5520_6mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
e5530_12mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
e6400_4mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
e6400nvidia_4mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
e6420_10mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
e6430_12mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
e6520_10mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
e6530_12mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
fam15h_rdimm fix amd mainboard configs 2024-01-21 20:45:44 +00:00
fam15h_udimm coreboot/fam15h_udimm: define xtree 2024-01-21 22:16:09 +00:00
g43t_am3 do not allow dashes in coreboot target names 2024-05-29 03:15:25 +01:00
g43t_am3_16mb do not allow dashes in coreboot target names 2024-05-29 03:15:25 +01:00
ga_g41m_es2l do not allow dashes in coreboot target names 2024-05-29 03:15:25 +01:00
gru_bob remove all status checks. only handle release. 2024-05-11 18:53:12 +01:00
gru_kevin remove all status checks. only handle release. 2024-05-11 18:53:12 +01:00
haswell coreboot: only run GRUB as a secondary payload 2024-05-27 14:24:26 +01:00
hp820g2_12mb make GRUB multi-tree and re-add xhci patches 2024-06-02 19:58:50 +01:00
hp2170p_16mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
hp2560p_8mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
hp2570p_16mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
hp8200sff_4mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
hp8200sff_8mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
hp8300cmt_16mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
hp8300usdt_16mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
hp8460pintel_8mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
hp8470pintel_16mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
hp8560w_8mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
hp9470m_16mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
i945 use mirrorservice.org for iasl downloads 2024-04-28 02:02:15 +01:00
kcma_d8-udimm_16mb do not allow dashes in coreboot target names 2024-05-29 03:15:25 +01:00
kcma_d8_rdimm_2mb do not allow dashes in coreboot target names 2024-05-29 03:15:25 +01:00
kcma_d8_rdimm_16mb do not allow dashes in coreboot target names 2024-05-29 03:15:25 +01:00
kcma_d8_udimm_2mb do not allow dashes in coreboot target names 2024-05-29 03:15:25 +01:00
kfsn4_dre_1mb do not allow dashes in coreboot target names 2024-05-29 03:15:25 +01:00
kfsn4_dre_2mb do not allow dashes in coreboot target names 2024-05-29 03:15:25 +01:00
kgpe_d16_rdimm_2mb do not allow dashes in coreboot target names 2024-05-29 03:15:25 +01:00
kgpe_d16_rdimm_16mb do not allow dashes in coreboot target names 2024-05-29 03:15:25 +01:00
kgpe_d16_udimm_2mb do not allow dashes in coreboot target names 2024-05-29 03:15:25 +01:00
kgpe_d16_udimm_16mb do not allow dashes in coreboot target names 2024-05-29 03:15:25 +01:00
macbook11 re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
macbook11_16mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
macbook21 re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
macbook21_16mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
qemu_arm64_12mb remove all status checks. only handle release. 2024-05-11 18:53:12 +01:00
qemu_x86_12mb remove grub_scan_disk in all target.cfg files 2024-05-27 20:41:11 +01:00
r400_4mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
r400_8mb remove grub_scan_disk in all target.cfg files 2024-05-27 20:41:11 +01:00
r400_16mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
r500_4mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
t60_16mb_intelgpu re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
t60_intelgpu re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
t400_4mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
t400_8mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
t400_16mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
t420_8mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
t420s_8mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
t430_12mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
t440plibremrc_12mb make GRUB multi-tree and re-add xhci patches 2024-06-02 19:58:50 +01:00
t500_4mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
t500_8mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
t500_16mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
t520_8mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
t530_12mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
t1650_12mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
w500_4mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
w500_8mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
w500_16mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
w530_12mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
w541_12mb make GRUB multi-tree and re-add xhci patches 2024-06-02 19:58:50 +01:00
x60 re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
x60_16mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
x200_4mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
x200_8mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
x200_16mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
x220_8mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
x230_12mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
x230_16mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
x230t_12mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
x230t_16mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
x301_4mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
x301_8mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
x301_16mb re-configure grub_scan_disk on various targets 2024-05-27 21:33:53 +01:00
build.list merge config/ and resources/ 2023-09-04 02:47:25 +01:00