Files
lbmk/resources/git/revisions
Leah Rowe e5b898f6cb consolidate u-boot/seabios/coreboot build scripts
See file:
resources/scripts/build/defconfig/for
It is based on:
resources/scripts/build/payload/u-boot

The u-boot payload script has been deleted, as has the
seabios payload script; the build/boot/roms logic has
been heavily simplified too, by removing the logic for
building of elf files based on defconfig.

SeaBIOS, U-Boot and coreboot all use defconfig-type
infrastructure for their build systems, and they are
fundamentally the *same* in how to compile each codebase,
at least in an lbmk context, regardless of actual (and
very huge) differences in these codebases.

Several hundred sources-lines of code have been eliminated
by this change, drastically simplifying everything; U-Boot
payload compiling also now errors out when a single build
fails, instead of continuing. Also: build/boot/roms no longer
re-compiles a coreboot target that was already compiled,
which is the same behaviour observed for payloads.

(this means you must now manually delete a target, when you
wish to re-build it; the build/boot/roms logic now more or
less just runs cbfstool; blobutil is handled from
build/defconfig/for)

ALSO: Since crossgcc is now handled by build/defconfig/for, not
build/boot/roms, standalone compiling of u-boot is now possible.
This has been tested. You compile it like so:
./build defconfig for u-boot
or specific trees, e.g.
./build defconfig for u-boot default

One other consequence of this patch is that re-building the same
ROM image is now much faster, because the same builds are re-used
unless deleted. This could be useful when testing grub.cfg changes,
for example, if that's all you change. With things like ccache used
(not yet used robustly in lbmk), this could speed things up more,
depending on the codebase.

This patch demonstrates the raw power of lbmk; it is a very
simple and highly efficient build system, and now much more so!

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-08-19 23:18:32 +01:00

79 lines
1.9 KiB
Plaintext

# This file contains information needed for getting the correct versions
# for various git projects used by osbmk.
# Project name is enclosed by curly braces '{}' information about the
# project relevant to osbmk is stored between the subsequent curly
# braces. This file is used by the gitcheck script as well as the
# fetch script. Each entry must include: revision 'rev', location
# 'loc', and the git url 'url'. Bkup_url is optional.
{coreboot}{
rev: HEAD
loc: coreboot/coreboot
url: https://review.coreboot.org/coreboot
bkup_url: https://github.com/coreboot/coreboot.git
}
{u-boot}{
rev: HEAD
loc: u-boot/u-boot
url: https://source.denx.de/u-boot/u-boot.git
bkup_url: https://github.com/u-boot/u-boot.git
}
{grub}{
rev: 7a994c87f571ac99745645be0bdde9827297321a
loc: grub
url: git://git.savannah.gnu.org/grub.git
bkup_url: http://git.savannah.gnu.org/r/grub.git
depend: gnulib
}
{gnulib}{
rev: 9f48fb992a3d7e96610c4ce8be969cff2d61a01b
loc: grub/gnulib
url: git://git.sv.gnu.org/gnulib
}
{me_cleaner}{
rev: 43612a630c79f3bc6f2653bfe90dfe0b7b137e08
loc: me_cleaner
url: https://github.com/corna/me_cleaner.git
}
{memtest86plus}{
rev: a78401b9704cfdd49c89bfb31d2df08f60521d0b
loc: memtest86plus
url: https://review.coreboot.org/memtest86plus.git
}
{seabios}{
rev: HEAD
loc: seabios/seabios
url: https://review.coreboot.org/seabios
bkup_url: https://github.com/coreboot/seabios
}
{flashrom}{
rev: 11680db4e1251eb842bee11e53b6d1f0ae67767b
loc: flashrom
url: https://review.coreboot.org/flashrom.git
}
{bios_extract}{
rev: 0a7bc1d71735ef97b00dfec0fd54a02fcc5d1bb0
loc: bios_extract
url: https://review.coreboot.org/bios_extract
}
{biosutilities}{
rev: 03ae0cf0706ede5a2a15da0986c19c776d0e6b26
loc: biosutilities
url: https://github.com/platomav/BIOSUtilities
}
{uefitool}{
rev: 4a41c33596e9bc3ae812e763965d91ac57553e02
loc: uefitool
url: https://github.com/LongSoft/UEFITool
}