#!/bin/bash # build-macbook21: builds's the Apple MacBook2,1 ROM's # # Copyright (C) 2014 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 . # # DO NOT RUN THIS DIRECTLY! # Use "build" # Build the ROM's (for MacBook2,1): # ---------------------------------------------------------------------------------------------------------------------- # MacBook2,1 uses the same chipsets as the X60/T60 # Unlike X60/T60, MacBook2,1 has no dock or serial port available # Therefore, no *_serial_*.rom images will be generated here. cd coreboot rm -rf .config # MacBook2,1: prepare coreboot and build it: cp ../resources/libreboot/config/macbook21config .config make cp build/coreboot.rom . make clean # MacBook2,1: prepare the ROM's that will have alternative (dvorak) configs inserted cp coreboot.rom coreboot_dvorak.rom # MacBook2,1: prepare the ROM's that will have alternative (uk dvorak) configs inserted cp coreboot.rom coreboot_ukdvorak.rom # MacBook2,1: prepare the ROM's that will have alternative (uk qwerty) configs inserted cp coreboot.rom coreboot_ukqwerty.rom rm -rf .config rm -rf macbook21 mkdir macbook21 # move the ROM's into the newly created x60 directory mv coreboot*rom macbook21 # Insert additional configs and other files into the ROM's: # --------------------------------------------------------------------------------------------------------------------- # MacBook2,1: prepare finished coreboot.rom # Configuration: US Qwerty keyboard layout in GRUB payload. No MemTest86+. No serial output. (for those without dock). mv macbook21/coreboot.rom util/cbfstool cp ../resources/grub/config/macbook21/grub.cfg util/cbfstool cp ../resources/grub/background/background1024x768.png util/cbfstool/background.png cp ../resources/grub/font/dejavusansmono.pf2 util/cbfstool cd util/cbfstool ./cbfstool coreboot.rom add -f grub.cfg -n grub.cfg -t raw ./cbfstool coreboot.rom add -f background.png -n background.png -t raw ./cbfstool coreboot.rom add -f dejavusansmono.pf2 -n dejavusansmono.pf2 -t raw ./cbfstool coreboot.rom print mv coreboot.rom ../../macbook21 rm -rf grub.cfg rm -rf background.png rm -rf dejavusansmono.pf2 cd ../../ # MacBook2,1: prepare finished coreboot_dvorak.rom # Configuration: US Dvorak keyboard layout in GRUB payload. No MemTest86+. No serial output. (for those without dock) mv macbook21/coreboot_dvorak.rom util/cbfstool/coreboot.rom cp ../resources/grub/config/macbook21/grub_dvorak.cfg util/cbfstool/grub.cfg cp ../resources/grub/background/background1024x768.png util/cbfstool/background.png cp ../resources/grub/font/dejavusansmono.pf2 util/cbfstool cd util/cbfstool ./cbfstool coreboot.rom add -f grub.cfg -n grub.cfg -t raw ./cbfstool coreboot.rom add -f background.png -n background.png -t raw ./cbfstool coreboot.rom add -f dejavusansmono.pf2 -n dejavusansmono.pf2 -t raw ./cbfstool coreboot.rom print mv coreboot.rom ../../macbook21/coreboot_dvorak.rom rm -rf grub.cfg rm -rf background.png rm -rf dejavusansmono.pf2 cd ../../ # MacBook2,1: prepare finished coreboot_ukdvorak.rom # Configuration: UK Dvorak keyboard layout in GRUB payload. No MemTest86+. No serial output. (for those without dock) mv macbook21/coreboot_ukdvorak.rom util/cbfstool/coreboot.rom cp ../resources/grub/config/macbook21/grub_ukdvorak.cfg util/cbfstool/grub.cfg cp ../resources/grub/background/background1024x768.png util/cbfstool/background.png cp ../resources/grub/font/dejavusansmono.pf2 util/cbfstool cd util/cbfstool ./cbfstool coreboot.rom add -f grub.cfg -n grub.cfg -t raw ./cbfstool coreboot.rom add -f background.png -n background.png -t raw ./cbfstool coreboot.rom add -f dejavusansmono.pf2 -n dejavusansmono.pf2 -t raw ./cbfstool coreboot.rom print mv coreboot.rom ../../macbook21/coreboot_ukdvorak.rom rm -rf grub.cfg rm -rf background.png rm -rf dejavusansmono.pf2 cd ../../ # MacBook2,1: prepare finished coreboot_ukqwerty.rom # Configuration: UK Qwerty keyboard layout in GRUB payload. No MemTest86+. No serial output. (for those without dock) mv macbook21/coreboot_ukqwerty.rom util/cbfstool/coreboot.rom cp ../resources/grub/config/macbook21/grub_ukqwerty.cfg util/cbfstool/grub.cfg cp ../resources/grub/background/background1024x768.png util/cbfstool/background.png cp ../resources/grub/font/dejavusansmono.pf2 util/cbfstool cd util/cbfstool ./cbfstool coreboot.rom add -f grub.cfg -n grub.cfg -t raw ./cbfstool coreboot.rom add -f background.png -n background.png -t raw ./cbfstool coreboot.rom add -f dejavusansmono.pf2 -n dejavusansmono.pf2 -t raw ./cbfstool coreboot.rom print mv coreboot.rom ../../macbook21/coreboot_ukqwerty.rom rm -rf grub.cfg rm -rf background.png rm -rf dejavusansmono.pf2 cd ../../ # Now we clean up and prepare the binary archive ready for release. # ---------------------------------------------------------------------------------------------------------------------------- # now we are back in the main coreboot directory # MacBook2,1 ROM's: # delete the old ROM's rm -rf ../bin/macbook21 # now put the new ROM's in ./bin mv macbook21 ../bin # go back to main source directory cd ../