Compare commits
13 Commits
8ddb1c7885
...
97d502ccc8
Author | SHA1 | Date |
---|---|---|
Leah Rowe | 97d502ccc8 | |
Leah Rowe | 29d6d294ab | |
Leah Rowe | 79b00fbfaf | |
Leah Rowe | ed8969d93f | |
Leah Rowe | 8a1255634e | |
Leah Rowe | 5405584b5a | |
Nicholas Chin | 9d5e03268b | |
Leah Rowe | dc41f55a09 | |
Leah Rowe | fc0972fe6d | |
Leah Rowe | c4fe290da8 | |
Leah Rowe | 029e30bfbc | |
Leah Rowe | 2074d33712 | |
Leah Rowe | a8aa1dc0f8 |
37
README.md
37
README.md
|
@ -18,27 +18,31 @@ prefer Canoeboot, which is essentially a *censored* Libreboot (no binary
|
|||
blobs allowed, so only few boards supported whereas Libreboot supports more
|
||||
boards while minimising the number of blobs to zero when possible).
|
||||
|
||||
For more context, please read Libreboot's Binary Blob Reduction Policy:
|
||||
Canoeboot is provided for the purists who absolutely wish to have no proprietary
|
||||
software of any kind. Regardless of any other firmware that exists outside of it,
|
||||
the boot flash on your system will be *entirely free software* if you install
|
||||
Canoeboot on it. That includes a complete lack of CPU microcode updates, as per
|
||||
FSF policy.
|
||||
|
||||
<https://libreboot.org/news/policy.html>
|
||||
More specifically: Canoeboot is engineered to comply with the GNU Free System
|
||||
Distribution Guidelines. It has, as of November 2023 releases, been strictly
|
||||
audited by FSF licensing staff (Craig Topham lead the audit), and it is listed
|
||||
on the FSF's own Free Software Directory.
|
||||
|
||||
You may also read Canoeboot's about page, which contains more history pertaining
|
||||
to *Canoeboot*. Please read this page:
|
||||
|
||||
<https://canoeboot.org/about.html>
|
||||
|
||||
Canoeboot is inferior to Libreboot, in every way, and you should never use it.
|
||||
Libreboot previously complied with that same policy, but changed to a different
|
||||
one permitting binary blobs in limited circumstances, so as to support more newer
|
||||
machines. Canoeboot is, then, a continuation of the traditional Libreboot
|
||||
project prior to that policy change. Some users still want it, so, Canoeboot
|
||||
releases are rigoriously maintained, re-basing on newer Libreboot releases over
|
||||
time, just like how, say, Trisquel, re-bases itself on each new Ubuntu release.
|
||||
|
||||
Project goals
|
||||
=============
|
||||
|
||||
- Be Libreboot, but adhere to GNU FSDG as policy. This means that many boards
|
||||
from Libreboot must be removed; Canoeboot is therefore inferior to Libreboot,
|
||||
and always will be. It provides a useful proof of concept, showing what
|
||||
is still possible when you completely bastardise Libreboot in like with
|
||||
FSF/GNU dogma - and Canoeboot does it better than GNU ever could.
|
||||
- *Support as much hardware as possible!* (within the restrictions imposed
|
||||
by GNU FSDG policy)
|
||||
- Obviously, support as much hardware as possible (within the limitations
|
||||
imposed by GNU FSDG, and using what coreboot happens to have in its source
|
||||
tree - Canoeboot also heavily patches coreboot, sometimes adding new
|
||||
mainboards out-of-tree).
|
||||
- *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
|
||||
|
@ -64,7 +68,8 @@ Not a coreboot fork!
|
|||
--------------------
|
||||
|
||||
Canoeboot is not a fork of coreboot. Every so often, the project
|
||||
re-bases on the latest version of coreboot, with the number of custom
|
||||
re-bases on the latest version of coreboot, by virtue of maintaining sync
|
||||
with Libreboot releases (minus un-GNU parts), with the number of custom
|
||||
patches in use minimized. Tested, *stable* (static) releases are then provided
|
||||
in Canoeboot, based on specific coreboot revisions.
|
||||
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="n"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
status="untested"
|
||||
release="n"
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
this board has never been stable, and has not been tested in Libreboot 20240504 so no ROM images included for it in that release
|
|
@ -4,3 +4,4 @@ payload_seabios="y"
|
|||
payload_seabios_withgrub="y"
|
||||
payload_memtest="y"
|
||||
status="untested"
|
||||
release="n"
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
this board has never been stable, and has not been tested in Libreboot 20240504 so no ROM images included for it in that release
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="n"
|
|||
payload_seabios="y"
|
||||
payload_memtest="n"
|
||||
status="untested"
|
||||
release="n"
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
this board has never been stable, and has not been tested in Libreboot 20240504 so no ROM images included for it in that release
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="n"
|
|||
payload_seabios="y"
|
||||
payload_memtest="n"
|
||||
status="untested"
|
||||
release="n"
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
this board has never been stable, and has not been tested in Libreboot 20240504 so no ROM images included for it in that release
|
|
@ -0,0 +1,117 @@
|
|||
From a8c4f7004ea1c9b8268a87dd0b700c250ec4747d Mon Sep 17 00:00:00 2001
|
||||
From: Nicholas Chin <nic.c3.14@gmail.com>
|
||||
Date: Fri, 3 May 2024 11:03:32 -0600
|
||||
Subject: [PATCH] ec/dell/mec5035: Add S3 suspend SMI handler
|
||||
|
||||
Change-Id: I655868aba46911d128f6c24f410dc6fdf83f3070
|
||||
Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
|
||||
---
|
||||
src/ec/dell/mec5035/Makefile.mk | 1 +
|
||||
src/ec/dell/mec5035/mec5035.c | 14 ++++++++++++++
|
||||
src/ec/dell/mec5035/mec5035.h | 19 +++++++++++++++++++
|
||||
src/ec/dell/mec5035/smihandler.c | 17 +++++++++++++++++
|
||||
4 files changed, 51 insertions(+)
|
||||
create mode 100644 src/ec/dell/mec5035/smihandler.c
|
||||
|
||||
diff --git a/src/ec/dell/mec5035/Makefile.mk b/src/ec/dell/mec5035/Makefile.mk
|
||||
index 4ebdd811f9..be557e4599 100644
|
||||
--- a/src/ec/dell/mec5035/Makefile.mk
|
||||
+++ b/src/ec/dell/mec5035/Makefile.mk
|
||||
@@ -5,5 +5,6 @@ ifeq ($(CONFIG_EC_DELL_MEC5035),y)
|
||||
bootblock-y += mec5035.c
|
||||
romstage-y += mec5035.c
|
||||
ramstage-y += mec5035.c
|
||||
+smm-y += mec5035.c smihandler.c
|
||||
|
||||
endif
|
||||
diff --git a/src/ec/dell/mec5035/mec5035.c b/src/ec/dell/mec5035/mec5035.c
|
||||
index 68b6b2f7fb..33bf046634 100644
|
||||
--- a/src/ec/dell/mec5035/mec5035.c
|
||||
+++ b/src/ec/dell/mec5035/mec5035.c
|
||||
@@ -94,6 +94,20 @@ void mec5035_control_radio(enum ec_radio_dev dev, enum ec_radio_state state)
|
||||
ec_command(CMD_RADIO_CTRL);
|
||||
}
|
||||
|
||||
+void mec5035_sleep_enable(void)
|
||||
+{
|
||||
+ u8 buf[SLEEP_EN_NUM_ARGS] = {3, 0};
|
||||
+ write_mailbox_regs(buf, 2, SLEEP_EN_NUM_ARGS);
|
||||
+ ec_command(CMD_SLEEP_ENABLE);
|
||||
+}
|
||||
+
|
||||
+void mec5035_change_wake(u8 source, enum ec_wake_change change)
|
||||
+{
|
||||
+ u8 buf[ACPI_WAKEUP_NUM_ARGS] = {change, source, 0, 0x40};
|
||||
+ write_mailbox_regs(buf, 2, ACPI_WAKEUP_NUM_ARGS);
|
||||
+ ec_command(CMD_ACPI_WAKEUP_CHANGE);
|
||||
+}
|
||||
+
|
||||
void mec5035_early_init(void)
|
||||
{
|
||||
/* If this isn't sent the EC shuts down the system after about 15
|
||||
diff --git a/src/ec/dell/mec5035/mec5035.h b/src/ec/dell/mec5035/mec5035.h
|
||||
index fa15a9d621..069616fbc5 100644
|
||||
--- a/src/ec/dell/mec5035/mec5035.h
|
||||
+++ b/src/ec/dell/mec5035/mec5035.h
|
||||
@@ -4,6 +4,7 @@
|
||||
#define _EC_DELL_MEC5035_H_
|
||||
|
||||
#include <stdint.h>
|
||||
+#include <types.h>
|
||||
|
||||
#define NUM_REGISTERS 32
|
||||
|
||||
@@ -29,9 +30,27 @@ enum ec_radio_state {
|
||||
RADIO_ON
|
||||
};
|
||||
|
||||
+#define CMD_ACPI_WAKEUP_CHANGE 0x4a
|
||||
+#define ACPI_WAKEUP_NUM_ARGS 4
|
||||
+enum ec_wake_change {
|
||||
+ WAKE_OFF = 0,
|
||||
+ WAKE_ON
|
||||
+};
|
||||
+enum ec_acpi_wake_events {
|
||||
+ EC_ACPI_WAKE_PWRB = BIT(0), /* Wake up by power button */
|
||||
+ EC_ACPI_WAKE_LID = BIT(1), /* Wake up by lid switch */
|
||||
+ EC_ACPI_WAKE_RTC = BIT(5), /* Wake up by RTC */
|
||||
+};
|
||||
+
|
||||
+#define CMD_SLEEP_ENABLE 0x64
|
||||
+#define SLEEP_EN_NUM_ARGS 2
|
||||
+
|
||||
u8 mec5035_mouse_touchpad(u8 setting);
|
||||
void mec5035_cpu_ok(void);
|
||||
void mec5035_early_init(void);
|
||||
void mec5035_control_radio(enum ec_radio_dev device, enum ec_radio_state state);
|
||||
+void mec5035_sleep(int slp_type);
|
||||
+void mec5035_change_wake(u8 source, enum ec_wake_change change);
|
||||
+void mec5035_sleep_enable(void);
|
||||
|
||||
#endif /* _EC_DELL_MEC5035_H_ */
|
||||
diff --git a/src/ec/dell/mec5035/smihandler.c b/src/ec/dell/mec5035/smihandler.c
|
||||
new file mode 100644
|
||||
index 0000000000..1db834773d
|
||||
--- /dev/null
|
||||
+++ b/src/ec/dell/mec5035/smihandler.c
|
||||
@@ -0,0 +1,17 @@
|
||||
+/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
+
|
||||
+#include <acpi/acpi.h>
|
||||
+#include <console/console.h>
|
||||
+#include <ec/acpi/ec.h>
|
||||
+#include "mec5035.h"
|
||||
+
|
||||
+void mec5035_sleep(int slp_type)
|
||||
+{
|
||||
+ switch (slp_type) {
|
||||
+ case ACPI_S3:
|
||||
+ /* System does not yet resume properly if woken by lid */
|
||||
+ mec5035_change_wake(EC_ACPI_WAKE_LID, WAKE_OFF);
|
||||
+ mec5035_sleep_enable();
|
||||
+ break;
|
||||
+ }
|
||||
+}
|
||||
--
|
||||
2.44.0
|
||||
|
|
@ -0,0 +1,133 @@
|
|||
From 9ff35368733c5e5a852ebd6295f262710553913b Mon Sep 17 00:00:00 2001
|
||||
From: Nicholas Chin <nic.c3.14@gmail.com>
|
||||
Date: Fri, 3 May 2024 16:31:12 -0600
|
||||
Subject: [PATCH] mb/dell/: Add S3 SMI handler for SNB/IVB Latitudes
|
||||
|
||||
This should fix S3 suspend on these systems
|
||||
|
||||
Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
|
||||
---
|
||||
src/mainboard/dell/e5420/smihandler.c | 9 +++++++++
|
||||
src/mainboard/dell/e5520/smihandler.c | 9 +++++++++
|
||||
src/mainboard/dell/e5530/smihandler.c | 9 +++++++++
|
||||
src/mainboard/dell/e6420/smihandler.c | 9 +++++++++
|
||||
src/mainboard/dell/e6430/smihandler.c | 9 +++++++++
|
||||
src/mainboard/dell/e6520/smihandler.c | 9 +++++++++
|
||||
src/mainboard/dell/e6530/smihandler.c | 9 +++++++++
|
||||
7 files changed, 63 insertions(+)
|
||||
create mode 100644 src/mainboard/dell/e5420/smihandler.c
|
||||
create mode 100644 src/mainboard/dell/e5520/smihandler.c
|
||||
create mode 100644 src/mainboard/dell/e5530/smihandler.c
|
||||
create mode 100644 src/mainboard/dell/e6420/smihandler.c
|
||||
create mode 100644 src/mainboard/dell/e6430/smihandler.c
|
||||
create mode 100644 src/mainboard/dell/e6520/smihandler.c
|
||||
create mode 100644 src/mainboard/dell/e6530/smihandler.c
|
||||
|
||||
diff --git a/src/mainboard/dell/e5420/smihandler.c b/src/mainboard/dell/e5420/smihandler.c
|
||||
new file mode 100644
|
||||
index 0000000000..334d7b1a5f
|
||||
--- /dev/null
|
||||
+++ b/src/mainboard/dell/e5420/smihandler.c
|
||||
@@ -0,0 +1,9 @@
|
||||
+/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
+
|
||||
+#include <cpu/x86/smm.h>
|
||||
+#include <ec/dell/mec5035/mec5035.h>
|
||||
+
|
||||
+void mainboard_smi_sleep(u8 slp_typ)
|
||||
+{
|
||||
+ mec5035_sleep(slp_typ);
|
||||
+}
|
||||
diff --git a/src/mainboard/dell/e5520/smihandler.c b/src/mainboard/dell/e5520/smihandler.c
|
||||
new file mode 100644
|
||||
index 0000000000..334d7b1a5f
|
||||
--- /dev/null
|
||||
+++ b/src/mainboard/dell/e5520/smihandler.c
|
||||
@@ -0,0 +1,9 @@
|
||||
+/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
+
|
||||
+#include <cpu/x86/smm.h>
|
||||
+#include <ec/dell/mec5035/mec5035.h>
|
||||
+
|
||||
+void mainboard_smi_sleep(u8 slp_typ)
|
||||
+{
|
||||
+ mec5035_sleep(slp_typ);
|
||||
+}
|
||||
diff --git a/src/mainboard/dell/e5530/smihandler.c b/src/mainboard/dell/e5530/smihandler.c
|
||||
new file mode 100644
|
||||
index 0000000000..334d7b1a5f
|
||||
--- /dev/null
|
||||
+++ b/src/mainboard/dell/e5530/smihandler.c
|
||||
@@ -0,0 +1,9 @@
|
||||
+/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
+
|
||||
+#include <cpu/x86/smm.h>
|
||||
+#include <ec/dell/mec5035/mec5035.h>
|
||||
+
|
||||
+void mainboard_smi_sleep(u8 slp_typ)
|
||||
+{
|
||||
+ mec5035_sleep(slp_typ);
|
||||
+}
|
||||
diff --git a/src/mainboard/dell/e6420/smihandler.c b/src/mainboard/dell/e6420/smihandler.c
|
||||
new file mode 100644
|
||||
index 0000000000..334d7b1a5f
|
||||
--- /dev/null
|
||||
+++ b/src/mainboard/dell/e6420/smihandler.c
|
||||
@@ -0,0 +1,9 @@
|
||||
+/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
+
|
||||
+#include <cpu/x86/smm.h>
|
||||
+#include <ec/dell/mec5035/mec5035.h>
|
||||
+
|
||||
+void mainboard_smi_sleep(u8 slp_typ)
|
||||
+{
|
||||
+ mec5035_sleep(slp_typ);
|
||||
+}
|
||||
diff --git a/src/mainboard/dell/e6430/smihandler.c b/src/mainboard/dell/e6430/smihandler.c
|
||||
new file mode 100644
|
||||
index 0000000000..334d7b1a5f
|
||||
--- /dev/null
|
||||
+++ b/src/mainboard/dell/e6430/smihandler.c
|
||||
@@ -0,0 +1,9 @@
|
||||
+/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
+
|
||||
+#include <cpu/x86/smm.h>
|
||||
+#include <ec/dell/mec5035/mec5035.h>
|
||||
+
|
||||
+void mainboard_smi_sleep(u8 slp_typ)
|
||||
+{
|
||||
+ mec5035_sleep(slp_typ);
|
||||
+}
|
||||
diff --git a/src/mainboard/dell/e6520/smihandler.c b/src/mainboard/dell/e6520/smihandler.c
|
||||
new file mode 100644
|
||||
index 0000000000..334d7b1a5f
|
||||
--- /dev/null
|
||||
+++ b/src/mainboard/dell/e6520/smihandler.c
|
||||
@@ -0,0 +1,9 @@
|
||||
+/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
+
|
||||
+#include <cpu/x86/smm.h>
|
||||
+#include <ec/dell/mec5035/mec5035.h>
|
||||
+
|
||||
+void mainboard_smi_sleep(u8 slp_typ)
|
||||
+{
|
||||
+ mec5035_sleep(slp_typ);
|
||||
+}
|
||||
diff --git a/src/mainboard/dell/e6530/smihandler.c b/src/mainboard/dell/e6530/smihandler.c
|
||||
new file mode 100644
|
||||
index 0000000000..334d7b1a5f
|
||||
--- /dev/null
|
||||
+++ b/src/mainboard/dell/e6530/smihandler.c
|
||||
@@ -0,0 +1,9 @@
|
||||
+/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
+
|
||||
+#include <cpu/x86/smm.h>
|
||||
+#include <ec/dell/mec5035/mec5035.h>
|
||||
+
|
||||
+void mainboard_smi_sleep(u8 slp_typ)
|
||||
+{
|
||||
+ mec5035_sleep(slp_typ);
|
||||
+}
|
||||
--
|
||||
2.44.0
|
||||
|
|
@ -7,4 +7,4 @@ payload_memtest="y"
|
|||
payload_seabios_withgrub="y"
|
||||
payload_seabios_grubonly="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="unstable" # broken s3
|
||||
status="stable" # broken s3
|
||||
|
|
|
@ -1 +1 @@
|
|||
Battery indicator not working yet. S3 suspend/resume may be broken. May shut down instead of throttle on high CPU temperature; use the intel_pstate driver to cap speeds, and monitor performance via CPU stress test and lm-sensors/xsensors utility, before using the machine regularly.
|
||||
Battery indicator not working yet. May shut down instead of throttle on high CPU temperature; use the intel_pstate driver to cap speeds, and monitor performance via CPU stress test and lm-sensors/xsensors utility, before using the machine regularly.
|
||||
|
|
|
@ -3,4 +3,4 @@ xarch="i386-elf"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_timeout=10
|
||||
status="untested"
|
||||
status="stable"
|
||||
|
|
|
@ -3,4 +3,5 @@ xarch="i386-elf"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_timeout=10
|
||||
status="untested"
|
||||
status="stable"
|
||||
release="n"
|
||||
|
|
|
@ -4,4 +4,4 @@ payload_seabios="y"
|
|||
payload_memtest="y"
|
||||
grub_scan_disk="ata"
|
||||
grub_timeout=10
|
||||
status="untested"
|
||||
status="stable"
|
||||
|
|
|
@ -5,4 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
status="stable"
|
||||
|
|
|
@ -5,4 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
status="stable"
|
||||
|
|
|
@ -5,4 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
status="stable"
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
}
|
||||
|
||||
{mdfiles}{
|
||||
rev: 8aa11d47956f6312a059a1a2d3054b50a4d3fd90
|
||||
rev: ec6898ff7dc643fb308b6370c8504383d5dcc239
|
||||
loc: docs/www/html
|
||||
url: https://codeberg.org/canoeboot/cbwww
|
||||
bkup_url: https://git.disroot.org/canoeboot/cbwww
|
||||
|
|
|
@ -16,7 +16,7 @@ index bd4431000..31308e16a 100644
|
|||
grub_term_cls (term);
|
||||
|
||||
- msg_formatted = grub_xasprintf (_("GNU GRUB version %s"), PACKAGE_VERSION);
|
||||
+ msg_formatted = grub_xasprintf (_("Canoeboot 20240102 release, based on Libreboot 20240102. https://libreboot.org/"));
|
||||
+ msg_formatted = grub_xasprintf (_("Canoeboot 20240504 release, based on Libreboot 20240504. https://libreboot.org/"));
|
||||
if (!msg_formatted)
|
||||
return;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: MIT
|
||||
# SPDX-FileCopyrightText: 2022, 2023 Leah Rowe <leah@libreboot.org>
|
||||
# SPDX-FileCopyrightText: 2022, 2024 Leah Rowe <leah@libreboot.org>
|
||||
|
||||
export LC_COLLATE=C
|
||||
export LC_ALL=C
|
||||
|
|
|
@ -157,12 +157,15 @@ configure_target()
|
|||
|
||||
skip_board()
|
||||
{
|
||||
[ "$listboards" != "y" ] && [ "$status" != "stable" ] && \
|
||||
printf "WARNING: %s not stable (status=%s):\n\n" \
|
||||
if [ "$listboards" != "y" ] && [ "$status" != "stable" ]; then
|
||||
printf "\n\n\t!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n"
|
||||
printf "\t__WARNING: %s has status '%s'__\n" \
|
||||
"$board" "$status"
|
||||
printf "\t!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n"
|
||||
fi
|
||||
|
||||
if [ -f "$targetdir/warn.txt" ] && [ "$listboards" != "y" ]; then
|
||||
printf "Regarding board '%s' (status '%s'):\n" \
|
||||
printf "Regarding target '%s' (status '%s'):\n\n" \
|
||||
"$board" "$status"
|
||||
cat -u "$targetdir/warn.txt" || \
|
||||
$err "!cat $targetdir/warn.txt"
|
||||
|
@ -176,7 +179,7 @@ skip_board()
|
|||
printf "\nTo disable this dialog when building, do:\n"
|
||||
printf "export CBMK_STATUS=n\n\n"
|
||||
while true; do
|
||||
printf "Board %s has status '%s'. Skip? [y/n]" \
|
||||
printf "Board %s has status '%s'. Skip? [y/n] " \
|
||||
"$board" "$status"
|
||||
read -r skip
|
||||
[ "$skip" = "y" ] && return 0
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env sh
|
||||
# SPDX-License-Identifier: MIT
|
||||
# SPDX-FileCopyrightText: 2020-2023 Leah Rowe <leah@libreboot.org>
|
||||
# SPDX-FileCopyrightText: 2020-2024 Leah Rowe <leah@libreboot.org>
|
||||
|
||||
set -u -e
|
||||
|
||||
|
@ -162,6 +162,7 @@ insert_copying_files()
|
|||
cp -R "src/u-boot/default/Licenses" "${l}/COPYING.u-boot" || return 1
|
||||
printf "Multiple licenses. Check corresponding %s source archive\n" \
|
||||
"${projectname}" > "${1}/COPYING" || return 1
|
||||
rm -f src/u-boot/*/test/lib/strlcat.c || return 1
|
||||
}
|
||||
|
||||
mkrom_tarball()
|
||||
|
@ -193,9 +194,10 @@ mktarball()
|
|||
|
||||
[ "${2%/*}" = "${2}" ] || \
|
||||
mkdir -p "${2%/*}" || $err "mk, !mkdir -p \"${2%/*}\""
|
||||
printf "\nCreating archive: %s\n\n" "$2"
|
||||
if [ "${tar_implementation% *}" = "tar (GNU tar)" ]; then
|
||||
tar --sort=name --owner=root:0 --group=root:0 \
|
||||
--mtime="UTC 2023-11-06" -c "$1" | xz -T$threads -9e \
|
||||
--mtime="UTC 2024-05-04" -c "$1" | xz -T$threads -9e \
|
||||
> "$2" || $err "mktarball 1, ${1}"
|
||||
else
|
||||
# TODO: reproducible tarballs on non-GNU systems
|
||||
|
|
Loading…
Reference in New Issue