From b840755acc24f5cebe561d5ecb3380e157de1583 Mon Sep 17 00:00:00 2001 From: Francis Rowe Date: Sat, 14 Feb 2015 20:14:27 -0500 Subject: Move all build scripts into a single generic script, with helpers All build scripts were moved to resources/scripts/helpers/ --- (limited to 'buildrom-withgrub') diff --git a/buildrom-withgrub b/buildrom-withgrub deleted file mode 100755 index 01d131e..0000000 --- a/buildrom-withgrub +++ /dev/null @@ -1,115 +0,0 @@ -#!/bin/bash - -# buildrom-withgrub script: this generically builds the ROM images. -# The ROM images built by this script will use the GRUB payload. -# -# Copyright (C) 2014, 2015 Francis Rowe -# -# 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 . -# - -set -u -e -v - -# DO NOT RUN THIS DIRECTLY! -# Use "build" - -if (( $# != 1 )); then - echo "Usage: ./buildrom-withgrub boardname" - echo "Example: ./buildrom-withgrub x60" - echo "You need to specify exactly 1 argument" - exit 1 -fi - -cd coreboot - -# Build ROM images with text-mode and corebootfb modes. -# --------------------------------------------------------------------------------------------------------------- - -if [ "$1" = "qemu_i440fx_piix4" ] || [ "$1" = "qemu_q35_ich9" ] -then - # assume that the default config enable framebuffer mode, duplicate and patch for text-mode - # necessary, otherwise it will ask you to enter the Y/X resolution of the framebuffer at build time - cp ../resources/libreboot/config/"$1"/config config_vesafb - sed 's/CONFIG_FRAMEBUFFER_KEEP_VESA_MODE=y/# CONFIG_FRAMEBUFFER_KEEP_VESA_MODE is not set/' < config_vesafb > config_txtmode -else - # assume that the default config enables text-mode, duplicate and patch for framebuffer mode - cp ../resources/libreboot/config/"$1"/config config_txtmode - sed 's/# CONFIG_FRAMEBUFFER_KEEP_VESA_MODE is not set/CONFIG_FRAMEBUFFER_KEEP_VESA_MODE=y/' < config_txtmode > config_vesafb -fi - -for romtype in txtmode vesafb -do - if [ "$1" = "x200_8mb" ] || [ "$1" = "x200_4mb" ] || [ "$1" = "r400_8mb" ] || [ "$1" = "r400_4mb" ] - then - if [ "$romtype" = "txtmode" ] - then - echo "Text mode graphics is currently broken on X200 and R400. Only framebuffer mode works." - continue - fi - fi - - # Build coreboot ROM image - make clean - mv config_"$romtype" .config - mv grub_"$romtype".elf grub.elf - make - mv grub.elf grub_"$romtype".elf - mv build/coreboot.rom "$1"_"$romtype".rom - # .config no longer needed - rm -f .config - - # Add the background image - if [ "$romtype" = "vesafb" ] - then - if [ "$1" = "macbook21" ] || [ "$1" = "x200_4mb" ] || [ "$1" = "x200_8mb" ] || [ "$1" = "r400_4mb" ] || [ "$1" = "r400_8mb" ] - then - ./util/cbfstool/cbfstool "$1"_"$romtype".rom add -f ../resources/grub/background/gnulove.jpg -n background.jpg -t raw - else - ./util/cbfstool/cbfstool "$1"_"$romtype".rom add -f ../resources/grub/background/background.jpg -n background.jpg -t raw - fi - fi - - # Add the correct GRUB configuration file for this image. - for keymap in $(ls ../resources/utilities/grub-assemble/keymap/original) - do - # copy the images based on the keymap - cp "$1"_"$romtype".rom "$1"_"$keymap"_"$romtype".rom - - # Insert grub config into the image - ./util/cbfstool/cbfstool "$1"_"$keymap"_"$romtype".rom add -f grub_"$keymap"_"$romtype".cfg -n grub.cfg -t raw - # Insert grub test config into the image (for the user to test modifications to before modifying the main one) - ./util/cbfstool/cbfstool "$1"_"$keymap"_"$romtype".rom add -f grub_"$keymap"_"$romtype"_test.cfg -n grubtest.cfg -t raw - done - - # This config-less ROM is no longer needed - rm -rf "$1"_"$romtype".rom -done - -# Now we clean up and prepare the bin directory containing all the images -# ---------------------------------------------------------------------------------------------------------------------------- - -# prepare directory for new ROM images -rm -rf "$1" -mkdir "$1" -# move the ROM's into the newly created directory -mv "$1"*rom "$1" - -# delete the old ROM's from ../bin -rm -rf ../bin/"$1" -# now put the new ROM's in ./bin -mv "$1" ../bin - -# go back to main source directory -cd ../ - -- cgit v0.9.1