Commit Graph

10 Commits (550e97d5add0b1708874fd17392263525b12a755)

Author SHA1 Message Date
Leah Rowe 550e97d5ad update/trees: reset xtree/tree_depend before build
in some cases, the build system was needlessly, and sometimes
erroneously, creating crossgcc symlinks, which then caused an
issue, namely:

in lbmk release builds, dell e6400 is build before fam15h boards,
and it sets xtree, but fam15h_rdimm doesn't, and later this would
cause fam15h_rdimm boards to use xtree="default" (because they don't
set xtree), causing the newer toolchain to be used on coreboot 4.11.

this patch fixes the issue. quite a simple problem, actually.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-26 09:30:59 +00:00
Leah Rowe ebb77d5828 don't download projects on release archives
the changelog file is only present in releases, so
use the presence of this file for the test.

someone who wants to fetch projects within a release
archive can simply use the git repo, or delete the file.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-21 22:12:32 +00:00
Leah Rowe 7f02e9e9dd update/release: generate changelogs
use the git log, as follows:

git log --graph --pretty=format:'%Cred%h%Creset %s %Creset' --abbrev-commit

this creates a nice, uniform list of changes.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-21 22:06:57 +00:00
Leah Rowe ce9030b74f Canoeboot v0.1
This commit realises an intellectual dream: what if
I made a Canoeboot release, but using upstream
revisions from GNU Boot 0.1 RC3? Canoeboot uses much
newer revisions, but I've recently been sending patches
to the GNU Boot project, making their 0.1 series build
on modern distros, and I also added support for U-Boot
building (gru_bob and gru_kevin boards added), and Dell
Latitude E6400.

This commit *reverts* Canoeboot back to the older
upstream revisions used in GNU Boot, based on the
Libreboot 20220710 revisions, but with their changes
and with my fixes. I've also included my improvements to
the grub.cfg file, such as EFI System Partition support, which
was also sent upstream to GNU Boot for review. This commit
*removes* argon2 support from GRUB, because GNU Boot 0.1
doesn't have it! A few other things from Canoeboot have
been retained, such as the ability to build serprog firmware.
The memtest86plus revision was even downgraded back to
the 5.x one used by GNU Boot (Canoeboot uses 6.2). This means
that memtest86plus is 32-bit again, not 64-bit, and re-enabled
on X60/T60, but it is only provided in configurations, on
each board, where text mode startup is used (on Canoeboot,
only 64-bit builds are provided, so unavailable for X60/T60,
but memtest 6.2 works on corebootfb and txtmode startup).

TL;DR this commit/branch/release of Canoeboot, dubbed
Canoeboot v0.1, is more or less precisely in sync with GNU
Boot 0.1 RC3, but with my build fixes, and the additional
boards (gru_bob, gru_kevin, dell e6400). I did this so that
I could have a more reliable benchmark, comparing the build
system performance of GNU Boot 0.1 RC and Canoeboot. The idea
is that if exact revisions are used across both projects, that
are the same, then the test is more likely to be reliable, in
showing how fast or slow each build system design is.

Certain design changes from Canoeboot have been retained here,
such as use of pre-generated ICH9M IFDs (GNU Boot re-creates
them using my ich9gen, but Canoeboot now includes pre-made ones
generated from ich9gen), and declaring PIKE2008 fake roms in
coreboot menuconfig instead, defining them as paths to /dev/null,
so as to still insert empty ROMs (while not calling cbfstool
from cbmk, instead relying on the coreboot build system).

Also merged these GRUB fixes from Libreboot:

d44c9551c5e7456c2caa4a2815d33ff978dc55ef
build/roms: regression fix: uninitialised variable

df007d22ec801679b5e8f43ee861b78515518ce2
build/roms: err if -k layout doesn't exist

37817e6bcb7c7272d7c70c3afe89a5b3b2604824
GRUB: insert only 1 keymap per board, in cbfs
(instead of memdisk, and use compressed .gkb files)

This essentially syncs with lbmk up to commit:
3e7e0c7d4881a187f82404beb34a2cd014a409f8

Signed-off-by: Leah Rowe <info@minifree.org>
2024-01-21 14:39:51 +00:00
Leah Rowe 102ce12cea rebase cbmk 9429287 per lbmk c4d90087..f5b04fa5
cbmk 9429287 is the present canoeboot revision, on this day,
two commits after canoeboot 20231107

the cbmk revision was based on lbmk c4d90087, but lbmk
has developed a lot since, right up to f5b04fa5. lbmk
c4d90087 was four commits after libreboot 20231106

this patch brings cbmk up to date, versus lbmk f5b04fa5,
which is 135 commits after libreboot 20231106 (not 4)

therefore, the next canoeboot release shall import lbmk
changes made *after* lbmk revision f5b04fa5. good day!

In English (the above is for my reference, next time
I make a new canoeboot release):

This imports all of the numerous improvements from
Libreboot, sans the non-FSDG-compliant changes. You
can find a full list of such changes in the audit4 page:

https://libreboot.org/news/audit4.html

A full canoeboot-ised changelog will be available in
the next canoeboot release, with these and subsequent
changes. Most notable here is the update to the new
GRUB 2.12 release (instead of 2.12-rc1), and the
improvements Riku made to pico-serprog. And the build
system improvements from lbmk, such as improved, more
generic cmake and autoconf handling.

Canoeboot-specific changes: I also tweaked the deblob
logic, to make it less error-prone. The new design
changes imported into cbmk (based on latest lbmk) somewhat
broke the deblob logic; it was constantly reminding the
user that blobs.list was missing for coreboot,
at config/coreboot/blobs.list - coreboot is a multi-tree
project in both cbmk and lbmk, and the deblob logic was
tuned for single/multi, but was treating coreboot as both.
for simplicity, i removed the check for whether blobs.list
is present. this means that the operator must ensure that
these files are present, in any given revision, where they
are required on a given set of projects (and the files are
all present, in this update to cbmk)

Also of note: the grub.cfg improvements are included in this
cbmk update. The improved grub.cfg can find grub/syslinux
configs by default, not just grub anymore, also finds extlinux,
and will also find them on EFI System Partition - in addition,
UEFI-based install media is also more robust; although cbmk
doesn't provide UEFI configurations on x86, our GRUB palyoad
does still need to work with distro install media, and many
of them now use UEFI-based GRUB configurations in their
installation media, which just happen to work with our GRUB

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-02 11:55:45 +00:00
Leah Rowe 6adbc8680f Canoeboot 20231107 release
changes after libreboot 20231101 were imported,
up to libreboot 20231106, and then to revision:
c4d90087535617d4fb31ca94803f9426010cfec5

i945 and gm45 configs were re-done, and dell e6400
was moved to its own tree with the ddr2 fix moved
there, to prevent breakage on ddr3-based gm45 boards
(look at libreboot 20231106 for more info)

several fixes are present in this canoeboot release,
that were only merged in libreboot *after* the
libreboot 20231106 release, and they are:

* c4d90087 add grub mods: diskfilter,hashsum,loadenv,setjmp
* d0d6decb re-add grub modules: f2fs, json, read, scsi, sleep
* 86608721 nvmutil: print usage
* f12f5c3a nvmutil: fix makefile

the release documentation has also been updated,
pulling down newer cbwww and cbwww-img based on
the new canoeboot 20231107 release announcement

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-11-07 17:19:04 +00:00
Leah Rowe 75636d4338 Canoeboot 20231103
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-11-03 18:37:59 +00:00
Leah Rowe 8db1b6da37 delete overlooked blobs in src/pico-sdk
thanks go to craig topman for finding these!

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-11-03 17:40:08 +00:00
Leah Rowe b78ac6bf83 Canoeboot 20231101
Pull all suitable changes from Libreboot 20231101.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-11-01 16:34:22 +00:00
Leah Rowe 58ec3ca34f Canoeboot 20231026 release
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-27 08:21:04 +01:00