summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorFrancis Rowe <info@gluglug.org.uk>2014-11-27 23:42:50 (EST)
committer Francis Rowe <info@gluglug.org.uk>2014-11-27 23:42:50 (EST)
commit1628aa2faf7d00444e56bd6c0b2a33c9408cd7db (patch)
treed52288ea6b5ab49d0214e38880a82541c3b2bc99 /build
parent9f6881e87f68dd8cc13add1bcee9418877fda1b3 (diff)
downloadlibreboot-1628aa2faf7d00444e56bd6c0b2a33c9408cd7db.zip
libreboot-1628aa2faf7d00444e56bd6c0b2a33c9408cd7db.tar.gz
libreboot-1628aa2faf7d00444e56bd6c0b2a33c9408cd7db.tar.bz2
build: fix bug: images for i945 ROM's were not dd'd
For X60/X60T/T60 An optimization was made earlier to reduce the number of steps taken but it was found that the ROM images did not contain identical data in the top two 64K regions of the image. This would have bricked the users machine if the followed the correct instructions, even. This patch fixed the issue.
Diffstat (limited to 'build')
-rwxr-xr-xbuild14
1 files changed, 14 insertions, 0 deletions
diff --git a/build b/build
index 142d920..c5cf371 100755
--- a/build
+++ b/build
@@ -57,6 +57,20 @@ do
./buildrom-withgrub $board
done
+# Needed on i945 systems for the bucts/dd trick (documented)
+# This enables the ROM to be flashed over the lenovo bios firmware
+for i945board in x60 x60t t60
+do
+ cd bin/"$i945board"/
+ for i945rom in $(ls)
+ do
+ dd if="$i945rom" of=top64k.bin bs=1 skip=$[$(stat -c %s "$i945rom") - 0x10000] count=64k
+ dd if=top64k.bin of="$i945rom" bs=1 seek=$[$(stat -c %s "$i945rom") - 0x20000] count=64k conv=notrunc
+ rm -f top64k.bin
+ done
+ cd ../../
+done
+
# The GRUB payloads are no longer needed
rm -f coreboot/grub_vesafb.elf
rm -f coreboot/grub_txtmode.elf