summaryrefslogtreecommitdiff
path: root/rbutil/mkimxboot (follow)
Commit message (Collapse)AuthorAge
* mkimxboot: fix compilation issues with crypto libCástor Muñoz2017-06-24
| | | | Change-Id: Ic81583dc7e872d332cbd4fd87143579cceeda484
* imxtools/sbtools: switch SHA1 implementation to Crypto++Amaury Pouly2017-01-16
| | | | | | | The current implementation was custom and super slow. Since we use Crypto++ anyway, we might as well get use a good implementation. Change-Id: I761ad7401653471e54000e1c2bc3d9882378112f
* imxtools/sbtools: switch AES implementation to Crypto++Amaury Pouly2017-01-16
| | | | | | | | Instead of having our own copy of the AES code, use a good library to do that. Crypto++ is well-maintained, supports a lot of ciphers, works on many OSes, and is optimized for many architectures. Change-Id: I7d7d24b47993206d7338c5f9bac8bbdd3915a667
* imxtools/sbtools: rework cryptographyAmaury Pouly2017-01-16
| | | | | | | | | | It was a mess, a mix of crypto_* and cbc_mac calls. I made everything call crypto functions, and also separate key setup from cryptographic operations, this will be useful to speed up the code in the upcoming commits. Drop support for "usbotp" key, since the crypto code for that was never mainlined and we can always get the keys from a device as long as we have code execution (using the DCP debug registers). Change-Id: I7aa24d12207ffb744225d1b9cc7cb1dc7281dd22
* imxtools: rework key/IV overriding logicAmaury Pouly2017-01-16
| | | | | | | The overriding of the IV and real key should be the exception, there is no need to manually set them to false. Change-Id: Id66754f20a79aa5c1a991839345d1242e0aa587d
* mkimxboot: add NWZ-E380 firmware 1.00.200Amaury Pouly2017-01-02
| | | | Change-Id: I0c949a464a0e5880d1215db571aac402ca81eae9
* mkimxboot: implement firmware unpatchingAmaury Pouly2017-01-02
| | | | Change-Id: Idfd68c06f89cdef8e95865e3ff177a6daa072c1a
* imxtools: completely rework patching logic to prepare unpatchingAmaury Pouly2017-01-02
| | | | | | | | | | | The old code was working but a mess to maintain. The new code is cleaner and always simpler handling of all the different options. Extraction of the OF is no longer a standalone function but just one particular output type. This commit prepares the ground for firmware "unpatching" (aka OF extraction from patched OF). The patching code itself did not change so this commit should still produce the exact same images as before. Change-Id: I3840793d4b78b8435e38c08f558840925085ead1
* mkimxboot: add the concept of soft MD5 sumAmaury Pouly2017-01-02
| | | | Change-Id: I7e83218ce0dccc1f4c4a7a6bb9c1df00dacf260b
* mkimxboot: don't forget to pass model if given on command lineAmaury Pouly2016-12-19
| | | | Change-Id: I1d20b38ff5b0f337d9a2eef6e2e1d6c170aabce7
* imx233: add capability to boot OF or updater instead of RockboxAmaury Pouly2016-12-12
| | | | | | | | | | | | | | | | This commit adds the necessary code in the dualboot stub (bootloader) to let rockbox control the boot process. In particular, rockbox can now choose if the next boot will be normal (boot rockbox or OF on magic key), to OF or to updater. The intents (to be added in follow-up commits) are: 1) Let the user more easily reboot to the OF. On some targets it is not trivial, especially in USB mode. 2) Automatically reboot to updater when the user drop firmware.sb at the root of the drive (currently, the user needs to do that in OF USB mode) 3) Document this OF magic Change-Id: I86df651dec048c318c6a22de74abb8c6b41aa9ad
* imx233: fix dualboot, forgot a fileAmaury Pouly2016-09-22
| | | | Change-Id: I8d5817d75f76a201c3a8b76db0d1e11f71548179
* imx233: fix dualboot stubsAmaury Pouly2016-09-22
| | | | | | | They did not compile anymore after the register hearder rework. This change only fixes the syntax, the generated binaries are exactly identical. Change-Id: Iec2347aa3deb1ddfe2ca36f0db1e481c4e2d329c
* mkimxboot: remove code for NWZ-370/380Amaury Pouly2016-05-25
| | | | | | | | Since the stub code is shared with NWZ-360, it enables the pullup for the hold button, but the NWZ-370/380 doesn't have a hold button so don't compile this code in, it could potentially have unexpected effets or increase consumption Change-Id: I28c8aa40fc7f9373593ff105fb6df557a6f57ccd
* mkimxboot: make cross compiler for dualboot stubs overridableAmaury Pouly2016-05-25
| | | | Change-Id: I90d2048f622b355eae7091e536b940b2ac828583
* mkimxboot: fix usage messageAmaury Pouly2015-03-08
| | | | Change-Id: I7a7a2c56c434525ac242f447dd8bb287d5fc69eb
* Limit more variables to file scopeThomas Jarosch2015-01-11
| | | | Change-Id: I30219d626316776eb73b4205d63376fa3dbc6361
* Compile imxtools as gnu99 standard.Dominik Riebeling2014-06-30
| | | | | | | With current MinGW using c99 as standard the compiler causes problems with some types. Use gnu99 standard instead which doesn't do this. Change-Id: I731f58025645ae88ac226593a2b2a62140285ee8
* mkimxboot: don't forget to select LRADC source before readingAmaury Pouly2014-02-10
| | | | Change-Id: I3435857f48580d7b3bf9363a2eed96738fbda69a
* mkimxboot: tool can now recreate a stub to recover from very low batteryAmaury Pouly2014-01-21
| | | | | | | | | | | | | | | Several devices, including the Fuze+ have great trouble recovering from very low battery states, even in the presence of USB power. This is partly due to buggy Sigmatel boot stubs and Rockbox bootloader doing unsafe power operations on boot (should be fixed soon). In such a state, it is impossible to boot either the OF and Rockbox, so only the recovery mode is available. With this commit, mkimxboot can now create a very small stub which only does one thing but does it well: setup charging to recover from any situation. It does not provide a fancy charging screen or whatever, screen will just stay black and the device will slowly charge at ~100mA. When the battery is back to a normal level, just unplug and boot normally. Change-Id: Ib50880af85ed1f4f64a7eed0f2221e73c889c351
* mkzenboot: reflect ZEN V target id changeAmaury Pouly2014-01-21
| | | | Change-Id: I0bad98b43e1a23c9432f4bdfe78dc77ead7879a8
* mkimxboot: fix strange MD5 sum about ZEN X-Fi3Amaury Pouly2014-01-21
| | | | | | | This old sum didn't match the US or EU 1.00.25 version and the actual ones were missing. Change-Id: I942641e5f367ab45794cb93a8b26b87962172216
* Initial commit for the ZEN X-Fi StyleAmaury Pouly2014-01-21
| | | | Change-Id: Ib25a357a7bafd2ef25f273cadff70fafbd8d4661
* mkimxboot: add NWZ-E380 1.0.0 firmwareAmaury Pouly2013-11-13
| | | | | | Since E380 is just rebranded E370, mark it as E370 Change-Id: I2eb7dac9ff18a7dbbd26c44b8784207e54f48dd0
* Remove useless bracesAmaury Pouly2013-10-21
| | | | Change-Id: I88cce98cd8cc04f0245fba8ef30434167df483fc
* mkimxboot: add NWZ-E370 1.0.1 firmware (US)Amaury Pouly2013-09-28
| | | | Change-Id: I49ddcbe2f5c1c3aabc604b81b89272cf0292e28e
* sonynwz: rework dualboot mechanismAmaury Pouly2013-09-26
| | | | | | | | Now boot to RB if play/pause is pressed during 1 second, and to OF if back is pressed 1 second. Otherwise power off. If hold is on, also power off. In USB and alarm context, always boot and back determines OF vs RB. Change-Id: Ie1d6c971901d6473255461cc7d71a5ee3177ecad
* mkimxboot: always clean up dualboot elf filesAmaury Pouly2013-09-26
| | | | Change-Id: I80ed1af784aa80bec9fa0b1e9322f25e69672510
* Add support for the sony NWZ-E360/E370 to mkimxbootAmaury Pouly2013-09-25
| | | | Change-Id: Ied73591326339d22b4f21d311da9e6b1b9c223ed
* mkimxboot: fix crashAmaury Pouly2013-08-22
| | | | | | | I was too aggressive when converting reads to standard reads, this one is memory based and not file based Change-Id: Ibe7162894cc44cbd79f56cafe7136bda0f76bcdc
* mkimxboot: add entry for ZEN X-Fi3 1.00.25e firmwareAmaury Pouly2013-08-22
| | | | Change-Id: I2c6cc4003bcc96662211fa066dd9e6e438b7e258
* sbtools: more code refactoringAmaury Pouly2013-08-21
| | | | | | Factor all printf method with a unique one defined in misc.h Change-Id: I58fbf8916b76e873a2e6678506d2c8aece7834ec
* sbtools: more printf fixingAmaury Pouly2013-08-10
| | | | Change-Id: Id617297c196b381fd1c381da3eff4345e3157529
* mkimxboot: fix redAmaury Pouly2013-08-06
| | | | Change-Id: Id5d27fc00969b6999df665e7182b7ff27bccfacd
* mkimxboot: code simplificationAmaury Pouly2013-08-06
| | | | Change-Id: Ic16334c262ee5bce3575c306440f7e1de2b247f9
* mkimxboot: rewrite dualbootAmaury Pouly2013-07-07
| | | | | | | | | Rewrite dualboot in C code instead of assembly. Also properly handle subtarget and simply Makefile. This should make the dualboot stub more readable and easier to extend. The new code also gracefully handles power up from RTC alarm on imx233. Change-Id: I7c225254b1463a97e76b6cb4de476aa2d2c9d2f9
* mkimxboot: add zen style 100/300 firmware to the listAmaury Pouly2013-06-18
| | | | | | | The tool cannot produce any firmware yet but it can extract the OF from the installer. Change-Id: I98684b2bf43310443d93b482aa853464f6f87fa8
* mkimxboot: factor code, add support for ELF filesAmaury Pouly2013-06-16
| | | | | | | | | | | Refactor code. This tool can now either load a scrambled rockbox firmware (in which case the model is check against the firmware), or any ELF file. This is useful for example for hwstub which produces a ELF file and still needs to be loaded by producing a SB file. Change-Id: I7aa381b3f6587788d1950793e89ce5608c53cccc
* sbtools,mkximboot: fix whitespaceAmaury Pouly2013-06-15
| | | | Change-Id: I8d8adb783707172d1aaef302366c240310350ed8
* mkimxboot: refactor code, no functional changeAmaury Pouly2013-06-15
| | | | | | | | | The mkimxboot was becoming messy with juge functions and redundant code. Factor reading/writing/loading code into smaller functions. Introduce the concept of rockbox firmware to simplify support of other formats than scramble. Change-Id: I3a61295ca5abca1a0eee8c9e8709c6b8dfa256a6
* mkximxboot: fix usage() formattingAmaury Pouly2013-06-15
| | | | Change-Id: I2f708e2830168f481018b8d8ce98134e40b4e8f8
* Make libtools compile rule more generic.Dominik Riebeling2013-05-11
| | | | | | | | | | Create the object - source dependency internally and use a more generic rule for compiling. Removes the need for explicit rules for source files located in a different folder. This adds the limitation for SOURCES and LIBSOURCES to only hold C files. Change-Id: I56f6a4b1e7df36347cd2f54051e072251f456092
* mkimxboot: fix usageAmaury Pouly2013-03-10
| | | | Change-Id: I049908ac0fe65646906999b7e661a64506bd2594
* mkimxtool: increase performance by compiling with O3Amaury Pouly2013-02-17
| | | | Change-Id: I3d69801488abec4fbc2a84665614936105f60ad2
* mkimxboot: add a switch to force versionAmaury Pouly2013-01-29
| | | | | | | | | | | | | Add a switch to override the product and component version of the sb file. This can usually for target like the Zen X-Fi2 where the upader allows to drop any file named firmware.sb and prints the version: by using a funky version the users can check they got it right. This should not be used on the fuze+ or zenxfi3 because the OF prevents downgrade. Also make rbutil always zero out the option structure passed to mkimxboot, this has already created bugs in the past. Change-Id: I175c5def52c40c2132e11300e2f037d60a4f040e
* mkimxboot: add support for 1.23.01 installerAmaury Pouly2013-01-28
| | | | Change-Id: Ibce345ec411a189bd4a0a9555d145c4f057d8b15
* zenxfi2: rework dualbootAmaury Pouly2013-01-28
| | | | | | | | | | | The previous dualboot scheme had a major flow: it needed to hold menu to boot OF but the X-Fi2 boot in recovery mode with menu! It was possible but very trick to enter the OF with USB plugged. This code provides a new scheme: - no USB plugged: boot to OF when menu is pressed - USB plugged: boot to OF when power is pressed Change-Id: Ia6e76d3ada1f67137b727daa050cf6c77afbbfb9
* mkimxboot: add partial support for the Zen X-Fi StyleAmaury Pouly2013-01-26
| | | | Change-Id: I3428a398959dfd7fc46175d87fc67acce6a75171
* fix styleAmaury Pouly2013-01-26
| | | | Change-Id: I169b6712121979453269f5f5238b33cc49cd62b2
* mkimxboot: add an option to extract the of without processingAmaury Pouly2013-01-26
| | | | Change-Id: Ie370f152f4efff4428ee023a9211b82a77fd1df4