Commit Graph

226 Commits

Author SHA1 Message Date
Leah Rowe bbdb9512f3 grub.cfg: clean up comments 2021-12-29 06:04:42 +00:00
Leah Rowe c98308c499 grub.cfg: don't use */? wildcards. they slow down the boot
hardcode everything. in practise, the new logic will work just the same in
almost all cases, for most people, but it works around performance issues in
grub. cleanup of grub.cfg will be done in the next commit
2021-12-29 05:58:03 +00:00
Leah Rowe 0ea263129a grub.cfg: optimize search_isolinux
GRUB is slow at device enumeration. This patch works around it in the same way
as vitali64's recent patch.
2021-12-29 02:37:05 +00:00
Vitali64 cff081c6db Fix grub's slow boot
On many boards, grub takes a very long time to
search for a grub.cfg file on the disk.
The problem is the search_grub function which
takes a long time to complete.
I (vitali64) studied the grub.cfg from 2016 and
the grub.cfg from 2021 and optimized the
grub.cfg. It should be faster now.
2021-12-29 01:03:18 +00:00
Leah Rowe 7221782940 lenovo/r400: disable death beeps 2021-12-20 02:46:25 +00:00
Leah Rowe c3a66c3275 fix usb keyboards in grub 2021-12-19 23:15:32 +00:00
Leah Rowe cae73ff493 Revert "grub.cfg: enable USB keyboards"
This reverts commit ed63e94914.
2021-12-12 02:24:50 +00:00
Leah Rowe dbe4a0c6a3 coreboot configs: don't enable wifi during early init 2021-12-11 15:24:42 +00:00
Leah Rowe ed63e94914 grub.cfg: enable USB keyboards 2021-12-11 15:02:41 +00:00
Leah Rowe fd583308aa grub.cfg: disable serial output 2021-12-11 15:02:15 +00:00
Leah Rowe f20160f3bb coreboot configs: disable serial output during coreboot initialization 2021-12-11 15:00:17 +00:00
Leah Rowe c771aad44f add scripts for modifying coreboot configs 2021-12-11 14:25:26 +00:00
Vitali64 7e6691e999 Add ARMv7 and AArch64 support 2021-12-11 13:38:43 +00:00
Vitali64 dec2d7206e add myself in the build/roms_helper script 2021-12-09 06:46:18 +00:00
Leah Rowe 7db63c2685 macbook21_16mb: always clear DRAM on regular boot 2021-12-07 21:36:32 +00:00
Vitali64 4c8518899a Add macbook*1 16mb configs 2021-12-07 18:51:49 +00:00
Wei Mingzhi 4dff61eb32 Add script for installing dependencies on Fedora 35. Based on work done by qeeg. 2021-12-02 08:12:42 +08:00
Wei Mingzhi 15209c3895 Do not treat warnings as errors when building flashrom. This fixes build failure with newer versions of GCC. 2021-12-02 08:12:01 +08:00
Leah Rowe 9938fa14b1 Fix broken SpeedStep on GM45 laptops such as ThinkPad X200, T400, T500, W500
Coreboot is enabling PECI on these CPUs which, according to Intel erratum, must
only be done after loading microcode updates, otherwise the CPUID feature set
becomes corrupted. That's my understanding, and I think this is why SpeedStep
is broken. To be specific, it could but but operating systems no longer detect
that the feature is supported. In any case, belgin on IRC found the commit in
coreboot, after a bisect, enabling PECI. This commit in Libreboot adds a patch,
reverting coreboot's PECI patch.
2021-12-01 04:32:02 +00:00
Leah Rowe 4b64e34fc2 build/roms: warn if grub_scan_disk is not set at all 2021-11-30 18:44:08 +00:00
Leah Rowe c7944c0e01 build/roms: warn when grub_scan_disk is set incorrectly 2021-11-30 18:40:27 +00:00
Leah Rowe c87b6f6369 build/boot/roms: don't error out if grub_scan_disk is invalid
just set it to the default, instead
2021-11-30 18:35:52 +00:00
Leah Rowe 9a0677eafd fix incorrect logic on recent grub optimization patch
or was used, instead of and
2021-11-30 18:31:19 +00:00
Vitali64 b74056563f Workaround for grub's slow boot 2021-11-28 17:16:18 +00:00
Leah Rowe eed25bd220 update coreboot and nuke tianocore
tianocore is a liability for the libreboot project. it's a bloated mess, and
unreliable, broken on many boards, and basically impossible to audit.

i don't trust tianocore, so i'm removing it.
2021-11-22 10:03:50 +00:00
shmalebx9 12eceb6a67 added dependency script for void 2021-11-20 12:51:56 -07:00
Leah Rowe bc7243f1e1 build/boot/roms: fix wrong filename for pike2008 option roms 2021-11-18 17:02:36 +00:00
Leah Rowe 8a79f7b163 Fix https://notabug.org/libreboot/lbmk/issues/59 2021-11-18 07:18:53 +00:00
Leah Rowe 4e8c8930cf remove pandoc from dependencies scripts
the static site generator was forked into https://untitled.vimuser.org/
2021-11-18 07:07:51 +00:00
Leah Rowe 4e4f4146d7 download backup seabios repo if the main one is down 2021-11-11 11:36:45 +00:00
Leah Rowe 5957c685a2 fix broken seabios download 2021-11-11 11:30:52 +00:00
Leah Rowe 8888b2b777 bump seabios to the latest version in seabios.git 2021-11-03 15:56:47 +00:00
Leah Rowe 7e6bec17ef build/roms: add g43t-am3_16mb config 2021-11-01 09:53:34 +00:00
Leah Rowe b1fba0e103 roll back memtest86+ revision
works around a build error with gcc 7.5. the patches being removed
from memtest86+ aren't really necessary for the average user anyway
2021-11-01 08:10:32 +00:00
Leah Rowe 71ebf7e863 build/roms: add d945gclf_16mb 2021-11-01 07:15:27 +00:00
Leah Rowe 93c957ddb6 build/roms: add 16mb d510mo config
you must de-solder the default chip and install the new one.
winbond w25q128fvsig is a nice choice of 16MB (128Mbit) IC
2021-11-01 06:45:15 +00:00
Leah Rowe 40202d1286 download/memtest: delete .git* afterwards 2021-11-01 05:59:50 +00:00
Leah Rowe 240eb6da23 memtest86plus: use coreboot's fork of it
it is superior
2021-11-01 05:26:26 +00:00
Leah Rowe 6d23b3fe55 Include memtest86+ on setups where this is practical 2021-11-01 04:04:56 +00:00
Leah Rowe 68d3c9372a Revert "nuke memtest86+"
This reverts commit 84a1bc502b.
2021-11-01 02:51:10 +00:00
Leah Rowe cca23ac713 nuke d8/d16 configs for 4mb/8mb setups. only have 2mb and 16mb configs
4mb and 8mb users can just pad their roms to 16mb, using the instructions on
<https://libreboot.org/faq.html#how-do-i-pad-a-rom-before-flashing>

maintaining them in lbmk is a waste of time, and also a hazard because it's a
lot of duplicated labour when making any changes, which could result in awful
mistakes being made
2021-11-01 02:37:55 +00:00
Leah Rowe f89d85dd90 build/boot/roms: add t60_16mb_intelgpu configs 2021-11-01 01:56:32 +00:00
Leah Rowe b4fa5cdd01 build/boot/roms: add x60_16mb configs 2021-11-01 01:52:35 +00:00
Leah Rowe c2720c58e7 lenovo/t400: Enable all SATA ports (add persmule's patch)
See:
<https://lists.nongnu.org/archive/html/libreboot/2016-08/msg00063.html>

This enables all SATA ports, allowing full T400s compatibility. T400s already
works just fine, when flashing a T400 ROM, but not all SATA ports were usable.

The specific patch is here:
<https://lists.nongnu.org/archive/html/libreboot/2016-08/txtgT_L8DC94R.txt>

There was also this patch, which coreboot actually adapted upstream:
<https://lists.nongnu.org/archive/html/libreboot/2016-08/txtMXyws85Q_P.txt>

Yes, this patch was submitted in 2016. I overlooked it, during all this time.
2021-10-31 23:36:47 +00:00
Leah Rowe 84a1bc502b nuke memtest86+ 2021-10-31 20:52:01 +00:00
Leah Rowe eec4dcd97e grub.cfg: scan grub.cfg on lvm first, before crypto volumes
In most LUKS setups, the user configured LVM, so doing this check first will
increase boot speeds.
2021-10-31 18:10:34 +00:00
Leah Rowe 3364d90edd grub.cfg: attempt cryptomount on raid volumes 2021-10-31 18:08:13 +00:00
Leah Rowe de9dabe43d grub.cfg: replace spaces with tabs 2021-10-31 17:55:49 +00:00
Leah Rowe 37ebccb8a8 grub.cfg: don't handle usb at all in the main menuentry
usb support is extremely buggy in grub, and can cause boot delay issues
2021-10-31 17:21:14 +00:00
Leah Rowe ebeeff6969 grub.cfg: don't run search_grub usb in the main menuentry
There is literally an entire other menuentry just for this purpose.
2021-10-31 17:17:05 +00:00
Leah Rowe 7c998b4538 grub.cfg: search usb *last*, in the main menuentry
There is already a separate menuentry for USB, and most people don't boot their
installed system from USB anyway. This will result in faster boot speeds.
2021-10-31 17:14:41 +00:00
Leah Rowe 62fa042a17 re-add grub backgrounds and update grub. mitigate missing characters
mitigate missing characters in unifont for border/arrow characters. this saves
space because now it is no longer necessary to add a custom font

the background added has the libreboot logo on it, and it's 10kb in size unlike
the old gnulove background that was hundreds of KB
2021-10-31 07:13:46 +00:00
Leah Rowe 49198fe3d1 Disable PIKE2008 option ROM loading on KGPE-D16/KCMA-D8
These option ROMs are known to cause a system hang. If you insert an empty
option ROM into CBFS, it disables any option ROM loading for those devices
when using SeaBIOS.
2021-10-30 21:22:27 +01:00
Leah Rowe 651a3f05fd update to coreboot master on macbook21, and add vitali64's cstate 3 patch
improved battery life on macbook21
2021-10-30 19:19:31 +01:00
Leah Rowe 4e093b3ecc grub.cfg: increase default timeout to 10 seconds
this is a compromise. i was going to do 30 for desktops, 1 for laptops.
however, some laptop users complain about the 1 second timeout being too fast.
10 seconds should just about please everyone.
2021-10-30 18:23:18 +01:00
Leah Rowe ad87e84ae1 grub.cfg: also unroll the list of usb devices 2021-10-30 16:13:27 +01:00
Leah Rowe f195282d90 grub.cfg patch from shmalebx9: reverse search order for encrypted partitions
Also, when a cryptomount is successful, break from the loop and boot from that.
In most cases, this will work just fine, and this change improves the boot
speed in the vast majority of cases.

From <https://notabug.org/libreboot/lbmk/issues/53>

This is based on commit 5767489cadc4a9a1f2e7bffe03457e29e1c9a101 from
https://github.com/shmalebx9/Bleeding-Libreboot/
2021-10-30 16:03:10 +01:00
Leah Rowe 777316eb4f coreboot/default: Fix Werror when building ThinkPad T400 images 2021-08-23 10:34:56 +01:00
Leah Rowe 4b7be66596 coreboot: revert cpu/intel: Configure IA32_FEATURE_CONTROL for alternative SMRR
This fixes issue 3:
https://notabug.org/libreboot/lbmk/issues/3

In this issue, GM45 laptops such as X200/T400 will hang on reboot (normal boot
works, and shutting down works too).
2021-08-23 09:31:56 +01:00
madbehaviorus b152f3ae01 The tianocore build script fails, because there are no coreboot-version file are available. So I set it as commit and the script works like a charm 2021-06-06 11:31:05 +02:00
Ron Nazarov 0fadeed493 replace #!/bin/bash with #!/usr/bin/env bash 2021-06-03 12:47:08 +01:00
Canberk TURAN 0e2459270d Turkish Q Keyboard Layout Added 2021-05-23 16:30:08 +00:00
Leah Rowe b4bcdc42f0 build/release/src: don't auto-download tianocore
it will already be there, if it was used when build rom images
2021-05-23 00:49:12 +01:00
Leah Rowe 15e4b8a00c build/crossgcc: insert .coreboot-version 2021-05-22 20:28:41 +01:00
Leah Rowe 85ec4e0e08 board/x301: add new board
similar to x200
2021-05-22 20:19:45 +01:00
Leah Rowe cba1e5bf3c board/d945gclf/cfg: re-do config 2021-05-22 20:03:27 +01:00
Leah Rowe 911bd74495 board/d510mo/cfg: re-do config 2021-05-22 20:00:04 +01:00
Leah Rowe 3db7b791d6 board/d510mo/cfg: enable payload_grub_withseabios 2021-05-22 19:59:58 +01:00
Leah Rowe 1d1d069bdc board/kfsn4-dre/cfg: re-do config. 1mb and 2mb roms available
libgfxinit_txtmode with seabios only
2021-05-22 19:53:02 +01:00
Leah Rowe 5c5e3baf92 board/g43t-am3/cfg: re-do configs. libgfxinit_txtmode only
For add-on GPU, use one of the SeaBIOS images.
2021-05-22 19:39:57 +01:00
Leah Rowe 943e1afd6b board/ga-g41m-es2l/cfg: re-do config. libgfxinit_txtmode only
Use seabios ROM if you want to use an add-on GPU.
seabios_withgrub and seabios_grubfirst are also available.
2021-05-22 19:31:35 +01:00
Leah Rowe 43dd4d5446 board/ga-g41m-es2l/cfg: enable payload_grub_withseabios
SeaBIOS should fit nicely, now that memtest is disabled
2021-05-22 19:31:25 +01:00
Leah Rowe 52d8fccaae don't include memtest by default. make it a board.cfg option 2021-05-22 19:21:24 +01:00
Leah Rowe cfd47cc0a5 build/roms: re-do KCMA-D8 and KGPE-D16 configs
2MiB and 16MiB were the only flash sizes supported. 4 and 8MiB have been
added.

Now there are only libgfxinit_txtmode configs.

Use seabios_withgrub or seabios_grubfirst ROMs if you wish to use an add-on
GPU.
2021-05-22 18:39:51 +01:00
Leah Rowe ce0013aebf download/ich9utils: download the libreboot version instead
it's exactly the same anyway
2021-05-18 17:07:29 +01:00
Leah Rowe 89517ed6b9 libreboot!
this is forked from the "libre" branch in osboot, which is itself a libre,
deblobbed fork of osboot, a blobbed up fork of libreboot

libreboot needed to be purged clean. this is the new libreboot development
repository. the old one has been abandoned
2021-05-18 13:56:12 +01:00