diff options
author | Michał Masłowski <mtjm@mtjm.eu> | 2014-09-03 14:30:21 (EDT) |
---|---|---|
committer | Michał Masłowski <mtjm@mtjm.eu> | 2014-09-03 14:30:21 (EDT) |
commit | 96ca7ee67a36605a33de8d57eb8e8d3998bc6427 (patch) | |
tree | 07202c5fe7d366f50d9d17010f3bbf0a44c08ee8 /build | |
parent | 4e8051dfaa0ba5617961481056eb7e79d7b50861 (diff) | |
parent | 9a321884379a71b5f0986fdfb97a2b6c5bdccd8a (diff) | |
download | libreboot-6f66244a44abc1f584c5f0952af19d9bb0800207.zip libreboot-6f66244a44abc1f584c5f0952af19d9bb0800207.tar.gz libreboot-6f66244a44abc1f584c5f0952af19d9bb0800207.tar.bz2 |
Merge libreboot-6b6.r20140903
Conflicts:
buildrom-withgrub
Diffstat (limited to 'build')
-rwxr-xr-x | build | 185 |
1 files changed, 20 insertions, 165 deletions
@@ -1,9 +1,9 @@ #!/bin/bash # -# build script: generates libreboot_bin and libreboot_meta +# build script: builds the ROM images and puts them in ./bin/ # -# Copyright (C) 2014 Francis Rowe +# 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 @@ -26,11 +26,15 @@ echo "running 'make clean' in coreboot" -# run "make clean" in coreboot +# prepare coreboot cd coreboot + +# run "make clean" in coreboot (will re-build later) make clean rm -rf grub.elf -cd .. + +# come back to main directory +cd ../ echo "finished running 'make clean' in coreboot" @@ -39,19 +43,19 @@ echo "finished running 'make clean' in coreboot" echo "generating grub.elf payload" -cd grub -mv ../grub_memdisk_keymap . -# Build the GRUB2 payload (grub.elf) -./grub-mkstandalone --grub-mkimage=./grub-mkimage -O i386-coreboot -o grub.elf --modules='crypto cryptodisk luks lvm cmosdump cmostest ahci pata ehci uhci ohci usb_keyboard usbms part_msdos xfs ext2 fat at_keyboard part_gpt usbserial_usbdebug cbfs minix_be minix minix3_be minix3 minix2_be minix2 zfs ufs2 ufs1_be ufs1 udf squash4 romfs jfs reiserfs procfs odc ntfs nilfs2 newc iso9660 hfsplus cpio exfat cpio_be afs btrfs bfs hfs video_bochs password png jpeg keystatus sleep loopback gfxterm_background' --install-modules='syslinuxcfg bsd ls cat echo linux search configfile normal cbtime cbls memrw iorw minicmd lsmmap lspci halt reboot hexdump pcidump regexp setpci lsacpi chain test' --fonts= --themes= --locales= -d grub-core/ /boot/grub/grub.cfg=../resources/grub/config/grub_memdisk.cfg $(./grub_memdisk_keymap) -mv grub_memdisk_keymap ../ +cd resources/utilities/grub-assemble -# move those into coreboot directory: -mv grub.elf ../coreboot +# Generate grub.elf inside the directory +./gen.sh -# come back into the main directory -cd ../ +# Replace the old one +rm -rf ../../../coreboot/grub.elf +mv grub.elf ../../../coreboot/ + +# come back to main directory +cd ../../../ -echo "finished generating grub.elf payload" +echo "finished generating grub.elf payload (it's now in coreboot/ directory)" # Build the ROM's (for flashing) # ---------------------------------------------------------------------------------------------------------------------- @@ -75,159 +79,10 @@ do cd ../../ done -# macbook21 doesn't need grub_serial, but the buildrom-withgrub script expects it -# (we will delete it later) -cp resources/grub/config/macbook21/grub_usqwerty.cfg resources/grub/config/macbook21/grub_serial_usqwerty.cfg -# build the ROM +# build macbook21 rom ./buildrom-withgrub macbook21 -# delete the useless (nonsensical) files -rm -rf bin/macbook21/libreboot_serial*rom -rm -rf resources/grub/config/macbook21/grub_serial_usqwerty.cfg - -# Now we prepare libreboot_bin archive ready for release -# ---------------------------------------------------------------------------------------------------------------------------- - -echo "generating ../libreboot_bin" - -# delete the old one -rm -rf ../libreboot_bin - -# create new directory -mkdir ../libreboot_bin - -# Include the ROM's in the binary archive -cp -r bin ../libreboot_bin - -# Include flashrom utility in binary archive -cp -r flashrom ../libreboot_bin -# For installing build dependencies -cp builddeb ../libreboot_bin -# For installing flashrom build dependencies -cp builddeb-flashrom ../libreboot_bin -# For installing bucts build dependencies -cp builddeb-bucts ../libreboot_bin - -# Build scripts for flashrom and bucts -cp builddeps-flashrom ../libreboot_bin -cp builddeps-bucts ../libreboot_bin - -# Useful information -cp README ../libreboot_bin -cp COPYING ../libreboot_bin - -# Include the same documentation in binary archive -cp -r docs ../libreboot_bin - -# include X60 cmos.layout file -cp coreboot/src/mainboard/lenovo/x60/cmos.layout ../libreboot_bin/x60cmos.layout -cp coreboot/src/mainboard/lenovo/t60/cmos.layout ../libreboot_bin/t60cmos.layout -cp coreboot/src/mainboard/apple/macbook21/cmos.layout ../libreboot_bin/macbook21cmos.layout - -# X60/T60: BUC.TS utility is needed to flash libreboot while Lenovo BIOS is running -cp -r bucts ../libreboot_bin - -# Include a copy of nvramtool in libreboot_bin -cp -r coreboot/util/nvramtool ../libreboot_bin - -# X60/X60T/T60: Script for setting up powertop (kills high pitched noise) -cp powertop.trisquel6 ../libreboot_bin -cp powertop.trisquel6.init ../libreboot_bin - -cp macbook21_firstflash ../libreboot_bin - -# (lazy hack) to make builddep-flashrom work in libreboot_bin: -cp -r resources ../libreboot_bin - -# X60/T60: so that the user can use libreboot_bin to overwrite lenovo bios with libreboot -cp lenovobios_firstflash ../libreboot_bin -cp lenovobios_secondflash ../libreboot_bin - -# Flashrom script (makes flashing easier: ./flash path/to/libreboot.rom) -cp flash ../libreboot_bin - -# patch the version of cbfstool included in libreboot_bin, -# so that it can be built/executed standalone -# this modification is only suitable for the version included in libreboot_bin -# do not patch the one in libreboot_src with this -cp -r coreboot/util/cbfstool ../libreboot_bin/cbfstool_standalone -cp builddeps-cbfstool ../libreboot_bin -echo "Patching libreboot_bin/cbfstool_standalone to be buildable (and executable) without residing in coreboot source tree" -rm -rf ../libreboot_bin/cbfstool_standalone/rmodule.c -cp resources/cbfstool/patch/rmodule.c ../libreboot_bin/cbfstool_standalone -cp coreboot/src/include/rmodule-defs.h ../libreboot_bin/cbfstool_standalone -cd ../libreboot_bin -./builddeps-cbfstool -cd ../libreboot_src -echo "Done (cbfstool_standalone package created in libreboot_bin)" - -echo "finished generating ../libreboot_bin" - -# Create "libreboot_meta" -# ------------------------------------------------------------------------------------------------------------------------------- - -echo "generating ../libreboot_meta" - -# delete old one -rm -rf ../libreboot_meta - -# make new one -mkdir ../libreboot_meta - -# MOVE unwanted parts to libreboot_meta (we'll move them back later) -mv bucts ../libreboot_meta -mv coreboot ../libreboot_meta -mv flashrom ../libreboot_meta -mv grub ../libreboot_meta -mv "memtest86+-5.01" ../libreboot_meta - -# COPY wanted parts to libreboot_meta -cp -r * ../libreboot_meta -# DELETE unwanted ROM's from libreboot_meta -rm -rf ../libreboot_meta/bin/* - -# MOVE BACK the unwanted (in meta) files back to src -mv ../libreboot_meta/bucts . -mv ../libreboot_meta/coreboot . -mv ../libreboot_meta/flashrom . -mv ../libreboot_meta/grub . -mv ../libreboot_meta/"memtest86+-5.01" . - -echo "finished generating ../libreboot_meta" - -# Create sha512sum manifest for bin, meta and src -# ------------------------------------------------------------------------------------------------------------------------------------ - -echo "creating sha512sum manifest in libreboot_bin" -cd ../libreboot_bin -rm -rf sha512sum.txt ../sha512sum.txt -touch ../sha512sum.txt -for i in $(find -type f); do sha512sum "$i" >> ../sha512sum.txt; done -mv ../sha512sum.txt . -echo "done" -cd ../libreboot_src - -echo "creating sha512sum manifest in libreboot_meta" -cd ../libreboot_meta -rm -rf sha512sum.txt ../sha512sum.txt -touch ../sha512sum.txt -for i in $(find -type f); do sha512sum "$i" >> ../sha512sum.txt; done -mv ../sha512sum.txt . -echo "done" -cd ../libreboot_src - -# # Doing this part is pointless -# # This should be done manually (after running 'cleandeps') before releasing the archive -# echo "creating sha512sum manifest in libreboot_src" -# # cd ../libreboot_bin -# rm -rf sha512sum.txt ../sha512sum.txt -# touch ../sha512sum.txt -# for i in $(find -type f); do sha512sum "$i" >> ../sha512sum.txt; done -# mv ../sha512sum.txt . -# echo "done" -# # cd ../libreboot_src - -echo "BUILD COMPLETE. Check ../libreboot_bin and ../libreboot_meta" +echo "BUILD COMPLETE. ROM IMAGES ARE IN ./bin/" # ------------------- DONE ---------------------- |