parent
3f7b427581
commit
a2d4766d41
|
@ -3,8 +3,8 @@
|
|||
# SPDX-FileCopyrightText: 2023 Leah Rowe <leah@libreboot.org>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
git_name="lbmkplaceholder"
|
||||
git_email="placeholder@lbmkplaceholder.com"
|
||||
git_name="gbmkplaceholder"
|
||||
git_email="placeholder@toejamworld.com"
|
||||
|
||||
main()
|
||||
{
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
*~
|
||||
*.o
|
||||
/lbmk.err.log
|
||||
/gbmk.err.log
|
||||
/cbutils/
|
||||
/pciroms/
|
||||
/util/e6400-flash-unlock/e6400_flash_unlock
|
||||
|
|
8
Makefile
8
Makefile
|
@ -1,10 +1,6 @@
|
|||
#
|
||||
# Makefile for meme purposes
|
||||
# You can use this, but it just runs lbmk commands.
|
||||
#
|
||||
# See docs/maintain/ and docs/git/ for information about the build system:
|
||||
# https://libreboot.org/docs/maintain/
|
||||
# https://libreboot.org/docs/build/
|
||||
# Makefile for official GNU purposes
|
||||
# You can use this, but it just runs gbmk commands.
|
||||
#
|
||||
# Copyright (C) 2020, 2021, 2023 Leah Rowe <info@minifree.org>
|
||||
# Copyright (C) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
|
||||
|
|
114
README.md
114
README.md
|
@ -1,117 +1,11 @@
|
|||
Libreboot
|
||||
non-GeNUine Boot
|
||||
=========
|
||||
|
||||
Find libreboot documentation at <https://libreboot.org/>
|
||||
This software was made purely for fun, by Leah Rowe of Libreboot.
|
||||
|
||||
The `libreboot` project provides
|
||||
[libre](https://libreboot.org/freedom-status.html) *boot
|
||||
firmware* that initializes the hardware (e.g. memory controller, CPU,
|
||||
peripherals) on specific Intel/AMD x86 and ARM targets, which
|
||||
then starts a bootloader for your operating system. Linux/BSD are
|
||||
well-supported. It replaces proprietary BIOS/UEFI firmware. Help is available
|
||||
via [\#libreboot IRC](https://web.libera.chat/#libreboot)
|
||||
on [Libera](https://libera.chat/) IRC.
|
||||
You should otherwise use Libreboot:
|
||||
|
||||
Why use Libreboot?
|
||||
==================
|
||||
|
||||
Why should you use *libreboot*?
|
||||
----------------------------
|
||||
|
||||
Libreboot gives you freedoms that you otherwise can't get with most other
|
||||
boot firmware. It's extremely powerful and configurable for many use cases.
|
||||
|
||||
You have rights. The right to privacy, freedom of thought, freedom of speech
|
||||
and the right to read. In this context, Libreboot gives you these rights.
|
||||
Your freedom matters.
|
||||
[Right to repair](https://vid.puffyan.us/watch?v=Npd_xDuNi9k) matters.
|
||||
Many people use proprietary (non-libre)
|
||||
boot firmware, even if they use [a libre OS](https://www.openbsd.org/).
|
||||
Proprietary firmware often contains backdoors (more info on the FAQ), and it
|
||||
and can be buggy. The libreboot project was founded in in December 2013,
|
||||
with the express purpose of making coreboot firmware accessible for
|
||||
non-technical users.
|
||||
|
||||
The `libreboot` project uses [coreboot](https://www.coreboot.org/) for [hardware
|
||||
initialisation](https://doc.coreboot.org/getting_started/architecture.html).
|
||||
Coreboot is notoriously difficult to install for most non-technical users; it
|
||||
handles only basic initialization and jumps to a separate
|
||||
[payload](https://doc.coreboot.org/payloads.html) program (e.g.
|
||||
[GRUB](https://www.gnu.org/software/grub/),
|
||||
[Tianocore](https://www.tianocore.org/)), which must also be configured.
|
||||
*The libreboot software solves this problem*; it is a *coreboot distribution* with
|
||||
an automated build system (named *lbmk*) that builds complete *ROM images*, for
|
||||
more robust installation. Documentation is provided.
|
||||
|
||||
How does Libreboot differ from coreboot?
|
||||
========================================
|
||||
|
||||
In the same way that *Debian* is a GNU+Linux distribution, `libreboot` is
|
||||
a *coreboot distribution*. If you want to build a ROM image from scratch, you
|
||||
otherwise have to perform expert-level configuration of coreboot, GRUB and
|
||||
whatever other software you need, to prepare the ROM image. With *libreboot*,
|
||||
you can literally download from Git or a source archive, and run `make`, and it
|
||||
will build entire ROM images. An automated build system, named `lbmk`
|
||||
(Libreboot MaKe), builds these ROM images automatically, without any user input
|
||||
or intervention required. Configuration has already been performed in advance.
|
||||
|
||||
If you were to build regular coreboot, without using libreboot's automated
|
||||
build system, it would require a lot more intervention and decent technical
|
||||
knowledge to produce a working configuration.
|
||||
|
||||
Regular binary releases of `libreboot` provide these
|
||||
ROM images pre-compiled, and you can simply install them, with no special
|
||||
knowledge or skill except the ability to follow installation instructions
|
||||
and run commands BSD/Linux.
|
||||
|
||||
Project goals
|
||||
=============
|
||||
|
||||
- *Support as much hardware as possible!* Libreboot aims to eventually
|
||||
have *maintainers* for every board supported by coreboot, at every
|
||||
point in time.
|
||||
- *Make coreboot easy to use*. Coreboot is notoriously difficult
|
||||
to install, due to an overall lack of user-focused documentation
|
||||
and support. Most people will simply give up before attempting to
|
||||
install coreboot. Libreboot's automated build system and user-friendly
|
||||
installation instructions solves this problem.
|
||||
|
||||
Libreboot attempts to bridge this divide by providing a build system
|
||||
automating much of the coreboot image creation and customization.
|
||||
Secondly, the project produces documentation aimed at non-technical users.
|
||||
Thirdly, the project attempts to provide excellent user support via IRC.
|
||||
|
||||
Libreboot already comes with a payload (GRUB), flashrom and other
|
||||
needed parts. Everything is fully integrated, in a way where most of
|
||||
the complicated steps that are otherwise required, are instead done
|
||||
for the user in advance.
|
||||
|
||||
You can download ROM images for your libreboot system and install
|
||||
them without having to build anything from source. If, however, you are
|
||||
interested in building your own image, the build system makes it relatively
|
||||
easy to do so.
|
||||
|
||||
Not a coreboot fork!
|
||||
--------------------
|
||||
|
||||
Libreboot is not a fork of coreboot. Every so often, the project
|
||||
re-bases on the latest version of coreboot, with the number of custom
|
||||
patches in use minimized. Tested, *stable* (static) releases are then provided
|
||||
in Libreboot, based on specific coreboot revisions.
|
||||
|
||||
How to help
|
||||
===========
|
||||
|
||||
You can check bugs listed on
|
||||
the [bug tracker](https://codeberg.org/libreboot/lbmk/issues).
|
||||
|
||||
If you spot a bug and have a fix, the website has instructions for how to send
|
||||
patches, and you can also report it. Also, this entire website is
|
||||
written in Markdown and hosted in a [separate
|
||||
repository](https://codeberg.org/libreboot/lbwww) where you can send patches.
|
||||
|
||||
Any and all development discussion and user support are all done on the IRC
|
||||
channel. More information is on the contact page of libreboot.org.
|
||||
<https://libreboot.org/>
|
||||
|
||||
LICENSE FOR THIS README
|
||||
=======================
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
# generic script for calling other scripts in lbmk
|
||||
# generic script for calling other scripts in gbmk
|
||||
#
|
||||
# Copyright (C) 2014,2015,2020,2021,2023 Leah Rowe <info@minifree.org>
|
||||
# Copyright (C) 2015 Patrick "P. J." McDermott <pj@pehjota.net>
|
||||
|
@ -31,8 +31,8 @@ option=""
|
|||
|
||||
main()
|
||||
{
|
||||
if [ "${0##*/}" = "lbmk" ]; then
|
||||
die "Do not run the lbmk script directly!"
|
||||
if [ "${0##*/}" = "gbmk" ]; then
|
||||
die "Do not run the gbmk script directly!"
|
||||
elif [ "${0##*/}" = "download" ]; then
|
||||
./update module $@ || exit 1
|
||||
exit 0
|
||||
|
@ -77,7 +77,7 @@ main()
|
|||
printf "Invalid option for '%s'." ${mode}
|
||||
die "Run: ${0} ${mode} list'."
|
||||
fi
|
||||
"${buildpath}/${mode}/${option}" $@ || die "lbmk error"
|
||||
"${buildpath}/${mode}/${option}" $@ || die "gbmk error"
|
||||
esac
|
||||
|
||||
./.gitcheck clean
|
|
@ -1 +1 @@
|
|||
censored-libreboot
|
||||
nonGeNUineboot
|
||||
|
|
|
@ -3,11 +3,6 @@ From: Leah Rowe <leah@libreboot.org>
|
|||
Date: Sun, 16 Jul 2023 02:25:23 +0100
|
||||
Subject: [PATCH 1/1] crossgcc/cros: also fix acpica downloads here
|
||||
|
||||
my last revision said in libreboot/gnuboot it was
|
||||
only broken in fam15h boards, but the fix is needed
|
||||
here too. i've already put the correct tarball on
|
||||
libreboot rsync, for this purpose
|
||||
|
||||
Signed-off-by: Leah Rowe <leah@libreboot.org>
|
||||
---
|
||||
util/crossgcc/buildgcc | 2 +-
|
||||
|
|
|
@ -6,33 +6,12 @@ Subject: [PATCH 1/1] GM45-type CPUs: don't enable alternative SMRR
|
|||
This reverts the changes in coreboot revision:
|
||||
df7aecd92643d207feaf7fd840f8835097346644
|
||||
|
||||
While this fix is *technically correct*, the one in
|
||||
coreboot, it breaks rebooting as tested on several
|
||||
GM45 ThinkPads e.g. X200, T400, when microcode
|
||||
updates are not applied.
|
||||
|
||||
Since November 2022, Libreboot includes microcode
|
||||
updates by default, but it tells users how to remove
|
||||
it from the ROM (with cbfstool) if they wish.
|
||||
|
||||
Well, with Libreboot 20221214, 20230319 and 20230413,
|
||||
mitigations present in Libreboot 20220710 (which did
|
||||
not have microcode updates) do not exist.
|
||||
|
||||
This patch, along with the other patch to remove PECI
|
||||
support (which breaks speedstep when microcode updates
|
||||
are not applied) have now been re-added to Libreboot.
|
||||
are not applied) have now been applied to non-GeNUine Boot.
|
||||
|
||||
It is still best to use microcode updates by default.
|
||||
These patches in coreboot are not critically urgent,
|
||||
and you can use the machines with or without them,
|
||||
regardless of ucode.
|
||||
|
||||
I'll probably re-write this and the other patch at
|
||||
some point, applying the change conditionally upon
|
||||
whether or not microcode is applied.
|
||||
|
||||
Pragmatism is a good thing. I recommend it.
|
||||
This fixes broken rebooting on GM45 platforms, when microcode
|
||||
updates are excluded.
|
||||
---
|
||||
src/cpu/intel/model_1067x/model_1067x_init.c | 4 +++
|
||||
src/cpu/intel/model_1067x/mp_init.c | 26 --------------------
|
||||
|
|
|
@ -8,7 +8,7 @@ the original upstream died
|
|||
i decided to host it myself, on libreboot rsync,
|
||||
for use by mirrors.
|
||||
|
||||
this is also useful for GNU Boot, when downloading
|
||||
this is also useful for non-GeNUine Boot, when downloading
|
||||
acpica on coreboot 4.11_branch, for fam15h boards
|
||||
|
||||
this change is not necessary on other coreboot trees,
|
||||
|
|
|
@ -8,7 +8,7 @@ the original upstream died
|
|||
i decided to host it myself, on libreboot rsync,
|
||||
for use by mirrors.
|
||||
|
||||
this is also useful for GNU Boot, when downloading
|
||||
this is also useful for non-GeNUine Boot, when downloading
|
||||
acpica on coreboot 4.11_branch, for fam15h boards
|
||||
|
||||
this change is not necessary on other coreboot trees,
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
The deer logo for Libreboot is copyright 2014 Marcus Moeller and released under
|
||||
CC-0: https://creativecommons.org/publicdomain/zero/1.0/legalcode
|
||||
The grey backgrounds with it were made by Leah Rowe in 2016, also CC-0
|
Binary file not shown.
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 15 KiB |
Binary file not shown.
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 15 KiB |
|
@ -34,7 +34,8 @@ keymap usqwerty
|
|||
function try_user_config {
|
||||
set root="${1}"
|
||||
for dir in boot grub grub2 boot/grub boot/grub2; do
|
||||
for name in '' osboot_ autoboot_ libreboot_ coreboot_; do
|
||||
for name in '' osboot_ autoboot_ libreboot_ coreboot_
|
||||
do
|
||||
if [ -f /"${dir}"/"${name}"grub.cfg ]; then
|
||||
unset superusers
|
||||
configfile /"${dir}"/"${name}"grub.cfg
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From ce13539fe2103abbd991814d995e06cf96e485f7 Mon Sep 17 00:00:00 2001
|
||||
From 0ac5391adf2729605a2ac2606e9a8662e276daa5 Mon Sep 17 00:00:00 2001
|
||||
From: Leah Rowe <leah@libreboot.org>
|
||||
Date: Sun, 31 Oct 2021 03:47:05 +0000
|
||||
Subject: [PATCH 1/3] mitigate grub's missing characters for borders/arrow
|
||||
|
@ -86,5 +86,5 @@ index b1321eb26..e76094dfd 100644
|
|||
grub_term_highlight_color = old_color_highlight;
|
||||
geo->timeout_y = geo->first_entry_y + geo->num_entries
|
||||
--
|
||||
2.25.1
|
||||
2.40.1
|
||||
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
From 70f9e72c3ff6381fe3519612de3b649c0cf26b9a Mon Sep 17 00:00:00 2001
|
||||
From 51b83b0b27841bfd74776d988b5273ccfbf21ed2 Mon Sep 17 00:00:00 2001
|
||||
From: Leah Rowe <leah@libreboot.org>
|
||||
Date: Sat, 19 Nov 2022 16:30:24 +0000
|
||||
Subject: [PATCH 2/3] say the name libreboot, in the grub menu
|
||||
Subject: [PATCH 2/3] say the name non-GeNUine Boot, in the grub menu
|
||||
|
||||
Signed-off-by: Leah Rowe <leah@libreboot.org>
|
||||
---
|
||||
grub-core/normal/main.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c
|
||||
index bd4431000..31308e16a 100644
|
||||
index bd4431000..2108b8b50 100644
|
||||
--- a/grub-core/normal/main.c
|
||||
+++ b/grub-core/normal/main.c
|
||||
@@ -209,7 +209,7 @@ grub_normal_init_page (struct grub_term_output *term,
|
||||
|
@ -16,10 +17,10 @@ index bd4431000..31308e16a 100644
|
|||
grub_term_cls (term);
|
||||
|
||||
- msg_formatted = grub_xasprintf (_("GNU GRUB version %s"), PACKAGE_VERSION);
|
||||
+ msg_formatted = grub_xasprintf (_("libreboot firmware, based on coreboot. https://libreboot.org/"));
|
||||
+ msg_formatted = grub_xasprintf (_("non-GeNUine Boot firmware"));
|
||||
if (!msg_formatted)
|
||||
return;
|
||||
|
||||
--
|
||||
2.25.1
|
||||
2.40.1
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From 674002256247a01f4969a3795a5aceca68792a55 Mon Sep 17 00:00:00 2001
|
||||
From a35dc04295c0b3bd04c2ed9945fedb6fb09427cd Mon Sep 17 00:00:00 2001
|
||||
From: Riku Viitanen <riku.viitanen@protonmail.com>
|
||||
Date: Fri, 21 Apr 2023 21:41:07 +0300
|
||||
Subject: [PATCH] at_keyboard.c: add timeout to fix hang on hp elitebooks
|
||||
Subject: [PATCH 3/3] at_keyboard.c: add timeout to fix hang on hp elitebooks
|
||||
|
||||
This fixes GRUB on Coreboot on HP EliteBooks by implementing
|
||||
a 200ms timeout. GRUB used to hang. see: https://ticket.coreboot.org/issues/141
|
||||
|
@ -32,5 +32,5 @@ index 597111077..28d1d0a77 100644
|
|||
|
||||
static grub_uint8_t
|
||||
--
|
||||
2.40.0
|
||||
2.40.1
|
||||
|
|
@ -329,6 +329,19 @@ moverom() {
|
|||
cp ${rompath} ${newrompath}
|
||||
fi
|
||||
|
||||
# pike2008 cards cause a system hang when loading option roms in seabios
|
||||
# if there is an empty option rom in cbfs, no option rom will be loaded
|
||||
if [ "${cuttype}" = "d8d16sas" ]; then
|
||||
emptyrom=$(mktemp -t coreboot_rom.XXXXXXXXXX)
|
||||
rm -f "${emptyrom}"
|
||||
touch "${emptyrom}"
|
||||
for deviceID in "0072" "3050"; do
|
||||
"${cbfstool}" "${newrompath}" add -f "${emptyrom}" \
|
||||
-n pci1000,${deviceID}.rom -t raw
|
||||
done
|
||||
rm -f "${emptyrom}"
|
||||
fi
|
||||
|
||||
for romsize in 4 8 16; do
|
||||
ifdgbe="descriptors/ich9m/ich9fdgbe_${romsize}m.bin"
|
||||
if [ "${cuttype}" = "${romsize}MiB ICH9 IFD NOR flash" ]; then
|
||||
|
|
|
@ -27,7 +27,7 @@ modlist="coreboot flashrom grub memtest86plus seabios u-boot"
|
|||
|
||||
dirlist="resources util"
|
||||
|
||||
filelist="lbmk modify download build README.md COPYING Makefile update"
|
||||
filelist="gbmk modify download build README.md COPYING Makefile update"
|
||||
filelist="${filelist} version versiondate projectname .gitcheck gitclone"
|
||||
|
||||
version="version-unknown"
|
||||
|
|
|
@ -191,49 +191,14 @@ censor_blobs()
|
|||
return
|
||||
fi
|
||||
|
||||
printf "Doing this to coreboot: https://en.wikipedia.org/wiki/Book_burning\n"
|
||||
printf "Whatever you do, don't read: https://libreboot.org/news/policy.html\n"
|
||||
|
||||
rm -Rf coreboot/coreboot/
|
||||
rm -Rf coreboot/.git* coreboot/*/.git* \
|
||||
coreboot/*/3rdparty/*/.git*
|
||||
rm -Rf coreboot/*/util/nvidia/cbootimage/.git*
|
||||
|
||||
# Also delete that nasty evil documentation that
|
||||
# tells users how to install coreboot, because those
|
||||
# evil coreboot people recommend blobs sometimes. /s
|
||||
# can never be too careful!
|
||||
rm -Rf coreboot/*/Documentation
|
||||
|
||||
# it's basically book-burning. GNU FSDG policy == censorship.
|
||||
# https://en.wikipedia.org/wiki/Book_burning
|
||||
|
||||
# there is a much better way:
|
||||
# https://libreboot.org/news/policy.html
|
||||
|
||||
# but this version of libreboot is designed for the FSF
|
||||
# to use in their GNU Boot project.
|
||||
|
||||
# and i guarantee you, they will remove the above comments
|
||||
# if they fork this code.
|
||||
|
||||
# *they* will call it FREEDOM.
|
||||
|
||||
# but it's not. they're removing your freedom to choose.
|
||||
# and censoring everything they don't like.
|
||||
|
||||
# they will decide what is good for you.
|
||||
# they will decide against you.
|
||||
# and if you fell for their propaganda, you'll feel
|
||||
# pure. despite the fact that your machine is still
|
||||
# full of blobs, even if the boot flash is blob-free.
|
||||
# see:
|
||||
# https://libreboot.org/faq.html#what-other-firmware-exists-outside-of-libreboot
|
||||
|
||||
# this, despite the fact that libreboot is a free software
|
||||
# project. they call it non-free. the truth is written here:
|
||||
|
||||
# https://libreboot.org/freedom-status.html
|
||||
|
||||
for cbdir in coreboot/*; do
|
||||
if [ ! -d "${cbdir}" ]; then continue; fi
|
||||
cbtree="${cbdir##coreboot/}"
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
This change log has moved. Please refer here for historical pre-osboot-merge
|
||||
changes:
|
||||
|
||||
<https://libreboot.org/docs/install/nvmutilimport.html>
|
||||
|
||||
Osboot merged with Libreboot on November 17th, 2022. For nvmutil changes after
|
||||
this date, please check regular Libreboot release announcements which shall
|
||||
now specify any such changes.
|
|
@ -1,4 +0,0 @@
|
|||
|
||||
This documentation has become part of lbwww. See:
|
||||
|
||||
<https://libreboot.org/docs/install/nvmutil.html>
|
Loading…
Reference in New Issue