summaryrefslogtreecommitdiffstats
path: root/resources/scripts/helpers/build/config
diff options
context:
space:
mode:
authorFrancis Rowe <info@gluglug.org.uk>2016-03-14 15:33:41 (EDT)
committer Francis Rowe <info@gluglug.org.uk>2016-03-14 16:22:41 (EDT)
commit2b82b7ca087cc0045c5521449338076445bd1f52 (patch)
treed8cbf631ac80cca0819547c72a9d467b052ec95e /resources/scripts/helpers/build/config
parent04f9d1207dd1257889316ba368f62f5ff7444995 (diff)
downloadlibreboot-2b82b7ca087cc0045c5521449338076445bd1f52.zip
libreboot-2b82b7ca087cc0045c5521449338076445bd1f52.tar.gz
libreboot-2b82b7ca087cc0045c5521449338076445bd1f52.tar.bz2
Add SeaBIOS payload to libreboot
Diffstat (limited to 'resources/scripts/helpers/build/config')
-rwxr-xr-xresources/scripts/helpers/build/config/seabiosmodify38
-rwxr-xr-xresources/scripts/helpers/build/config/seabiosrommodify72
-rwxr-xr-xresources/scripts/helpers/build/config/seabiosromreplace63
-rwxr-xr-xresources/scripts/helpers/build/config/seabiosromupdate72
-rwxr-xr-xresources/scripts/helpers/build/config/seabiosupdate36
5 files changed, 281 insertions, 0 deletions
diff --git a/resources/scripts/helpers/build/config/seabiosmodify b/resources/scripts/helpers/build/config/seabiosmodify
new file mode 100755
index 0000000..b31ef12
--- /dev/null
+++ b/resources/scripts/helpers/build/config/seabiosmodify
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+#
+# helper script: update the seabios config
+#
+# Copyright (C) 2014, 2015 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
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+# This script assumes that the working directory is the root
+# of libreboot_src or git
+
+[ "x${DEBUG+set}" = 'xset' ] && set -v
+set -u -e
+
+(
+cd "seabios/"
+
+if [ -f "../resources/seabios/config/config" ]; then
+ cp "../resources/seabios/config/config" ".config"
+fi
+
+make menuconfig
+
+mv ".config" "../resources/seabios/config/config"
+)
diff --git a/resources/scripts/helpers/build/config/seabiosrommodify b/resources/scripts/helpers/build/config/seabiosrommodify
new file mode 100755
index 0000000..e653429
--- /dev/null
+++ b/resources/scripts/helpers/build/config/seabiosrommodify
@@ -0,0 +1,72 @@
+#!/bin/bash
+
+#
+# helper script: run "make menuconfig" on config(s) to modify them
+#
+# 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
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+# This script assumes that the working directory is the root
+# of libreboot_src or git
+
+[ "x${DEBUG+set}" = 'xset' ] && set -v
+set -u -e
+
+payload="seabios"
+configpath="resources/libreboot/config/${payload}"
+
+hackconfig () {
+ board="${1}"
+ cbrevision="$(cat ${configpath}/${board}/cbrevision)"
+ vbootrevision="$(cat ${configpath}/${board}/vbootrevision)"
+(
+ cd "coreboot/${cbrevision}/${cbrevision}/"
+ git checkout ${payload}_${board}
+ (
+ cd "3rdparty/vboot/"
+ git checkout ${payload}_${board}
+ )
+
+ printf "Modifying config for %s (%s payload)\n" "${board}" "${payload}"
+ sleep 2
+
+ if [ ! -d "../../../${configpath}/${board}/" ]; then
+ printf "build/config/seabiosmodify WARNING: config '%s' does not exist. Skipping.\n" "${board}"
+ git checkout master
+ (
+ cd "3rdparty/vboot/"
+ git checkout master
+ )
+ return
+ fi
+
+ mv "../../../${configpath}/${board}/config" ".config"
+ make menuconfig
+ mv ".config" "../../../${configpath}/${board}/config"
+
+ git checkout master
+ (
+ cd "3rdparty/vboot/"
+ git checkout master
+ )
+)
+}
+
+if [ $# -lt 1 ]; then
+ for config in ${configpath}/*; do hackconfig "${config##*/}"; done
+else
+ for config in "${@}"; do hackconfig "${config}"; done
+fi
diff --git a/resources/scripts/helpers/build/config/seabiosromreplace b/resources/scripts/helpers/build/config/seabiosromreplace
new file mode 100755
index 0000000..ec2359b
--- /dev/null
+++ b/resources/scripts/helpers/build/config/seabiosromreplace
@@ -0,0 +1,63 @@
+#!/bin/bash
+
+#
+# helper script: run "make menuconfig" on config(s) to replace them
+#
+# 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
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+# This script assumes that the working directory is the root
+# of libreboot_src or git
+
+[ "x${DEBUG+set}" = 'xset' ] && set -v
+set -u -e
+
+payload="seabios"
+configpath="resources/libreboot/config/${payload}"
+
+hackconfig () {
+ board="${1}"
+ cbrevision="$(cat ${configpath}/${board}/cbrevision)"
+ vbootrevision="$(cat ${configpath}/${board}/vbootrevision)"
+(
+ cd "coreboot/${cbrevision}/${cbrevision}/"
+ git checkout ${payload}_${board}
+ (
+ cd "3rdparty/vboot/"
+ git checkout ${payload}_${board}
+ )
+
+ printf "Replacing or creating new config for %s (%s payload)\n" "${board}" "${payload}"
+ sleep 2
+
+ make menuconfig
+
+ [ ! -d "../../../${configpath}/${board}/" ] && mkdir -p "../../../${configpath}/${board}/"
+ mv ".config" "../../../${configpath}/${board}/config"
+
+ git checkout master
+ (
+ cd "3rdparty/vboot/"
+ git checkout master
+ )
+)
+}
+
+if [ $# -lt 1 ]; then
+ for config in ${configpath}/*; do hackconfig "${config##*/}"; done
+else
+ for config in "${@}"; do hackconfig "${config}"; done
+fi
diff --git a/resources/scripts/helpers/build/config/seabiosromupdate b/resources/scripts/helpers/build/config/seabiosromupdate
new file mode 100755
index 0000000..cf090aa
--- /dev/null
+++ b/resources/scripts/helpers/build/config/seabiosromupdate
@@ -0,0 +1,72 @@
+#!/bin/bash
+
+#
+# helper script: run "make oldconfig" on all coreboot config files
+#
+# 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
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+# This script assumes that the working directory is the root
+# of libreboot_src or git
+
+[ "x${DEBUG+set}" = 'xset' ] && set -v
+set -u -e
+
+payload="seabios"
+configpath="resources/libreboot/config/${payload}"
+
+hackconfig () {
+ board="${1}"
+ cbrevision="$(cat ${configpath}/${board}/cbrevision)"
+ vbootrevision="$(cat ${configpath}/${board}/vbootrevision)"
+(
+ cd "coreboot/${cbrevision}/${cbrevision}/"
+ git checkout ${payload}_${board}
+ (
+ cd "3rdparty/vboot/"
+ git checkout ${payload}_${board}
+ )
+
+ printf "Updating config for %s (%s payload)\n" "${board}" "${payload}"
+ sleep 2
+
+ if [ ! -d "../../../${configpath}/${board}/" ]; then
+ printf "build/config/seabiosupdate WARNING: config '%s' does not exist. Skipping.\n" "${board}"
+ git checkout master
+ (
+ cd "3rdparty/vboot/"
+ git checkout master
+ )
+ return
+ fi
+
+ mv "../../../${configpath}/${board}/config" ".config"
+ make oldconfig
+ mv ".config" "../../../${configpath}/${board}/config"
+
+ git checkout master
+ (
+ cd "3rdparty/vboot/"
+ git checkout master
+ )
+)
+}
+
+if [ $# -lt 1 ]; then
+ for config in ${configpath}/*; do hackconfig "${config##*/}"; done
+else
+ for config in "${@}"; do hackconfig "${config}"; done
+fi
diff --git a/resources/scripts/helpers/build/config/seabiosupdate b/resources/scripts/helpers/build/config/seabiosupdate
new file mode 100755
index 0000000..d73d665
--- /dev/null
+++ b/resources/scripts/helpers/build/config/seabiosupdate
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+#
+# helper script: update the seabios config
+#
+# Copyright (C) 2014, 2015 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
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+# This script assumes that the working directory is the root
+# of libreboot_src or git
+
+[ "x${DEBUG+set}" = 'xset' ] && set -v
+set -u -e
+
+(
+cd seabios/
+
+if [ -f ../resources/seabios/config/config ]; then
+ cp ../resources/seabios/config/config .config
+ make oldconfig
+ mv .config ../resources/seabios/config/config
+fi
+)