diff options
author | Francis Rowe <info@gluglug.org.uk> | 2016-01-02 22:10:32 +0000 |
---|---|---|
committer | Francis Rowe <info@gluglug.org.uk> | 2016-01-04 20:28:39 +0000 |
commit | d1f408f3725aa02bc1d76c4c6aadb4697bd073c0 (patch) | |
tree | 7eed036543ae1f8c57b56825880a722a8efbedf1 /resources/scripts/helpers/build/module/coreboot | |
parent | 91aec7e72005dcda72d19f2d024a02d8c0f86590 (diff) | |
download | librebootfr-d1f408f3725aa02bc1d76c4c6aadb4697bd073c0.tar.gz librebootfr-d1f408f3725aa02bc1d76c4c6aadb4697bd073c0.zip |
Use different coreboot revisions and patches per board
The release archives will be bigger, but this is a necessary change
that makes libreboot development easier.
At present, there are boards maintained in libreboot by different
people. By doing it this way, that becomes much easier. This is in
contrast to the present situation, where a change to one board
potentially affects all other boards, especially when updating to
a new version of coreboot.
Coreboot-libre scripts, download scripts, build scripts - everything.
The entire build system has been modified to reflect this change
of development.
For reasons of consistency, cbfstool and nvramtool are no longer
included in the util archives.
Diffstat (limited to 'resources/scripts/helpers/build/module/coreboot')
-rwxr-xr-x | resources/scripts/helpers/build/module/coreboot | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/resources/scripts/helpers/build/module/coreboot b/resources/scripts/helpers/build/module/coreboot index eb99c25c..07659cdd 100755 --- a/resources/scripts/helpers/build/module/coreboot +++ b/resources/scripts/helpers/build/module/coreboot @@ -2,7 +2,7 @@ # helper script: builds the dependencies that coreboot needs before building a ROM image # -# Copyright (C) 2014, 2015 Francis Rowe <info@gluglug.org.uk> +# Copyright (C) 2014, 2015, 2016 Francis Rowe <info@gluglug.org.uk> # Copyright (C) 2015 Klemens Nanni <contact@autoboot.org> # # This program is free software: you can redistribute it and/or modify @@ -30,13 +30,28 @@ set -u -e printf "Building the utilities in coreboot\n" -# crossgcc -# coreboot on x86 is 32-bit, so only build for i386. Also build for ARM -for architecture in i386 arm; do - make -j$(nproc) -BC coreboot crossgcc-${architecture} -done +# clean coreboot and crossgcc (source archives preserved) +for payload in coreboot/*; do + for board in "${payload}/"*; do + + if [ "${payload##*/}" = "crossgcc" ]; then # build crossgcc + + for architecture in i386 arm; do + make -j$(nproc) -BC "${board}/" crossgcc-${architecture} + done + else # build other utils + # cbfstool, cbmem, nvramtool + for util in {cbfs,nvram}tool cbmem; do + make -BC "${board}/util/${util}" + done + # create symlink to crossgcc + ( + boardconfig_path="resources/libreboot/config/${payload##*/}/${board##*/}" + cbrevision="$(cat "${boardconfig_path}/cbrevision")" + cd "${board}/util/" + ln -s "../../../crossgcc/${cbrevision}/util/crossgcc/" crossgcc + ) + fi -# cbfstool, cbmem, nvramtool -for util in {cbfs,nvram}tool cbmem; do - make -BC coreboot/util/${util} + done done |