Age | Commit message (Collapse) | Author |
|
|
|
|
|
main first
usage last
|
|
|
|
|
|
yes, i know 3676 supersedes 2646
i still say 2646
saying 2646 is still technically valid,
for my purposes
|
|
|
|
top-down logic, main() on top
moved some hardcoded strings to variables
|
|
|
|
consistent indentation, and 80-line character limit
(RFC 2646)
top-down order, a main() is introduced, split into
more functions
non-zero-status exit (with message) now, when a non-
defined target is provided, e.g. nonexistentboard_4mb
puffy!
|
|
the cbfstool command within subshell now also
exits with non-zero status, if it fails (most
likely because extraction failed, for some reason,
of the coreboot rom image for running through it)
|
|
the previous code merely exited from the subshell,
but the intended behaviour is for the entire script
to halt execution, and exit with non-zero status.
this patch fixes that bug.
|
|
top-down order for all logic, and shorter code lines,
conforming to rfc 2646 (no more than 80 characters)
the 80-character rule is violated for variables containing
long strings, such as wayback machine urls (can't be helped)
a few bugs were discovered, which will be fixed in follow-up
revisions, such as:
* exit status not handled inside subshell
* in general, exit status should be handled
more explicitly, rather than relying on -e
|
|
for our purposes, grub and gnulib are one in the same
if one fails, both have failed
exit with non-zero status if gnulib fails
the script sets -e so it will fail if grub fails to
download, which is tried before gnulib, and if that
happens, the grub directory is not created
|
|
|
|
also moved hardcoded strings into variables
|
|
|
|
|
|
removed hardcoded strings, put them in variables
use easier to read lowercase for function names
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i left this here by accident when testing something
during work on a prior revision
|
|
the old code was specifing an absolute offset for
insertion of mrc.bin - cbfstool interprets anything
above 0x80000000 as top-aligned memory address in
x86, and anything below as an obsolute offset in
the flash, like with the old number
where a top-aligned address is provided to cbfstool,
the absolute position is calculated for the flash,
and cbfstool inserts it in the correct rom location
the benefit of this change is that the absolute
offset is now calculated automatically, which means
that the code will be correct even if the flash
size changes. for example, if 16MB flash is used
whereas 12MB is currently the default an support
haswell hardware
coreboot does not provide anything readably like
Kconfig, for extracting this value. it's baked
into the source code of coreboot, so you have to
find it. the correct location is hardcoded for
each platform, and always the same on each platform,
regardless of mainboard
|
|
|
|
top-down function order, with specific functions for
each type of blob. startup logic moved into main(),
also split into smaller functions
"write one program that does one thing well"
blobutil is like that, and has this added philosophy:
"write one function that does one thing well"
during the course of this re-factoring, several bugs
and issues were found, that are pre-existing. these
will be corrected in follow-up revisions
|
|
similar to the previous revision
|
|
similar to the previous revision
|
|
same as build/boot/roms
|
|
|
|
use make -BC instead of cd
|
|
i added this in the last revision
it was put there to debug something that
i fixed before pushing
|
|
|
|
bs 12k and count 1, rather than bs 1 and count 12k
|
|
|
|
|
|
this cuttype is no longer used
lbmk creates truncated me setups now, on ifd platforms
|
|
|
|
the logic can now more or less be read chronologically
|
|
logic will be split from main into smaller
functions, in follow-up commits
|
|
consolidated some for loops
removed errant code
|
|
|
|
|
|
|
|
No more than 80 characters per line.
|
|
previously, "normal" initmode relied on the vgarom-based
seabios config, which enables option roms, but then lbmk
would insert pci-optionrom-exec 0 for vgarom, and 2 for normal
in libreboot, coreboot roms with "vgarom" in the filename do
pci option rom execution from coreboot, and "normal" roms
do execution from seabios(where seabios is the only payload
provided on normal setups)
this is because payloads like grub can also be used, on vgarom
setups, where coreboot must handle oprom execution
|