diff options
Diffstat (limited to 'resources/scripts/build/payload')
-rwxr-xr-x | resources/scripts/build/payload/grub | 22 | ||||
-rwxr-xr-x | resources/scripts/build/payload/seabios | 84 | ||||
-rwxr-xr-x | resources/scripts/build/payload/u-boot | 179 |
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 $@ |