Commit Graph

34 Commits

Author SHA1 Message Date
Leah Rowe 153bfbba0e
Use GRUB 2.12
GRUB 2.12 brings many improvements including, but not limited to,
detached LUKS keyfile support, and numerous fixes for file system
behaviour, compared to GRUB 2.06.

GRUB 2.12 also improves memory allocation in GRUB, making it less
likely to run out of memory when a lot of memory is used, like when
having a very large memdisk.

Signed-off-by: Leah Rowe <leah@libreboot.org>
GNUtoo: Use GRUB 2.12 release, remove info about out of tree Argon 2
        in the commit message, minimize diff.
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2024-05-25 22:19:54 +02:00
Adrien Bourmault 0df4fe5fad
GRUB: config from HDD/SSD: Add support for gnuboot_grub.cfg
The "Load Operating System (incl. fully encrypted disks) [o]" GRUB
entry tries to load grub configuration files from the hard disk or SSD
partitions. It tries various files in /boot, /grub, /grub2,
/boot/grub, /boot/grub2.

For consistency we at least need to make it search for the
gnuboot_grub.cfg in these directories as well. Since this is GNU Boot,
the gnuboot_grub.cfg takes precedence over files made for other boot
software distributions.

For libreboot_grub.cfg, it was not replaced because it is still
mentioned in the documentation.

Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
GNUtoo: reworked code and commit message.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-08-22 21:17:29 +02:00
Adrien Bourmault ce13d22c07
GRUB: Use GNU Boot logo
Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
GNUtoo: updated commit message
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-08-22 21:16:59 +02:00
Adrien Bourmault 74b678c023
GRUB: Say the name GNUBoot in the grub menu
Signed-off-by: Adrien Bourmault <neox@a-lec.org>
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-08-22 21:16:51 +02:00
Leah Rowe f8183e187b say the name libreboot, in grub menus 2022-03-20 00:44:45 +00:00
Leah Rowe 8ca0761fb0 specifically call python3, in scripts
with this change, it's unlikely we'll hit errors again. previously,
some projects used were calling "python" which in context was
python3, but on some setups, the user only has python2 and python3
but no symlink for "python" (which if exists, we assumed linked to
python3)

now it's unambiguous. docs/build/ can probably be updated now, as
a result of this change, to remove the advice about that
2022-03-13 18:17:09 +00:00
Leah Rowe 937590d2b1 optimize grub modules: pre-load ones that will likely be used 2021-12-30 06:50:53 +00:00
Leah Rowe 835ff5ec83 grub.cfg: skip ata/ahci according to grub_scan_disk
logic for setting it in grub.cfg will be done in the next commit
2021-12-29 06:55:07 +00:00
Leah Rowe 9b1499fd1e grub.cfg: clean up messages, be less verbose 2021-12-29 06:26:48 +00:00
Leah Rowe 86d4ca9b50 grub.cfg: add isolinux menuentry for ata* (replace broken cd/dvd menuentry) 2021-12-29 06:10:45 +00:00
Leah Rowe 7cebee25ff grub.cfg: delete option to boot from CD/DVD
it's confusing, broken and most people nowadays don't use optical drives

it's not even possible in most setups anyway
2021-12-29 06:05:36 +00:00
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 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 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 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
Leah Rowe 68d3c9372a Revert "nuke memtest86+"
This reverts commit 84a1bc502b.
2021-11-01 02:51:10 +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 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
Canberk TURAN 0e2459270d Turkish Q Keyboard Layout Added 2021-05-23 16:30:08 +00: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