summaryrefslogtreecommitdiffstats
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
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.
-rwxr-xr-xbuild14
-rwxr-xr-xbuildrom-withgrub9
2 files changed, 14 insertions, 9 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
diff --git a/buildrom-withgrub b/buildrom-withgrub
index d0454eb..b097196 100755
--- a/buildrom-withgrub
+++ b/buildrom-withgrub
@@ -51,15 +51,6 @@ do
# .config no longer needed
rm -f .config
- # Needed on i945 systems for the bucts/dd trick (documented)
- # This enables the ROM to be flashed over the lenovo bios firmware
- if [ "$1" = "x60" ] || [ "$1" = "x60t" ] || [ "$1" = "t60" ]
- then
- dd if="$1"_"$romtype".rom of=top64k.bin bs=1 skip=$[$(stat -c %s "$1"_"$romtype".rom) - 0x10000] count=64k
- dd if=top64k.bin of="$1"_"$romtype".rom bs=1 seek=$[$(stat -c %s "$1"_"$romtype".rom) - 0x20000] count=64k conv=notrunc
- rm -f top64k.bin
- fi
-
# Add the correct GRUB configuration file for this image.
for keymap in $(ls ../resources/utilities/grub-assemble/keymap/original)
do