116 Commits

Author SHA1 Message Date
Danny Lin
3c2c76dfdf Update fastboot.js submodule
Improvements:
- Better documentation
- Less ambiguous bundle file extension
- Support for logical partitions (via fastbootd)
- More robust flashing
- More consistent code quality
- Requirement checks before flashing
- More flexible factory zip handling
- Support for wiping logical partitions and userdata
- Configurable debug mode
- More detailed flashing progress
- Conformant factory image flashing process
- Automatic reconnection upon connection loss
- Graceful handling of connection loss
- Automatic reuse of already-paired USB devices
- User-friendly progress/status text
2021-01-27 20:24:49 -05:00
Danny Lin
dff5a750d1 Switch to new bundled fastboot.js
This simplifies cache busting greatly without needing to do further
processing on any fastboot.js code before deploying. It also removes the
need for a non-module script with global scope.
2021-01-23 23:08:12 -05:00
Danny Lin
94ec5e0440 Update fastboot submodule for bundles 2021-01-23 23:08:12 -05:00
Danny Lin
b88a4bcb88 Update web install for fastboot.js and zip.js updates 2021-01-23 21:10:18 -05:00
Danny Lin
bddb6ae5b7 Update fastboot.js for zip.js updates
This reduces the size of the zip.js libraries and improves flashing
speed by 1.7x due to the Pako inflate implementation.
2021-01-23 21:10:18 -05:00
Daniel Micay
0d71971ea6 update fastboot submodule 2021-01-23 18:29:37 -05:00
Danny Lin
713b4ef564 Implement web install using fastboot.js
This implements the WebUSB-based web installer using fastboot.js to
act as a fastboot client. A bare minimum UI with a plain-text
status/progress caption for each step is included, as well as a plain
button to trigger it and basic error handling.

WebADB has been removed now that we are only using fastboot.js.

Initial features:

- Unlocking and locking the bootloader
- Downloading the latest GrapheneOS release available for the device
- Flashing the factory images zip
- Reusing USB connections
2021-01-23 03:28:02 -05:00
Danny Lin
bd2626b41e Include fastboot.js as submodule
This will be used for implementing a WebUSB-based installer.
2021-01-23 03:28:02 -05:00
Daniel Micay
3f6de4a482 simpler to avoid using adb like the current guide 2021-01-16 17:28:51 -05:00
Daniel Micay
d78ceb1e9b add stub download implementation 2021-01-05 09:46:56 -05:00
Daniel Micay
ebfef1f23b add locking to web install proof of concept 2021-01-05 08:57:15 -05:00
Daniel Micay
f63c74c8bd add structure to WebUSB proof of concept page 2021-01-05 07:44:57 -05:00
Daniel Micay
6d39817d64 add missing transport reset for fastboot 2021-01-05 05:34:47 -05:00
Daniel Micay
fe063f50fe add foundation for WebUSB-based install page 2021-01-05 05:34:45 -05:00
Daniel Micay
f9328e24c1 move javascript files to js directory 2021-01-05 02:43:55 -05:00
Daniel Micay
e1ddbd94b0 add webadb.js 2021-01-05 02:36:58 -05:00