Commit Graph

426 Commits

Author SHA1 Message Date
Hamish Coleman
850767750f Add extractor debugging output to show all header fields 2019-09-02 07:37:42 +08:00
Hamish Coleman
944c63b013 Add _EC field definitions gleaned from https://www.blackhat.com/us-19/briefings/schedule/#breaking-through-another-side-bypassing-firmware-security-boundaries-from-embedded-controller-15902 2019-09-02 07:37:13 +08:00
Hamish Coleman
a721a332a4 Port keyboard patch forward for t430 EC 1.14 2019-08-23 23:36:03 +02:00
Hamish Coleman
55e0f0d0a3 Ensure that hexpatch emits an error if we are configured to use a patch and dont have it 2019-08-23 23:14:11 +02:00
Hamish Coleman
68726da759 Add basic details for t430 BIOS 2.82 (new EC version, which needs new patches) 2019-08-23 23:05:50 +02:00
Hamish Coleman
8759538255 After finishing tests, generate some reporting output. This can be used as a published set of known good hashes. In the future, it might be possible to upload this data somewhere more accessible 2019-08-18 17:59:28 +02:00
Hamish Coleman
4738894c38 Add more details about which versions should be used 2019-08-18 17:45:10 +02:00
Hamish Coleman
96ed6bbf5b Update documentation to reflect new config method 2019-08-06 16:46:31 +01:00
Hamish Coleman
b32edc57ce Clean up the config file on really_clean 2019-08-06 16:34:32 +01:00
Hamish Coleman
50c66dd878 Ensure that config changes cause the output to be rebuilt 2019-08-06 16:32:38 +01:00
Hamish Coleman
c5ceb033c3 Simplify the way target dependancies are generated 2019-08-06 16:26:36 +01:00
Hamish Coleman
7dff574346 Cover some more rm on exit cases in the hexpatch script 2019-08-06 16:20:38 +01:00
Hamish Coleman
7f9800d203 Add a rudimentary config file - this (finally) removes the need to ever build in a dirty checkout, which makes the build strings and debuging clearer 2019-08-06 16:20:26 +01:00
Hamish Coleman
a52037dc8b To increase debugging information available for boot issues, ensure that the final ISO checksum is also shown 2019-08-06 15:34:31 +01:00
Hamish Coleman
b1f48cd8c3 Adjust build report to reduce the significance of the original ISO download 2019-08-06 15:23:53 +01:00
Hamish Coleman
1f2ce9a1aa Clarify output message to look less scary 2019-08-06 15:15:43 +01:00
Hamish Coleman
4bb6c7b2b3 Update w530 build to most recent BIOS version with a working FL2 file 2019-08-05 19:16:52 +01:00
Hamish Coleman
e5b6325a47 Update t230t to build based on the BIOS 2.73 release 2019-07-31 09:53:05 +01:00
Hamish Coleman
4b072b6444 Update build targets where possible
It seems that Lenovo has either changed the way they build their FL2
files, or has generated a bunch of broken update ISO images.

The two sysstems here still have a FL2 file with a EC firmware at offset
0x500000.

The remainder of the systems have updated BIOS ISO images available with
FL2 files that have nothing in them until offset 0x80000.  Older FL2 versions
have also had data at that offset but it previously looked like rubbish left
over from an FL1 UEFI capsule.
2019-07-31 09:23:52 +01:00
Hamish Coleman
1e281338db Add new version download ISO details for patchable target systems 2019-07-31 09:23:00 +01:00
Hamish Coleman
d4e060b806 Update download URLs for some systems - it seems like Lenovo has been shuffling things around 2019-07-31 09:21:53 +01:00
Hamish Coleman
cd447e6a0c Update x230 to base off latest BIOS version (no EC changes) 2019-05-19 07:24:03 +08:00
Hamish Coleman
bdb3f6a9ce FIX: type in text description (see #122) 2019-05-05 20:11:30 +08:00
Hamish Coleman
37701210b0 Rework the troubleshooting steps to try and make them simpler to follow 2019-05-05 20:03:50 +08:00
Hamish Coleman
2e0fa65987 Reflow text for easier editing 2019-05-05 19:48:31 +08:00
Hamish Coleman
e772b7acbb Merge branch 'tott-issue-62' 2019-05-05 19:47:32 +08:00
Hamish Coleman
5d10a2af49 Merge branch 'issue-62' of git://github.com/tott/thinkpad-ec into tott-issue-62 2019-05-05 19:46:50 +08:00
Hamish Coleman
453b5b28bf
Merge pull request #120 from tabroughton/master
Updated Bios for T430 from 2.78 to 2.79
2019-03-31 01:48:30 +08:00
Tom Broughton
d26a240c91 Updated Bios for T430 from 2.78 to 2.79 2019-03-30 00:48:25 +00:00
Hamish Coleman
e863063170 Add ISO versions for t530 and w530 for testing boot failures 2019-03-11 19:34:55 +08:00
Hamish Coleman
286170a813 Add more output quieting steps 2019-03-11 19:34:01 +08:00
Hamish Coleman
c70ee15944 Ensure files extracted from old ISO images have a timestamp that matches the build 2019-03-11 19:33:39 +08:00
Hamish Coleman
f89f7578af Re-arrange the order of checks in the FL2_copyIMG to prioritise those checks with good signatures or checksums 2019-03-11 19:22:06 +08:00
Hamish Coleman
046597de6f Make the build process somewhat quieter - there is still room for improvements here though 2019-03-11 19:17:23 +08:00
Hamish Coleman
eebd92683f Ensure that the full patched test tries to generate both ISO and IMG outputs 2019-03-11 19:16:02 +08:00
Hamish Coleman
faf4227818 Rename the img extraction test to hopefully be more clear 2019-03-11 19:15:23 +08:00
Hamish Coleman
ea767e935d Add support to the FL2_copyIMG script to search for the NAPI header, thus allowing x61 FL2 images to be supported 2019-03-11 19:14:46 +08:00
Hamish Coleman
d417ce260a Attempt to fix bad bootsectors
Some (recent) ISO images have started having a zero byte as the first
byte of the MBR boot code embedded in the hard disk image.

When the original Lenovo ISO is booted, nobody has reported any issues,
however when a patched IMG file is created from that, it just hangs
- which does match with having bad bootcode data.

I was unable to reproduce the issue when running the images in qemu,
which is even more confusing.

Since every working image has the same first byte (a "CLI" instruction)
we attempt to repair things by simply changing it back to that byte.
2019-02-16 11:14:16 +08:00
Hamish Coleman
460ff2c249 Increase build repeatability by removing inconsequential changes in the output img file 2019-02-15 11:55:14 +08:00
Hamish Coleman
3bb7490858 Add new dependancy - required for the old x60 ISO file extraction 2019-02-15 10:56:28 +08:00
Hamish Coleman
b96bca2c41 Add descriptions and rules for extracting EC firmware from old x60 BIOS updates 2019-02-15 09:46:44 +08:00
Hamish Coleman
78e6203a7b Add a generic extractor for x60 era FL2 files 2019-02-15 09:35:48 +08:00
Hamish Coleman
1f354d4c8a Quieten down the downloading of ISO files 2019-02-15 09:34:51 +08:00
Hamish Coleman
c697deb721 Ensure that the various Descriptions sections are sorted 2019-02-15 09:33:56 +08:00
Hamish Coleman
ea4e9da2ac Rename the _EC header detector to be more specific 2019-02-15 09:03:02 +08:00
Hamish Coleman
046b26bdda Add a test for all possible extracted firmwares 2019-02-14 22:09:42 +08:00
Hamish Coleman
e1e0400d13 FIX incorrect dependancy name in one of the non xx30 targets 2019-02-14 22:09:23 +08:00
Hamish Coleman
875e43cfbc Add some details for X60 firmware - Just a Description entry and updates to the FL2_copyIMG script - this is a firmware update package that is not structured the way the rest of the process expects 2019-02-14 21:19:50 +08:00
Hamish Coleman
c7e7502201 Make the location of the known all 0xff block variable 2019-02-14 21:17:32 +08:00
Hamish Coleman
a6a46828d7 Throw the known data block around by reference, rather than looking it up on use 2019-02-14 21:14:07 +08:00