summaryrefslogtreecommitdiff
path: root/resources/scripts/build/payload
diff options
context:
space:
mode:
Diffstat (limited to 'resources/scripts/build/payload')
-rwxr-xr-xresources/scripts/build/payload/grub22
-rwxr-xr-xresources/scripts/build/payload/seabios84
-rwxr-xr-xresources/scripts/build/payload/u-boot179
3 files changed, 11 insertions, 274 deletions
diff --git a/resources/scripts/build/payload/grub b/resources/scripts/build/payload/grub
index 0734f8a9..636e9f3e 100755
--- a/resources/scripts/build/payload/grub
+++ b/resources/scripts/build/payload/grub
@@ -34,12 +34,12 @@ main()
./fetch grub
[ ! -f "grub/grub-mkstandalone" ] && \
./build module grub
- [ ! -d "payload/" ] && \
- mkdir -p payload/
- [ ! -d "payload/grub" ] && \
- mkdir -p payload/grub/
+ [ ! -d "elf/" ] && \
+ mkdir -p elf/
+ [ ! -d "elf/grub" ] && \
+ mkdir -p elf/grub/
- rm -f payload/grub/*
+ rm -f elf/grub/*
# Separate GRUB payload per keymap to save space in ROM.
@@ -47,7 +47,7 @@ main()
build_grub_payloads "${keylayoutfile}"
done
- printf "Done! Check payload/grub/ to see the files.\n\n"
+ printf "Done! Check elf/grub/ to see the files.\n\n"
}
build_grub_payloads()
@@ -63,7 +63,7 @@ build_grub_payloads()
build_grub_elf "${keylayoutfile}"
create_grub_config
- printf "Created 'payload/grub/grub_%s.elf' and configs.'\n" \
+ printf "Created 'elf/grub/grub_%s.elf' and configs.'\n" \
"${keymap}"
}
@@ -77,7 +77,7 @@ build_grub_elf()
grub/grub-mkstandalone \
--grub-mkimage="grub/grub-mkimage" \
-O i386-coreboot \
- -o payload/grub/grub_${keymap}.elf \
+ -o elf/grub/grub_${keymap}.elf \
-d grub/grub-core/ \
--fonts= --themes= --locales= \
--modules="${grub_modules}" \
@@ -89,10 +89,10 @@ create_grub_config()
{
sed "s/usqwerty/${keymap}/" \
< ${grubcfgsdir}/config/grub.cfg \
- > payload/grub/grub_${keymap}.cfg
+ > elf/grub/grub_${keymap}.cfg
sed "s/grubtest.cfg/grub.cfg/" \
- < payload/grub/grub_${keymap}.cfg \
- > payload/grub/grub_${keymap}_test.cfg
+ < elf/grub/grub_${keymap}.cfg \
+ > elf/grub/grub_${keymap}_test.cfg
}
main $@
diff --git a/resources/scripts/build/payload/seabios b/resources/scripts/build/payload/seabios
deleted file mode 100755
index 43973109..00000000
--- a/resources/scripts/build/payload/seabios
+++ /dev/null
@@ -1,84 +0,0 @@
-#!/usr/bin/env sh
-
-# helper script: builds SeaBIOS source code
-#
-# Copyright (C) 2020, 2021, 2023 Leah Rowe <info@minifree.org>
-# Copyright (C) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
-#
-# 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/>.
-#
-
-[ "x${DEBUG+set}" = 'xset' ] && set -v
-set -u -e
-
-payloaddir="payload/seabios"
-seabios_elf="seabios/out/bios.bin.elf"
-seavgabios="seabios/out/vgabios.bin"
-
-main()
-{
- printf "Building SeaBIOS payloads and SeaVGABIOS\n"
-
- check_dependencies
-
- for x in normal vgarom libgfxinit; do
- build_seabios_elf "${x}"
- done
-
- # clean it again. gotta keep it clean!
- if [ -f seabios/Makefile ]; then
- make distclean -BC seabios || exit 1
- fi
-
- printf "Done! SeaBIOS files are in %s/\n\n" ${payloaddir}
-}
-
-check_dependencies()
-{
- if [ ! -d "${payloaddir}" ]; then
- mkdir -p ${payloaddir}/ || exit 1
- fi
-
- rm -f ${payloaddir}/* || exit 1
-
- if [ ! -d "seabios/" ]; then
- ./fetch seabios || exit 1
- fi
-}
-
-build_seabios_elf()
-{
- inittype=${1}
-
- if [ ! -f seabios/Makefile ]; then
- printf "SeaBIOS not properly downloaded.\n"
- exit 1
- fi
-
- make distclean -BC seabios || exit 1
-
- cp "resources/seabios/config/${inittype}" seabios/.config
- make silentoldconfig -j$(nproc) -BC seabios || exit 1
- make -j$(nproc) -BC seabios || exit 1
-
- seabios_elf_dst="${payloaddir}/seabios_${inittype}.elf"
- cp ${seabios_elf} "${seabios_elf_dst}" || exit 1
-
- if [ "${inittype}" = "libgfxinit" ]; then
- cp ${seavgabios} ${payloaddir}/seavgabios.bin || exit 1
- fi
- rm -f seabios/.config || exit 1
-}
-
-main $@
diff --git a/resources/scripts/build/payload/u-boot b/resources/scripts/build/payload/u-boot
deleted file mode 100755
index a98d133d..00000000
--- a/resources/scripts/build/payload/u-boot
+++ /dev/null
@@ -1,179 +0,0 @@
-#!/usr/bin/env sh
-
-# helper script: builds U-Boot source code
-#
-# Copyright (C) 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com>
-# Copyright (C) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
-# Copyright (C) 2023 Leah Rowe <leah@libreboot.org>
-#
-# 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/>.
-
-[ "x${DEBUG+set}" = 'xset' ] && set -v
-set -u -e
-
-RET=0
-pdir="payload/u-boot"
-ubdir=""
-arch=""
-tree=""
-config_name=""
-board_dir=""
-
-our_version="$(cat version)"
-projectname="$(cat projectname)"
-
-export LOCALVERSION="-${projectname}-${our_version}"
-
-main()
-{
- printf "Building U-Boot payloads\n"
-
- # Build for all boards if no argument is given
- if [ "$#" -eq 0 ]; then
- for board_dir in resources/u-boot/*; do
- [ ! -d "${board_dir}/config/" ] && \
- continue
- set -- "$@" "${board_dir#resources/u-boot/}"
- done
- fi
-
- [ ! -d "payload/" ] && \
- mkdir -p payload/
- [ ! -d "${pdir}" ] && \
- mkdir -p ${pdir}/
-
- for board in "$@"; do
- build_uboot_payloads "${board}" || continue
- done
-
- printf "Done! U-Boot files are in %s/\n\n" ${pdir}
- exit $RET
-}
-
-build_uboot_payloads()
-{
- board=${1}
-
- handle_dependencies "${board}" || return 1
-
- for config in "${board_dir}/config"/*; do
- config_name="${config#$board_dir/config/}"
-
- check_config "${board}" "${config}" || continue
- build_uboot_elf "${config}"
-
- printf "build/u-boot %s: build config %s\n" \
- "${board}" "${config_name}"
- done
-}
-
-handle_dependencies()
-{
- board=${1}
-
- board_dir="resources/u-boot/${board}"
- rm -rf "${pdir}/${board}"
- mkdir -p "${pdir}/${board}"
-
- tree="undefined"
- arch="undefined"
-
- if [ ! -f "${board_dir}/target.cfg" ]; then
- printf "build/u-boot %s: Missing target.cfg.\n" \
- "${board}"
- RET=1
- return 1
- fi
-
- # Override the above defaults using target.cfg
- . "${board_dir}/target.cfg" # source
-
- if [ "${tree}" = "undefined" ]; then
- printf "build/u-boot %s: tree undefined\n" \
- "${board}"
- RET=1
- return 1
- fi
- if [ "${arch}" = "undefined" ]; then
- printf "build/u-boot %s: undefined cpu type\n" \
- "${board}"
- RET=1
- return 1
- fi
-
- ubdir="u-boot/${board}"
- if [ "${board}" != "${tree}" ]; then
- ubdir="u-boot/${tree}"
- fi
-
- if [ ! -d "${ubdir}" ]; then
- ./fetch_trees u-boot "$board"
- fi
-
- if [ ! -d "${ubdir}" ]; then
- printf "build/u-boot %s: uboot download failed\n" \
- "${board}"
- RET=1
- return 1
- fi
-}
-
-check_config()
-{
- board=${1}
- config=${2}
-
- if [ ! -f "${config}" ]; then
- printf "build/u-boot %s: configs missing\n" \
- ${board}
- RET=1
- return 1
- fi
-
- if [ "$config_name" = "default" ]; then
- dest_dir="${pdir}/${board}"
- else
- dest_dir="${pdir}/${board}/${config_name}"
- fi
- mkdir -p "${dest_dir}"
-
- printf "build/u-boot %s: building config %s).\n" \
- ${board} ${config_name}
-}
-
-build_uboot_elf()
-{
- config=${1}
-
- make -C "${ubdir}" distclean
-
- cp "${config}" "${ubdir}/.config"
- make -C "${ubdir}" olddefconfig
- make -C "${ubdir}" -j"$(nproc)" all
-
- for f in "${ubdir}"/u-boot "${ubdir}"/u-boot.bin \
- "${ubdir}"/u-boot.dtb \
- "${ubdir}"/u-boot.img \
- "${ubdir}"/u-boot.itb \
- "${ubdir}"/u-boot.elf
- do
- if [ -f "$f" ]; then
- mv "$f" "${dest_dir}/"
- fi
- done
-
- make -C "${ubdir}" distclean
-}
-
-main $@