summaryrefslogtreecommitdiffstats
path: root/resources/utilities/coreboot-libre/deblob
diff options
context:
space:
mode:
authorFrancis Rowe <info@gluglug.org.uk>2016-01-02 17:10:32 (EST)
committer Francis Rowe <info@gluglug.org.uk>2016-01-04 15:28:39 (EST)
commitd1f408f3725aa02bc1d76c4c6aadb4697bd073c0 (patch)
tree7eed036543ae1f8c57b56825880a722a8efbedf1 /resources/utilities/coreboot-libre/deblob
parent91aec7e72005dcda72d19f2d024a02d8c0f86590 (diff)
downloadlibreboot-d1f408f3725aa02bc1d76c4c6aadb4697bd073c0.zip
libreboot-d1f408f3725aa02bc1d76c4c6aadb4697bd073c0.tar.gz
libreboot-d1f408f3725aa02bc1d76c4c6aadb4697bd073c0.tar.bz2
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/utilities/coreboot-libre/deblob')
-rwxr-xr-xresources/utilities/coreboot-libre/deblob166
1 files changed, 44 insertions, 122 deletions
diff --git a/resources/utilities/coreboot-libre/deblob b/resources/utilities/coreboot-libre/deblob
index 882bab0..61b3e4b 100755
--- a/resources/utilities/coreboot-libre/deblob
+++ b/resources/utilities/coreboot-libre/deblob
@@ -2,7 +2,7 @@
# DEBLOB script: deblobs the version of coreboot used for this release.
#
-# Copyright (C) 2014, 2015 Francis Rowe <info@gluglug.org.uk>
+# Copyright (C) 2014, 2015, 2016 Francis Rowe <info@gluglug.org.uk>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -26,127 +26,49 @@ set -u -e
printf "Deleting blobs in coreboot\n"
-cd "coreboot/"
-
-# ---------------------
-# AMD: CPU microcode updates
-# ---------------------
-rm -f \
-"src/vendorcode/amd/agesa/f15/Proc/CPU/Family/0x10/RevC/F10MicrocodePatch01000085.c" \
-"src/vendorcode/amd/agesa/f15/Proc/CPU/Family/0x10/RevC/F10MicrocodePatch010000c7.c" \
-"src/vendorcode/amd/agesa/f15/Proc/CPU/Family/0x10/RevC/F10MicrocodePatch010000c6.c" \
-"src/vendorcode/amd/agesa/f15/Proc/CPU/Family/0x10/RevC/F10MicrocodePatch010000c8.c" \
-"src/vendorcode/amd/agesa/f15/Proc/CPU/Family/0x10/RevD/F10MicrocodePatch010000d9.c" \
-"src/vendorcode/amd/agesa/f15/Proc/CPU/Family/0x10/RevD/F10MicrocodePatch010000c5.c" \
-"src/vendorcode/amd/agesa/f15/Proc/CPU/Family/0x10/RevE/F10MicrocodePatch010000bf.c" \
-"src/vendorcode/amd/agesa/f15/Proc/CPU/Family/0x15/OR/F15OrMicrocodePatch06000624_Enc.c" \
-"src/vendorcode/amd/agesa/f15/Proc/CPU/Family/0x15/OR/F15OrMicrocodePatch0600050D_Enc.c" \
-"src/vendorcode/amd/agesa/f15/Proc/CPU/Family/0x15/OR/F15OrMicrocodePatch06000425.c" \
-"src/vendorcode/amd/agesa/f15tn/Proc/CPU/Family/0x15/TN/F15TnMicrocodePatch0600110F_Enc.c" \
-"src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x10/RevC/F10MicrocodePatch01000085.c" \
-"src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x10/RevC/F10MicrocodePatch010000c7.c" \
-"src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x10/RevC/F10MicrocodePatch010000c6.c" \
-"src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x10/RevC/F10MicrocodePatch010000c8.c" \
-"src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x10/RevD/F10MicrocodePatch010000c4.c" \
-"src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x10/RevD/F10MicrocodePatch010000c5.c" \
-"src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x10/RevE/F10MicrocodePatch010000bf.c" \
-"src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch0500000B.c" \
-"src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch0500001A.c" \
-"src/vendorcode/amd/agesa/f12/Proc/CPU/Family/0x10/RevC/F10MicrocodePatch01000085.c" \
-"src/vendorcode/amd/agesa/f12/Proc/CPU/Family/0x10/RevC/F10MicrocodePatch010000c6.c" \
-"src/vendorcode/amd/agesa/f12/Proc/CPU/Family/0x10/RevC/F10MicrocodePatch010000c8.c" \
-"src/vendorcode/amd/agesa/f12/Proc/CPU/Family/0x10/RevD/F10MicrocodePatch010000c4.c" \
-"src/vendorcode/amd/agesa/f12/Proc/CPU/Family/0x10/RevD/F10MicrocodePatch010000c5.c" \
-"src/vendorcode/amd/agesa/f12/Proc/CPU/Family/0x10/RevE/F10MicrocodePatch010000bf.c" \
-"src/vendorcode/amd/agesa/f12/Proc/CPU/Family/0x12/F12MicrocodePatch03000002.c" \
-"src/vendorcode/amd/agesa/f12/Proc/CPU/Family/0x12/F12MicrocodePatch0300000f.c" \
-"src/vendorcode/amd/agesa/f12/Proc/CPU/Family/0x12/F12MicrocodePatch0300000e.c" \
-"src/vendorcode/amd/agesa/f12/Proc/CPU/Family/0x10/RevC/F10MicrocodePatch010000c7.c" \
-"src/vendorcode/amd/agesa/f10/Proc/CPU/Family/0x10/RevC/F10MicrocodePatch01000085.c" \
-"src/vendorcode/amd/agesa/f10/Proc/CPU/Family/0x10/RevC/F10MicrocodePatch010000b6.c" \
-"src/vendorcode/amd/agesa/f10/Proc/CPU/Family/0x10/RevC/F10MicrocodePatch01000098.c" \
-"src/vendorcode/amd/agesa/f10/Proc/CPU/Family/0x10/RevC/F10MicrocodePatch01000086.c" \
-"src/vendorcode/amd/agesa/f10/Proc/CPU/Family/0x10/RevD/F10MicrocodePatch010000c4.c" \
-"src/vendorcode/amd/agesa/f10/Proc/CPU/Family/0x10/RevD/F10MicrocodePatch010000c5.c" \
-"src/vendorcode/amd/agesa/f16kb/Proc/CPU/Family/0x16/KB/F16KbId7001MicrocodePatch.c" \
-"src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch05000029.c" \
-"src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch05000119.c"
-
-# -------------------------------------
-# AMD AGESA: SMU firmware
-# -------------------------------------
-rm -f \
-"src/vendorcode/amd/agesa/f12/Proc/GNB/Nb/Family/LN/F12NbSmuFirmware.h" \
-"src/vendorcode/amd/agesa/f14/Proc/GNB/Nb/Family/0x14/F14NbSmuFirmware.h" \
-"src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbSmuFirmwareKB.h" \
-"src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/GnbSmuFirmwareTN.h"
-
-# -------------------------------------
-# AMD vendorcode: SCS Binary
-# -------------------------------------
-rm -f \
-"src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/excel925.h"
-
-# -------------------------------------
-# AMD vendorcode: GNB CAC weights table <-- TODO: Is this really a blob? Does it really need to be deleted by libreboot?
-# -------------------------------------
-rm -f \
-"src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/GnbCacWeightsTN.h"
-
-# -------------------------------------
-# AMD vendorcode: SAMU firmware
-# -------------------------------------
-rm -f \
-"src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbSamuPatchKB.h"
-
-# -------------------------------------
-# AMD vendorcode: Hotplug firmware
-# -------------------------------------
-rm -f \
-"src/vendorcode/amd/cimx/rd890/HotplugFirmware.h"
-
-# -------------------------------------
-# keyboard controller firmware (8051 assembly)
-# for the DMP Vortex86ex SoC
-# -------------------------------------
-rm -f \
-"src/cpu/dmp/vortex86ex/dmp_kbd_fw_part1.inc"
-
-# -------------------------------------
-# DSDT/SSDT (pre-coreboot/compiled blobs)
-# -------------------------------------
-rm -f \
-"src/vendorcode/amd/agesa/f14/Proc/GNB/PCIe/Family/0x14/F14PcieAlibSsdt.h" \
-"src/vendorcode/amd/agesa/f12/Proc/GNB/PCIe/Family/LN/F12PcieAlibSsdt.h" \
-"src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/AlibSsdtKB.h" \
-"src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/PcieAlibSsdtTNFM2.h" \
-"src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/PcieAlibSsdtTNFS1.h"
-
-# ------------------------
-# Blobs in 3rdparty/vboot/
-# ------------------------
-
-rm -f \
-"3rdparty/vboot/tests/futility/data/bios_link_mp.bin" \
-"3rdparty/vboot/tests/futility/data/bios_mario_mp.bin" \
-"3rdparty/vboot/tests/futility/data/bios_peppy_mp.bin" \
-"3rdparty/vboot/tests/futility/data/bios_zgb_mp.bin" \
-"3rdparty/vboot/tests/futility/data/dingdong.signed" \
-"3rdparty/vboot/tests/futility/data/dingdong.unsigned" \
-"3rdparty/vboot/tests/futility/data/fw_gbb.bin" \
-"3rdparty/vboot/tests/futility/data/fw_vblock.bin" \
-"3rdparty/vboot/tests/futility/data/hoho.signed" \
-"3rdparty/vboot/tests/futility/data/hoho.unsigned" \
-"3rdparty/vboot/tests/futility/data/kern_preamble.bin" \
-"3rdparty/vboot/tests/futility/data/minimuffin.signed" \
-"3rdparty/vboot/tests/futility/data/minimuffin.unsigned" \
-"3rdparty/vboot/tests/futility/data/rec_kernel_part.bin" \
-"3rdparty/vboot/tests/futility/data/vmlinuz-amd64.bin" \
-"3rdparty/vboot/tests/futility/data/vmlinuz-arm.bin" \
-"3rdparty/vboot/tests/futility/data/zinger_mp_image.bin" \
-"3rdparty/vboot/tests/futility/data/zinger.signed" \
-"3rdparty/vboot/tests/futility/data/zinger.unsigned"
+if [ ! -d "coreboot/" ]; then
+ printf "coreboot-libre deblob: no coreboot directory exists, so there is nothing to deblob\n"
+fi
+
+for payloads in "coreboot/"*; do
+
+ if [ ! -d "${payloads}/" ]; then
+ continue
+ fi
+
+ payload="${payloads##*/}"
+
+ for boards in "coreboot/${payload}/"*; do
+
+ if [ ! -d "${boards}/" ]; then
+ continue
+ fi
+
+ board="${boards##*/}"
+ boardpath="coreboot/${payload}/${board}"
+ if [ "${payload}" = "crossgcc" ]; then
+ cbrevision="${board}"
+ else
+ cbrevision="$(cat "resources/libreboot/config/${payload}/${board}/cbrevision")"
+ fi
+
+ # deblob coreboot
+ for blob in $(cat "resources/utilities/coreboot-libre/blobs/coreboot/${cbrevision}/blobs.list"); do
+ rm -f "${boardpath}/${blob}"
+ done
+
+ # deblob 3rdparty
+ # only non-crossgcc archives have 3rdparty (vboot) present.
+ if [ "${payload}" != "crossgcc" ]; then
+ vbootrevision="$(cat "resources/libreboot/config/${payload}/${board}/vbootrevision")"
+ # deblob 3rdparty
+ for blob in $(cat "resources/utilities/coreboot-libre/blobs/vboot/${vbootrevision}/blobs.list"); do
+ rm -f "${boardpath}/${blob}"
+ done
+ fi
+
+ done
+done
printf "\n\n"
-cd "../"