Commit Graph

184 Commits

Author SHA1 Message Date
Hamish Coleman
615f87dd2b Remove the last manually maintained list from the Makefile - all lists of rules are now generated from the Descriptions.txt 2017-07-03 19:02:49 +08:00
Hamish Coleman
c0b2178942 Remove most of the variables from the autoexec.bat template
Instead use a *.report file for each component and add data as we
go, culminating in the built image simply catting the report to the
screen to show the user what is about to occur.

This is on the path towards removing all variables from the autoexec
template - which would make it simpler to reuse the same template for
other commands (e.g the x200 series does not use dosflash.exe)
2017-07-03 18:17:54 +08:00
Hamish Coleman
409f88c75c Rename the FL2 copy script to make it clear that it deals with ISO files - and use the same naming as the IMG copy script 2017-07-03 17:43:53 +08:00
Hamish Coleman
bafb93e668 Add example macros to special case the x200 ISO image - which has two FL2 files 2017-07-03 17:23:15 +08:00
Hamish Coleman
f2401e68e9 the mtools mdel command has no option to ignore failure, which makes an ugly error show when non UEFI images are processed (like the x200 ones) 2017-07-03 17:20:44 +08:00
Hamish Coleman
2d87c9daff Wrap the rule_IMG_extract macro with failsafe tmp files 2017-07-03 14:43:28 +08:00
Hamish Coleman
72558c31a3 Quick hack to fix bug with ISO images that have multiple FL2 files 2017-07-03 14:43:05 +08:00
Hamish Coleman
ffe384c17d Cleanup old make rules - no longer used 2017-07-03 14:42:30 +08:00
Hamish Coleman
b9b1e2977f use the Descriptions file to generate most of the static rules 2017-07-03 14:12:42 +08:00
Hamish Coleman
ae52989189 Remove the last set of the *.slice files and replace them with a script that can generically extract all currently known firmware images from their FL2 files 2017-07-01 09:22:52 +08:00
Hamish Coleman
d0c011aecf Remove the .orig from all the Descriptions.txt entries - this will make it easier to create automatic rules in the future 2017-06-30 11:36:36 +08:00
Hamish Coleman
258c3542f1 Remove accidental duplicate rule 2017-06-30 11:17:07 +08:00
Hamish Coleman
e6a5dbec6f Remove an overzelous checksum check - which also fixes a bug, since it was checking the wrong file anyway 2017-06-30 09:19:35 +08:00
Hamish Coleman
4926788cd1 Merge branch 'ypid-fix-x260-and-x270' 2017-06-30 09:11:25 +08:00
Hamish Coleman
64112afd75 Ensure that the iso extract targets dont ever pause for interactive input 2017-06-30 09:00:15 +08:00
Hamish Coleman
02e0f1b052 Add a TODO note 2017-06-29 14:13:05 +08:00
Robin Schneider
e5f5b685f6
Remove x260.R02HT29W.img target which is not yet usable and confusing 2017-06-29 07:59:13 +02:00
Hamish Coleman
e5537cfdb0 Make the .txt.orig downloader more generic.
As two examples - When looking at the release notes for the x200 laptop,
they have the same "uc" name as the cdrom image.  The release notes for
the x270 laptop also has the same name as the cdrom image, but they use
neither the "uc" nor the "us" suffixes.

So, it seemed simplest to be the least smart and just download whatever
matches the cdrom image name.

This has the drawback that we sometimes end up with text files that tell
you how to use the windows .exe installer - but I am hoping that the
people reading these release notes will be able to realise that not all
instructions should be followed...
2017-06-29 13:01:44 +08:00
Hamish Coleman
43506237f0 Allow the makefile to explicitly specify to copyFL2 which FL2 file should be worked on 2017-06-29 12:51:03 +08:00
Hamish Coleman
ff38536430 Merge branch 'ypid-add_mount_and_extract_target' 2017-06-29 11:52:08 +08:00
Hamish Coleman
f28d0a1984 Update the docs with details on how extracting the ISO contents works.
This also documents the new .extract make targets and moves the direct
loopback mount option entirely into the documentation.  It has been
moved because I want to discourage people from using it - I consider
it to be a higher risk with no good return for this risk.
2017-06-29 11:47:21 +08:00
Hamish Coleman
73d2a249a0 Remove the fix-hdd-image patch files and replace them with a generic MBR fixer script 2017-06-25 20:10:56 +08:00
Robin Schneider
32a071e67f
Remove -m from mcopy calls used for extracting 2017-06-24 21:54:38 +02:00
Robin Schneider
d3186b5a4a
Add a Makefile target to mount or extract the fat16 fs embedded in ISOs 2017-06-24 21:53:12 +02:00
Hamish Coleman
8eb3d4f571 Rearrange the clean target so we dont recursively delete things 2017-06-23 09:23:11 +08:00
Hamish Coleman
5dbd7f4362 Remove unneeded quotes 2017-06-22 20:15:27 +08:00
Hamish Coleman
94538c3e16 Merge branch 'ypid-add-txt-dl-target' 2017-06-22 20:14:43 +08:00
Hamish Coleman
89e3f0a660 Also support downloading release notes for newer systems, where this is no us/uc crazy naming 2017-06-22 20:12:20 +08:00
Hamish Coleman
ee51f748b8 Verify if txt notes match a known iso 2017-06-22 19:47:00 +08:00
Hamish Coleman
b11165457f Add a check that the correct qemu hard drive patch exists 2017-06-20 15:59:22 +08:00
Hamish Coleman
4cbc329c4a Add rm-on-fail to the hexpatch script, allowing more confidence that repeated make invocations will not accidentally succeed 2017-06-20 15:58:55 +08:00
Hamish Coleman
93f327106e Merge pull request #29 from ypid/fix-docs
Fix spelling
2017-06-20 15:28:55 +08:00
Hamish Coleman
91b41539dc Merge pull request #28 from ypid/clean-.d
Ensure DEPSDIR (.d) is removed on `make clean` as well
2017-06-20 15:27:13 +08:00
Hamish Coleman
5b9b1f6d8b Merge branch 'ypid-nicer_patch_mv' 2017-06-20 14:49:02 +08:00
Hamish Coleman
df8930dfdc Remove superfluous else case 2017-06-20 14:48:16 +08:00
Hamish Coleman
c7e03d0ae9 With the FL2 slice files gone, update some of the hacking notes 2017-06-20 14:40:43 +08:00
Hamish Coleman
e3d2a200bd Note that we are too strict with some of the checksums, add the mec tools checks which might replace the checksum 2017-06-20 14:36:59 +08:00
Robin Schneider
a7c0a2e67f
Fix spelling
git ls-files -z "$(git rev-parse --show-toplevel)" | xargs --null -I '{}' find '{}' -type f -print0 | xargs --null sed --in-place --regexp-extended 's/dependancy/dependency/g;'
2017-06-18 00:01:19 +02:00
Robin Schneider
a641f33032
Ensure DEPSDIR (.d) is removed on make clean as well
Important because of "The slice.deps targets basically do not handle
add/del/change of the *.slice files."
2017-06-17 21:05:44 +02:00
Robin Schneider
b3a453d3b7
Fix x260 and x270 ec firmware extract 2017-06-17 20:48:20 +02:00
Robin Schneider
397cbf906a
Add simple filename validation before attempting to download 2017-06-16 14:17:19 +02:00
Robin Schneider
179dc64a98
Don’t disable/enable patches which are already in their desired state
Avoids `mv` fail and in turn `make` fail.

```
for i in *.img.d; do mv $i/006_battery_validate.patch $i/006_battery_validate.patch.OFF; done
mv: cannot stat 't430.G1HT35WW.img.d/006_battery_validate.patch': No such file or directory
mv: cannot stat 't430s.G7HT39WW.img.d/006_battery_validate.patch': No such file or directory
mv: cannot stat 't530.G4HT39WW.img.d/006_battery_validate.patch': No such file or directory
mv: cannot stat 'w530.G4HT39WW.img.d/006_battery_validate.patch': No such file or directory
mv: cannot stat 'x230.G2HT35WW.img.d/006_battery_validate.patch': No such file or directory
mv: cannot stat 'x230t.GCHT25WW.img.d/006_battery_validate.patch': No such file or directory
Makefile:126: recipe for target 'patch_disable_battery' failed
make: *** [patch_disable_battery] Error 1
```
2017-06-16 13:48:53 +02:00
Hamish Coleman
2487dcb625 Update makefile table sort order to make a little more sense 2017-06-16 19:40:59 +08:00
Hamish Coleman
e92da3082b Minor documentation updates 2017-06-16 19:40:37 +08:00
Hamish Coleman
0ac064a329 Merge pull request #22 from ypid/add_QEMU_OPTIONS
Allow to configure QEMU_OPTIONS to disable -enable-kvm
2017-06-16 19:03:09 +08:00
Robin Schneider
241b00df51
Allow to configure QEMU_OPTIONS to disable -enable-kvm
Not all environments have access to KVM support. For example if you
already work inside a VM (Qubes OS).
2017-06-16 11:51:27 +02:00
Robin Schneider
ec0383fdbe
Add makefile target to download README text file for ISO images 2017-06-16 11:50:53 +02:00
Hamish Coleman
bd80d6bc6b Stop using the *.FL2.slice files - replace them with mcopy.
Note that this has the disadvantage that the resulting patched ISO images
are no longer easily diffable - the sectors used to store the patched
firmware will be changed by the mcopy program.

Since it turns out that the ISO image diff files were basically never
used, this is not a big issue - it mainly makes it harder to do QA on
the output.
2017-06-16 17:37:42 +08:00
Hamish Coleman
47b3a6a1b2 Make the rule defines slightly better named and slightly better commented 2017-06-16 17:13:03 +08:00
Hamish Coleman
7e614e9da5 BUG: fix the deps on the creation of the batch files 2017-06-16 17:12:02 +08:00
Hamish Coleman
f78f9c2419 Make unknown files cause an error immediately 2017-06-16 16:36:27 +08:00
Hamish Coleman
61cdddaa9a Remove the many little .sha1 files and add this information to the description file 2017-06-16 15:24:54 +08:00
Hamish Coleman
c666443e40 Use a script to describe files 2017-06-16 13:22:28 +08:00
Hamish Coleman
3c42a4eea3 Move all scripts into their own dir 2017-06-16 12:19:53 +08:00
Hamish Coleman
453e9e67a5 Replace lots of little description files with one big one 2017-06-15 19:56:38 +08:00
Hamish Coleman
e3aff27cc3 Remove the automated list_iso as it duplicates the more flexible list_laptops output 2017-06-15 18:47:42 +08:00
Hamish Coleman
fd3ba888c7 Update t430 to use bios 2.72 (G1ETB2WW) ISO (no EC changes) - fixes issue #19 2017-06-15 18:12:39 +08:00
Hamish Coleman
1222b329b6 Quick doc bug fix - thanks Tasurinchi 2017-06-09 10:08:42 +08:00
Evey Quirk
e4f056d8ea Update x230 to latest bios iso, no EC changes 2017-06-03 06:01:30 +00:00
Hamish Coleman
114299e6c7 Add makefile helper targets for enabling and disabling patchsets, then document all this 2017-01-31 13:50:58 +08:00
Hamish Coleman
56d8061814 New version of radare puts project files in a slightly different spot 2016-12-22 13:59:01 +08:00
Hamish Coleman
0eabb0b9f4 BUG: fix a command execution order issue - the make 'shell' command was expanded before the geteltorito command, which meant that there was no file for stat to use 2016-08-11 17:28:07 +10:00
Hamish Coleman
01ad8a01f6 BUG: fix incorrectly updated line (see #9)
This fixes an issue introduced with 48b019b660
2016-08-05 14:56:28 +10:00
Hamish Coleman
92d3542567 Make the 'clean' target useful for rebuilding with different patches applied 2016-07-19 14:52:03 +10:00
Hamish Coleman
53df7d5a8e The t430 ISO images are slightly larger than all the other ones, so the hdd image fix does not apply. Fix this by selecting the patch to use based on the size of the hdd image 2016-07-14 11:18:45 +10:00
Hamish Coleman
708a5c18bc Remove the UEFI updater to ensure it doesnt get accidentally used. Update instructions to state that you need to boot with legacy mode 2016-06-22 11:02:06 +10:00
Hamish Coleman
48b019b660 Update the base image of the t430 patch to use the latest lenovo release (no EC changes in this version) 2016-06-06 17:12:48 +10:00
Hamish Coleman
2a16826e37 Make sure the build info gets shown as the last messages - for img output as well as iso. 2016-06-06 11:59:57 +10:00
Hamish Coleman
f44a0c212f Show the build strings at the end of the build 2016-06-06 11:40:23 +10:00
Hamish Coleman
eaac31d226 Add the checksum of the built FL2 to the details shown 2016-06-06 11:32:27 +10:00
Hamish Coleman
894dfa4344 Add a build info line to the displayed batch file 2016-06-06 11:16:02 +10:00
Hamish Coleman
e25ba35146 Make the builds fully reproducable 2016-06-04 15:03:29 +10:00
Hamish Coleman
0e4b155ce8 Try to improve presentation of multiple versions and patch types 2016-06-03 13:01:04 +10:00
Phil Ashby
63fd87d1c0 Added T430 BIOS 2.57, plus battery patch 2016-06-02 22:44:14 +01:00
Hamish Coleman
c7ccad9614 Centralise the mtools config flag - which makes it impossible to forget to add 2016-05-28 23:35:51 +10:00
Hamish Coleman
c382909865 Add one more file to the clean target 2016-05-28 22:28:35 +10:00
Hamish Coleman
e7ac46c9ee BUG: add some forgotten mtools options 2016-05-28 22:24:43 +10:00
Hamish Coleman
678ec494fc Add a simple clean target 2016-05-28 22:21:22 +10:00
Hamish Coleman
10003c54a0 Remove one of the temp file hacks now mec-tools is upgraded 2016-05-28 17:46:10 +10:00
Hamish Coleman
2fdb758f6b BUG: repeated failing makes could generate bad output.
This is a quick fix to address two issues:

* Firstly, if the mec-tools mec_encrypt binary cannot be compiled,
gcc still produces an output file - it is a non executable "precompiled
header" file.  I assume there is a bug in the mec-tools makefile
logic, which I will look for later.

* Secondly, because I am using stdout for file generation, many commands
will still produce an output file even when they fail.  This output file
then looks "good" to the make command, which will carry on to do the
next step.

Since fixing the failed commands in my Makefile makes things more robust
in general, it also avoids the compile issue with the mec-tools.
2016-05-26 17:10:52 +10:00
Hamish Coleman
eef19f110b BUG: Fix use of wrong path separator char in dosflash command 2016-05-24 11:30:08 +10:00
Hamish Coleman
35b8918138 Update code and instructions to default to using USB disk image files 2016-05-20 13:15:18 +10:00
Hamish Coleman
1b2eb85661 Hide the internal lenovo iso name in favor of friendly ISO names 2016-05-20 11:24:23 +10:00
Hamish Coleman
5d3665d67a Add a radare project for the x260 2016-04-29 20:36:28 +10:00
Hamish Coleman
66a696aa3b BUG: Fix mtools check errors reported by brchan on thinkpads forum
It seems that mtools behaves differently with different versions and
that some versions react badly to the FAT16 image used in the Lenovo
ISO updates.

    mcopy -o -i g5uj28us.iso@@71680 g5uj28us.iso.bat ::AUTOEXEC.BAT
    Total number of sectors (64195) not a multiple of sectors per track (32)!
    Add mtools_skip_check=1 to your .mtoolsrc file to skip this test

adding the skip_check environment variable simply ignores this error...
2016-04-28 13:09:15 +10:00
Hamish Coleman
f3508131a4 DRY: Factor out two psuedo rules into central places by using functions - however, this is a little hacky... 2016-04-28 13:08:24 +10:00
Hamish Coleman
cf708bcc22 Add t530 support - this appears to share the EC firmware with the w530 2016-04-27 18:44:21 +10:00
Hamish Coleman
ebd8eef3af Add x230t support 2016-04-27 18:10:49 +10:00
Hamish Coleman
b6900ae694 Quick hack to help address the stale deps files 2016-04-27 17:22:04 +10:00
Hamish Coleman
09ba9623c9 Add t430s bootable ISO 2016-04-27 13:06:19 +10:00
Hamish Coleman
30b18aa01c Add t430 bootable ISO 2016-04-27 12:57:53 +10:00
Hamish Coleman
27fb4c48f7 Add w530 ISO output 2016-04-27 12:47:42 +10:00
Hamish Coleman
f8627901fd Add a helper target to burn an ISO to a CDRW 2016-04-27 12:47:10 +10:00
Hamish Coleman
82b0d245c5 Add an empty line to make output look nice 2016-04-27 12:46:47 +10:00
Hamish Coleman
229f54a028 Autogenerate the list of available bootable ISO images 2016-04-27 11:54:10 +10:00
Hamish Coleman
2f51844966 Update readme and descriptive make targets - again, hopefully making them simpler 2016-04-27 11:43:31 +10:00
Hamish Coleman
6829138024 Add a warning and some details to the auto flash batch file 2016-04-27 11:28:21 +10:00
Hamish Coleman
d8feed7eee Make the maintenance of the makefile simpler by moving a whole lot of static deps into a simple dependancy generator 2016-04-27 11:16:19 +10:00
Hamish Coleman
09be98fb8c Change dosflash extractor to use mtools and to be generic across multiple ISO images 2016-04-27 11:05:14 +10:00
Hamish Coleman
bf0c946300 Add a bootable ISO image target for x230 2016-04-27 00:43:48 +10:00