summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorFrancis Rowe <info@gluglug.org.uk>2014-07-20 03:37:00 (EDT)
committer Michał Masłowski <mtjm@mtjm.eu>2014-08-22 13:15:07 (EDT)
commit488242eb941305ef61319b8499d4a1e8ccf218a1 (patch)
treeb0347f360df51ac5a8edd06068e7ae24510864d6 /build
parent8b484a19b51fb0591d938b3b7cf4fcb8f06c7a2f (diff)
downloadlibreboot-488242eb941305ef61319b8499d4a1e8ccf218a1.zip
libreboot-488242eb941305ef61319b8499d4a1e8ccf218a1.tar.gz
libreboot-488242eb941305ef61319b8499d4a1e8ccf218a1.tar.bz2
Libreboot release 6 beta 3.
- Fixed typo that existed in 2nd beta where the release date of the 2nd beta was listed as being in year 2016, when in actual fact it was 2014. - Documentation: added (preliminary) details about (rare) buggy CPU's on the ThinkPad T60 that were found to fail (instability, kernel panics, etc) without the microcode updates. - Documentation: added docs/howtos/x60_heatsink.html for showing how to change the heatsink on the Thinkpad X60 - Added ROM images for Azerty (French) keyboard layout in GRUB (courtesy of Olivier Mondoloni) - Tidied up some scripts: - Re-factored those scripts (made easier to read/maintain): build-x60, build-x60t, build-t60, build-macbook21 - Reduced the number of grub configs to 2 (or 1, for macbook21), the build scripts now generate the other configs at build time. - Deleted build-x60, build-x60t, build-t60, build-macbook21 and replaced with intelligent (generic) buildrom-withgrub script - Updated build to use buildrom-withgrub script for building the ROM images. - coreboot.rom and coreboot_serial.rom renamed to coreboot_usqwerty.rom and coreboot_serial_usqwerty.rom - coreboot_dvorak and coreboot_serial_dvorak.rom renamed to coreboot_usdvorak.rom and coreboot_serial_usdvorak.rom - Renamed coreboot*rom to libreboot*rom - Made flash, lenovobios_firstflash and lenovobios_secondflash scripts fail if the specified file does not exist. - Updated all relevant parts of the documentation to reflect the above. - Replaced background.png with background.jpg. added gnulove.jpg. (resources/grub/background/) - Updated buildrom-withgrub to use background.jpg instead of background.png - Updated buildrom-withgrub to use gnulove.jpg aswell - Updated resources/grub/config/macbook21/grub*cfg to use gnulove.jpg background. - Updated resources/grub/config/{x60,t60,x60t}/grub*cfg to use background.jpg background. - Documentation: updated docs/index.html#grub_custom_keyboard to be more generally useful. - nvramtool: - Updated builddeps-coreboot script to build it - Updated build script to include it in libreboot_bin - Documentation: added docs/howtos/x60_security.html (security hardening for X60)
Diffstat (limited to 'build')
-rwxr-xr-xbuild54
1 files changed, 33 insertions, 21 deletions
diff --git a/build b/build
index e210c48..4ef6fa0 100755
--- a/build
+++ b/build
@@ -40,8 +40,10 @@ 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 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 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 /boot/grub/layouts/dvorak.gkb=../resources/grub/keymap/dvorak.gkb /boot/grub/layouts/ukdvorak.gkb=../resources/grub/keymap/ukdvorak.gkb /boot/grub/layouts/usqwerty.gkb=../resources/grub/keymap/usqwerty.gkb /boot/grub/layouts/ukqwerty.gkb=../resources/grub/keymap/ukqwerty.gkb
+./grub-mkstandalone --grub-mkimage=./grub-mkimage -O i386-coreboot -o grub.elf --modules='crypto cryptodisk 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 ../
# move those into coreboot directory:
mv grub.elf ../coreboot
@@ -54,25 +56,33 @@ echo "finished generating grub.elf payload"
# Build the ROM's (for flashing)
# ----------------------------------------------------------------------------------------------------------------------
-echo "building X60 ROM's"
-# Build the ROM's for ThinkPad X60
-./build-x60
-echo "finished building X60 ROM's"
-
-echo "building X60 Tablet ROM's"
-# Build the ROM's for ThinkPad X60 Tablet
-./build-x60t
-echo "finished building X60 Tablet ROM's"
-
-echo "building T60 ROM's"
-# Build the ROM's for ThinkPad T60 (Intel GPU)
-./build-t60
-echo "finished building T60 ROM's"
-
-echo "building MacBook2,1 ROM's"
-# Build the ROM's for MacBook2,1
-./build-macbook21
-echo "finished building MacBook2,1 ROM's"
+# ROM images for supported Thinkpads
+# (x60 also means x60s)
+for board in x60 t60 x60t
+do
+ # Build the ROM (with GRUB payload)
+ ./buildrom-withgrub $board
+
+ # These are needed for the 'bucts' workarounds on X60/T60
+ cd bin/$board
+ for rom in $(find -type f)
+ do
+ dd if=$rom of=top64k.bin bs=1 skip=$[$(stat -c %s $rom) - 0x10000] count=64k
+ dd if=$rom bs=1 skip=$[$(stat -c %s $rom) - 0x20000] count=64k | hexdump
+ dd if=top64k.bin of=$rom bs=1 seek=$[$(stat -c %s $rom) - 0x20000] count=64k conv=notrunc
+ rm -rf top64k.bin
+ done
+ 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
+./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
# ----------------------------------------------------------------------------------------------------------------------------
@@ -112,6 +122,9 @@ cp -r docs ../libreboot_bin
# 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
@@ -146,7 +159,6 @@ echo "finished generating ../libreboot_bin"
# Create "libreboot_meta"
# -------------------------------------------------------------------------------------------------------------------------------
-# and fast
echo "generating ../libreboot_meta"
# delete old one