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>
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>
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>
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>
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>
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>