aboutsummaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authorFrancis Rowe <info@gluglug.org.uk>2014-11-28 04:42:50 +0000
committerFrancis Rowe <info@gluglug.org.uk>2014-11-28 04:42:50 +0000
commit1628aa2faf7d00444e56bd6c0b2a33c9408cd7db (patch)
treed52288ea6b5ab49d0214e38880a82541c3b2bc99 /build
parent9f6881e87f68dd8cc13add1bcee9418877fda1b3 (diff)
downloadlibrebootfr-1628aa2faf7d00444e56bd6c0b2a33c9408cd7db.tar.gz
librebootfr-1628aa2faf7d00444e56bd6c0b2a33c9408cd7db.zip
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 142d9202..c5cf371c 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