diff options
Diffstat (limited to 'addseabios')
-rwxr-xr-x | addseabios | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/addseabios b/addseabios deleted file mode 100755 index 0680adf..0000000 --- a/addseabios +++ /dev/null @@ -1,85 +0,0 @@ -#!/bin/bash - -# addseabios script: add SeaBIOS to the ROM images. -# This also adds SeaVGABIOS, SeaBIOS's free/libre video bios "wrapper" for coreboot native graphics -# -# Copyright (C) 2014 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/>. -# - -set -e -v - -CBFSTOOL="seebeeeffesstool" - -echo "Adding SeaBIOS and SeaVGABIOS to the ROM's" - -# Because the DEBLOB script isn't included in the binary archives. -# This is how we know. -if [ -f "DEBLOB" ]; then - echo "Do not run this in meta/src directory. Do it in binary archive, either with libreboot-supplied ROM images or your own binary archive created with 'build-release'." - exit 1 -fi - -if [ $(uname -i) = "i686" ] || [ $(uname -i) = "i686" ] - then - echo "You are on an i686 host" - if [ ! -f "cbfstool/i686/cbfstool" ]; then - echo "cbfstool binary not found. You will need to build it from source and put it in cbfstool/i686/" - exit 1 - fi - CBFSTOOL="../cbfstool/i686/cbfstool" -elif [ $(uname -i) = "x86_64" ] || [ $(uname -i) = "x86_64" ] - then - echo "You are on an x86_64 host" - if [ ! -f "cbfstool/x86_64/cbfstool" ]; then - echo "cbfstool binary not found. You will need to build it from source and put it in cbfstool/x86_64/" - exit 1 - fi - CBFSTOOL="../cbfstool/x86_64/cbfstool" -else - echo "You need to run this script on an i686 or x86_64 host" - exit 1 -fi - -# Add SeaBIOS and SeaVGABIOS to *all* ROM's -cd bin/ -for rom in $(find -type f) -do - # Add them - $(echo $CBFSTOOL) $rom add -f ../vgabios.bin -n vgaroms/vgabios.bin -t raw - $(echo $CBFSTOOL) $rom add -f ../bios.bin.elf -n bios.bin.elf -t raw - - # Modify the GRUB configuration - for config in grub.cfg grubtest.cfg - do - # Extract (dump) the config - $(echo $CBFSTOOL) $rom extract -n $config -f $config - - # Delete it from the ROM - $(echo $CBFSTOOL) $rom remove -n $config - - # Add the menuentry for loading SeaBIOS - cat ../seabios.cfg >> $config - - # Re-add the newly modified GRUB configuration to the ROM - $(echo $CBFSTOOL) $rom add -f $config -n $config -t raw - - # The GRUB configuration is no longer needed - rm -f $config - done -done -cd ../ - -echo "DONE! All of the ROM's under bin/ have been modified to include SeaBIOS/SeaVGABIOS and include a GRUB menuentry for it." |