-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Transfer to QDL #33
Transfer to QDL #33
Conversation
I will be updating in this repo (https://github.com/bongbui321/op_qdl_eons) which is mainly used for testing of QDL.js library and eons flashing only without interfering with this repo. I will transfer working changes to this repo once I finish with everything. |
Hmm, I was wrong, fastboot doesn't even fix this (tested), if the device disconnects at the middle of changing slot, most likely the guid type of the partitions will be incorrect (it is just metadata, and the device look at the My fix is currently better since it uses backup gpt to recover that metadata if the device disconnects |
Can use this whenever you test. https://github.com/bongbui321/test_flash_op |
// Erase current xbl partition so if users try to power up device | ||
// with corrupted primary gpt header, it would not update the backup |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you explain this more?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whenever booting up the device, the xbl partition will try to compare the primary gpt headers with their corresponding backup gpt headers, and if the backups are not the same as the primary gpt headers, it will update the backup to be the primary gpt headers.
If a user somehow disconnect the device during changing active slot process then the device would have corrupted gpt header, and if the user tries to boot up the device immediately afterwards without flashing again, the xbl would just update the backup gpt headers with the corrupted primary one. Erasing that makes sure that that doesn't happen.
it is important to always keep the backup gpt headers clean and uncorrupted since we use those to recover the corrupted gpt headers if there were any failure during flashing process.
Fastboot doesn't have this feature, and it would just go with the corrupted gpt headers (tested).
Nice work! Merged into a staging |
* connect qualcomusb * finish read write * sahara setup * js is painful * finish sahara * upload programmer * fix usblib * load programmer * time out * can reset * firehose detect partition storage info gpt * can detect partition * can write * can erase * can get active slot - haven't tested * setactive slot * remove releaseinterface * cleanup * add sparse * big cleanup * cleanup saharadefs * automate usb packet maxsize * fix getactiveslot * import only used from gpt.js * refactor * move folder * integrate * maxlun = 6 * refactor * serial * trailing white space * fix getactiveslot * auto download loader * setactiveslot * transferout with retry * add reset userdata * add semicolon * update onprogress * test * qdl update * fix sparse * works * add loader * unpack system * remove sleep at write * test * update instructions * update instructions * update instructions * move detach * cleanup sahara * update scripts * update instructions * update error message * fasttt * remove run() * update eraseuserdata * auto upload loader * throw when disconnect + resetuserdata * delete fb * cleanup + catch disconnect * update instruction * faster * fix * zadig_form update * zadig_create_new_device update to match tint * update instruction * remove * update instruction * timed out connect * increase timeout * update instruction * update instruction + update detach script * add copy button * log setactive successfully * throw during connecting if error * error diconnect while connecting * update throw error * cleanup * cleanup * cleanup * restructure + cleanup * fix * fix style * style * fix * fix * serial -> int * cleanup restructure * cleanup * cleanup sparse * cleanup sparse * change name bytes to num * clean up path * consistent var name cmd erase * cleanup sparse * write resetuserdata * remove erase cmd * cleanup sparse * update * update * cleanup style * clearer instruction * cleanup * update check gpt header consistency * faster setactiveslot * move loader into Loaders * 4x faster setactiveslot * cleanup * remove web fastboot * revert manifest test and image workers * fix downloadLoader --------- Co-authored-by: Andrei Radulescu <[email protected]>
* Transfer to QDL (#33) * connect qualcomusb * finish read write * sahara setup * js is painful * finish sahara * upload programmer * fix usblib * load programmer * time out * can reset * firehose detect partition storage info gpt * can detect partition * can write * can erase * can get active slot - haven't tested * setactive slot * remove releaseinterface * cleanup * add sparse * big cleanup * cleanup saharadefs * automate usb packet maxsize * fix getactiveslot * import only used from gpt.js * refactor * move folder * integrate * maxlun = 6 * refactor * serial * trailing white space * fix getactiveslot * auto download loader * setactiveslot * transferout with retry * add reset userdata * add semicolon * update onprogress * test * qdl update * fix sparse * works * add loader * unpack system * remove sleep at write * test * update instructions * update instructions * update instructions * move detach * cleanup sahara * update scripts * update instructions * update error message * fasttt * remove run() * update eraseuserdata * auto upload loader * throw when disconnect + resetuserdata * delete fb * cleanup + catch disconnect * update instruction * faster * fix * zadig_form update * zadig_create_new_device update to match tint * update instruction * remove * update instruction * timed out connect * increase timeout * update instruction * update instruction + update detach script * add copy button * log setactive successfully * throw during connecting if error * error diconnect while connecting * update throw error * cleanup * cleanup * cleanup * restructure + cleanup * fix * fix style * style * fix * fix * serial -> int * cleanup restructure * cleanup * cleanup sparse * cleanup sparse * change name bytes to num * clean up path * consistent var name cmd erase * cleanup sparse * write resetuserdata * remove erase cmd * cleanup sparse * update * update * cleanup style * clearer instruction * cleanup * update check gpt header consistency * faster setactiveslot * move loader into Loaders * 4x faster setactiveslot * cleanup * remove web fastboot * revert manifest test and image workers * fix downloadLoader --------- Co-authored-by: Andrei Radulescu <[email protected]> * switch programmer * remove system-skip-chunks image * fix missing Buffer in browser * lint: Fixed Unnecessary escape character: " * lint: Fixed defined but never used * lint: Fixed unnecessary try/catch wrapper * lint: Fixed do not access Object.prototype method 'hasOwnProperty' from target object * fix typo image_tx_status * Revert "remove system-skip-chunks image" This reverts commit 8381ab2. * support jsons without the system alt image * better naming for crc32 * nicer logging about loader * support old and new manifest --------- Co-authored-by: Hoang Bui <[email protected]> Co-authored-by: Adeeb Shihadeh <[email protected]>
+++ Covered all the needed commands. Now test and integrate+++
https://bongbui321.github.io/flash/
- [ ] Connect without detach_driver.py (not sure if all linux but def 20.04)- [ ] Refactor for beautimprovement in other PRsTESTS
- [x] Compare speed of full and sparse images