Age | Commit message (Collapse) | Author | Files | Lines |
|
Necessary to get working builds on my Fedora 29 system.
Change-Id: Ia6232427c959629ade9a85fc412738f688facedb
|
|
Change-Id: I9362b62351925aef5b14656635875123942fe7e4
|
|
Change-Id: Ic81583dc7e872d332cbd4fd87143579cceeda484
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Change-Id: I0c949a464a0e5880d1215db571aac402ca81eae9
|
|
Change-Id: Idfd68c06f89cdef8e95865e3ff177a6daa072c1a
|
|
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
|
|
Change-Id: I7e83218ce0dccc1f4c4a7a6bb9c1df00dacf260b
|
|
Change-Id: I1d20b38ff5b0f337d9a2eef6e2e1d6c170aabce7
|
|
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
|
|
Change-Id: I8d5817d75f76a201c3a8b76db0d1e11f71548179
|
|
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
|
|
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
|
|
Change-Id: I90d2048f622b355eae7091e536b940b2ac828583
|
|
Change-Id: I7a7a2c56c434525ac242f447dd8bb287d5fc69eb
|
|
Change-Id: I30219d626316776eb73b4205d63376fa3dbc6361
|
|
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
|
|
Change-Id: I3435857f48580d7b3bf9363a2eed96738fbda69a
|
|
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
|
|
Change-Id: I0bad98b43e1a23c9432f4bdfe78dc77ead7879a8
|
|
This old sum didn't match the US or EU 1.00.25 version and the actual ones were
missing.
Change-Id: I942641e5f367ab45794cb93a8b26b87962172216
|
|
Change-Id: Ib25a357a7bafd2ef25f273cadff70fafbd8d4661
|
|
Since E380 is just rebranded E370, mark it as E370
Change-Id: I2eb7dac9ff18a7dbbd26c44b8784207e54f48dd0
|
|
Change-Id: I88cce98cd8cc04f0245fba8ef30434167df483fc
|
|
Change-Id: I49ddcbe2f5c1c3aabc604b81b89272cf0292e28e
|
|
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
|
|
Change-Id: I80ed1af784aa80bec9fa0b1e9322f25e69672510
|
|
Change-Id: Ied73591326339d22b4f21d311da9e6b1b9c223ed
|
|
I was too aggressive when converting reads to standard reads, this
one is memory based and not file based
Change-Id: Ibe7162894cc44cbd79f56cafe7136bda0f76bcdc
|
|
Change-Id: I2c6cc4003bcc96662211fa066dd9e6e438b7e258
|
|
Factor all printf method with a unique one defined in misc.h
Change-Id: I58fbf8916b76e873a2e6678506d2c8aece7834ec
|
|
Change-Id: Id617297c196b381fd1c381da3eff4345e3157529
|
|
Change-Id: Id5d27fc00969b6999df665e7182b7ff27bccfacd
|
|
Change-Id: Ic16334c262ee5bce3575c306440f7e1de2b247f9
|
|
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
|
|
The tool cannot produce any firmware yet but it can extract the
OF from the installer.
Change-Id: I98684b2bf43310443d93b482aa853464f6f87fa8
|
|
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
|
|
Change-Id: I8d8adb783707172d1aaef302366c240310350ed8
|
|
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
|
|
Change-Id: I2f708e2830168f481018b8d8ce98134e40b4e8f8
|
|
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
|
|
Change-Id: I049908ac0fe65646906999b7e661a64506bd2594
|
|
Change-Id: I3d69801488abec4fbc2a84665614936105f60ad2
|
|
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
|
|
Change-Id: Ibce345ec411a189bd4a0a9555d145c4f057d8b15
|
|
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
|
|
Change-Id: I3428a398959dfd7fc46175d87fc67acce6a75171
|