185 Commits (master)

Author SHA1 Message Date
Hamish Coleman 0fa73ec043 The E330 firmware update had a different FAT_OFFSET to everything else, note that we need to deal with that 7 years ago
Hamish Coleman 615f87dd2b Remove the last manually maintained list from the Makefile - all lists of rules are now generated from the Descriptions.txt 7 years ago
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)
7 years ago
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 7 years ago
Hamish Coleman bafb93e668 Add example macros to special case the x200 ISO image - which has two FL2 files 7 years ago
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) 7 years ago
Hamish Coleman 2d87c9daff Wrap the rule_IMG_extract macro with failsafe tmp files 7 years ago
Hamish Coleman 72558c31a3 Quick hack to fix bug with ISO images that have multiple FL2 files 7 years ago
Hamish Coleman ffe384c17d Cleanup old make rules - no longer used 7 years ago
Hamish Coleman b9b1e2977f use the Descriptions file to generate most of the static rules 7 years ago
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 7 years ago
Hamish Coleman d0c011aecf Remove the .orig from all the Descriptions.txt entries - this will make it easier to create automatic rules in the future 7 years ago
Hamish Coleman 258c3542f1 Remove accidental duplicate rule 7 years ago
Hamish Coleman e6a5dbec6f Remove an overzelous checksum check - which also fixes a bug, since it was checking the wrong file anyway 7 years ago
Hamish Coleman 4926788cd1 Merge branch 'ypid-fix-x260-and-x270' 7 years ago
Hamish Coleman 64112afd75 Ensure that the iso extract targets dont ever pause for interactive input 7 years ago
Hamish Coleman 02e0f1b052 Add a TODO note 7 years ago
Robin Schneider e5f5b685f6
Remove x260.R02HT29W.img target which is not yet usable and confusing 7 years ago
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...
7 years ago
Hamish Coleman 43506237f0 Allow the makefile to explicitly specify to copyFL2 which FL2 file should be worked on 7 years ago
Hamish Coleman ff38536430 Merge branch 'ypid-add_mount_and_extract_target' 7 years ago
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.
7 years ago
Hamish Coleman 73d2a249a0 Remove the fix-hdd-image patch files and replace them with a generic MBR fixer script 7 years ago
Robin Schneider 32a071e67f
Remove `-m` from `mcopy` calls used for extracting 7 years ago
Robin Schneider d3186b5a4a
Add a Makefile target to mount or extract the fat16 fs embedded in ISOs 7 years ago
Hamish Coleman 8eb3d4f571 Rearrange the clean target so we dont recursively delete things 7 years ago
Hamish Coleman 5dbd7f4362 Remove unneeded quotes 7 years ago
Hamish Coleman 94538c3e16 Merge branch 'ypid-add-txt-dl-target' 7 years ago
Hamish Coleman 89e3f0a660 Also support downloading release notes for newer systems, where this is no us/uc crazy naming 7 years ago
Hamish Coleman ee51f748b8 Verify if txt notes match a known iso 7 years ago
Hamish Coleman b11165457f Add a check that the correct qemu hard drive patch exists 7 years ago
Hamish Coleman 4cbc329c4a Add rm-on-fail to the hexpatch script, allowing more confidence that repeated make invocations will not accidentally succeed 7 years ago
Hamish Coleman 93f327106e Merge pull request #29 from ypid/fix-docs
Fix spelling
7 years ago
Hamish Coleman 91b41539dc Merge pull request #28 from ypid/clean-.d
Ensure DEPSDIR (.d) is removed on `make clean` as well
7 years ago
Hamish Coleman 5b9b1f6d8b Merge branch 'ypid-nicer_patch_mv' 7 years ago
Hamish Coleman df8930dfdc Remove superfluous else case 7 years ago
Hamish Coleman c7e03d0ae9 With the FL2 slice files gone, update some of the hacking notes 7 years ago
Hamish Coleman e3d2a200bd Note that we are too strict with some of the checksums, add the mec tools checks which might replace the checksum 7 years ago
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;'
7 years ago
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."
7 years ago
Robin Schneider b3a453d3b7
Fix x260 and x270 ec firmware extract 7 years ago
Robin Schneider 397cbf906a
Add simple filename validation before attempting to download 7 years ago
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
```
7 years ago
Hamish Coleman 2487dcb625 Update makefile table sort order to make a little more sense 7 years ago
Hamish Coleman e92da3082b Minor documentation updates 7 years ago
Hamish Coleman 0ac064a329 Merge pull request #22 from ypid/add_QEMU_OPTIONS
Allow to configure QEMU_OPTIONS to disable -enable-kvm
7 years ago
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).
7 years ago
Robin Schneider ec0383fdbe
Add makefile target to download README text file for ISO images 7 years ago
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.
7 years ago
Hamish Coleman 47b3a6a1b2 Make the rule defines slightly better named and slightly better commented 7 years ago
Hamish Coleman 7e614e9da5 BUG: fix the deps on the creation of the batch files 7 years ago
Hamish Coleman f78f9c2419 Make unknown files cause an error immediately 7 years ago
Hamish Coleman 61cdddaa9a Remove the many little .sha1 files and add this information to the description file 7 years ago
Hamish Coleman c666443e40 Use a script to describe files 7 years ago
Hamish Coleman 3c42a4eea3 Move all scripts into their own dir 7 years ago
Hamish Coleman 453e9e67a5 Replace lots of little description files with one big one 7 years ago
Hamish Coleman e3aff27cc3 Remove the automated list_iso as it duplicates the more flexible list_laptops output 7 years ago
Hamish Coleman fd3ba888c7 Update t430 to use bios 2.72 (G1ETB2WW) ISO (no EC changes) - fixes issue #19 7 years ago
Hamish Coleman 1222b329b6 Quick doc bug fix - thanks Tasurinchi 7 years ago
Evey Quirk e4f056d8ea Update x230 to latest bios iso, no EC changes 7 years ago
Hamish Coleman 114299e6c7 Add makefile helper targets for enabling and disabling patchsets, then document all this 7 years ago
Hamish Coleman 56d8061814 New version of radare puts project files in a slightly different spot 8 years ago
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 8 years ago
Hamish Coleman 01ad8a01f6 BUG: fix incorrectly updated line (see #9)
This fixes an issue introduced with 48b019b660
8 years ago
Hamish Coleman 92d3542567 Make the 'clean' target useful for rebuilding with different patches applied 8 years ago
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 8 years ago
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 8 years ago
Hamish Coleman 48b019b660 Update the base image of the t430 patch to use the latest lenovo release (no EC changes in this version) 8 years ago
Hamish Coleman 2a16826e37 Make sure the build info gets shown as the last messages - for img output as well as iso. 8 years ago
Hamish Coleman f44a0c212f Show the build strings at the end of the build 8 years ago
Hamish Coleman eaac31d226 Add the checksum of the built FL2 to the details shown 8 years ago
Hamish Coleman 894dfa4344 Add a build info line to the displayed batch file 8 years ago
Hamish Coleman e25ba35146 Make the builds fully reproducable 8 years ago
Hamish Coleman 0e4b155ce8 Try to improve presentation of multiple versions and patch types 8 years ago
Phil Ashby 63fd87d1c0 Added T430 BIOS 2.57, plus battery patch 8 years ago
Hamish Coleman c7ccad9614 Centralise the mtools config flag - which makes it impossible to forget to add 8 years ago
Hamish Coleman c382909865 Add one more file to the clean target 8 years ago
Hamish Coleman e7ac46c9ee BUG: add some forgotten mtools options 8 years ago
Hamish Coleman 678ec494fc Add a simple clean target 8 years ago
Hamish Coleman 10003c54a0 Remove one of the temp file hacks now mec-tools is upgraded 8 years ago
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.
8 years ago
Hamish Coleman eef19f110b BUG: Fix use of wrong path separator char in dosflash command 8 years ago
Hamish Coleman 35b8918138 Update code and instructions to default to using USB disk image files 8 years ago
Hamish Coleman 1b2eb85661 Hide the internal lenovo iso name in favor of friendly ISO names 8 years ago
Hamish Coleman 5d3665d67a Add a radare project for the x260 8 years ago
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...
8 years ago
Hamish Coleman f3508131a4 DRY: Factor out two psuedo rules into central places by using functions - however, this is a little hacky... 8 years ago
Hamish Coleman cf708bcc22 Add t530 support - this appears to share the EC firmware with the w530 8 years ago
Hamish Coleman ebd8eef3af Add x230t support 8 years ago
Hamish Coleman b6900ae694 Quick hack to help address the stale deps files 8 years ago
Hamish Coleman 09ba9623c9 Add t430s bootable ISO 8 years ago
Hamish Coleman 30b18aa01c Add t430 bootable ISO 8 years ago
Hamish Coleman 27fb4c48f7 Add w530 ISO output 8 years ago
Hamish Coleman f8627901fd Add a helper target to burn an ISO to a CDRW 8 years ago
Hamish Coleman 82b0d245c5 Add an empty line to make output look nice 8 years ago
Hamish Coleman 229f54a028 Autogenerate the list of available bootable ISO images 8 years ago
Hamish Coleman 2f51844966 Update readme and descriptive make targets - again, hopefully making them simpler 8 years ago
Hamish Coleman 6829138024 Add a warning and some details to the auto flash batch file 8 years ago
Hamish Coleman d8feed7eee Make the maintenance of the makefile simpler by moving a whole lot of static deps into a simple dependancy generator 8 years ago
Hamish Coleman 09be98fb8c Change dosflash extractor to use mtools and to be generic across multiple ISO images 8 years ago