I haven't found one yet.
I haven't found one yet.
is virtualising the nothing phone an option? like, get the firmware installed in a virtual environment and dump all of the images to release a full firmware zip? could be automated as well so that whenever a new update is released it automatically installs, dumps and then uploads it
I thought about it but only found how to virtualize pixel phones, not nothing phone.is virtualising the nothing phone an option? like, get the firmware installed in a virtual environment and dump all of the images to release a full firmware zip? could be automated as well so that whenever a new update is released it automatically installs, dumps and then uploads it
I would need to virtualise the entire phones hardware or create stubs for it to cover the firmwares drivers and run it in an arm vm. Not impossible but definitely a huge feat.I thought about it but only found how to virtualize pixel phones, not nothing phone.
Never looked into this context if you can find anything please let us know!
It could be a great idea
Asking to nothing support for full zips could be easier to do... If they'll ever answer backI would need to virtualise the entire phones hardware or create stubs for it to cover the firmwares drivers and run it in an arm vm. Not impossible but definitely a huge feat.
Uefisecapp partition busted.So I've been getting the error 20 thing when trying to update to android 14 beta for the nothing phone and got the ota txt file so here's what it shows for me:01-10 00:39:32.042 1 1 I init : Parsing file /system/etc/init/update_engine.rc...
01-10 00:39:36.769 1 1 I init : processing action (ro.boot.slot_suffix=*) from (/system/etc/init/update_engine.rc:8)
01-10 00:39:37.510 1 1 I init : starting service 'update_engine'...
05-20 19:16:20.954 1713 1952 I SystemConfig: Reading permissions from /system_ext/etc/permissions/com.nothing.OfflineOTAUpgradeApp.xml
05-20 19:16:21.442 1713 1713 E PackageManager: Package com.nothing.OfflineOTAUpgradeApp was user id 0 but is now user SharedUserSetting{d3195d0 android.uid.system/1000} with id 1000; I am not changing its files so it will probably fail!
05-20 19:16:21.442 1713 1713 I pm_critical_info: Package com.nothing.OfflineOTAUpgradeApp was user id 0 but is now user SharedUserSetting{d3195d0 android.uid.system/1000} with id 1000; I am not changing its files so it will probably fail!
05-20 19:16:28.804 1713 1713 D SystemServerTiming: StartSystemUpdateManagerService
05-20 19:16:28.805 1713 1713 I SystemUpdateManagerService: No existing info file /data/system/system-update-info.xml
05-20 19:16:29.246 1713 2307 D SystemServerTimingAsync: InitThreadPoolExec:Update app-ops uidState in case package com.nothing.OfflineOTAUpgradeApp changed
05-20 19:16:34.373 1668 1668 I update_engine: [INFO:cleanup_previous_update_action.cc(112)] Executing task 8
05-20 19:16:34.375 1668 1668 I update_engine: [INFO:cleanup_previous_update_action.cc(189)] Boot completed, waiting on markBootSuccessful()
05-20 19:16:34.386 1668 1668 I update_engine: EnsureMetadataMounted does nothing in Android mode.
05-20 19:16:34.388 1668 1668 I update_engine: Read merge statistics file failed: No such file or directory
05-20 19:16:34.390 1668 1668 I update_engine: [INFO:cleanup_previous_update_action.cc(261)] Waiting for any previous merge request to complete. This can take up to several minutes.
05-20 19:16:34.396 1668 1668 I update_engine: CheckMergeState for snapshots returned: 1
05-20 19:16:34.398 1668 1668 I update_engine: ProcessUpdateState handling state: 1
05-20 19:16:34.402 1668 1668 E update_engine: [ERROR:cleanup_previous_update_action.cc(308)] Previous update has not been completed, not cleaning up
05-20 19:16:34.403 1668 1668 I update_engine: [INFO:cleanup_previous_update_action.cc(130)] Stopping/suspending/completing CleanupPreviousUpdateAction
05-20 19:16:34.405 1668 1668 I update_engine: [INFO:cleanup_previous_update_action.cc(479)] Not reporting merge stats because state is Initiated
05-20 19:16:34.410 1668 1668 I update_engine: [INFO:cleanup_previous_update_action.cc(130)] Stopping/suspending/completing CleanupPreviousUpdateAction
05-20 19:16:34.415 1668 1668 I update_engine: [INFO:action_processor.cc(116)] ActionProcessor: finished last action CleanupPreviousUpdateAction with code ErrorCode::kSuccess
05-20 19:16:34.416 1668 1668 I update_engine: [INFO:update_attempter_android.cc(611)] Processing Done.
05-20 19:16:34.422 1668 1668 I update_engine: [INFO:update_attempter_android.cc(875)] Clearing update complete marker.
05-20 19:16:34.427 1668 1668 I update_engine: [INFO:update_attempter_android.cc(771)] Terminating cleanup previous update.
05-20 19:18:04.620 1668 1668 E update_engine: [ERROR:cleanup_previous_update_action.cc(308)] Previous update has not been completed, not cleaning up
05-20 19:18:04.855 1668 1668 E update_engine: [libfs_mgr]ReadFstabFromFile(): failed to read file: '/system/etc/fstab.postinstall': No such file or directory
05-20 19:27:23.092 1668 1668 E update_engine: [ERROR:fec_file_descriptor.cc(32)] No ECC data in the passed file
05-20 19:27:23.094 1668 1668 E update_engine: [ERROR:verified_source_fd.cc(50)] Unable to open ECC source partition /dev/block/bootdevice/by-name/uefisecapp_a: Invalid argument (22)
05-20 19:27:23.095 1668 1668 E update_engine: [ERRORartition_writer.cc(317)] The hash of the source data on disk for this operation doesn't match the expected value. This could mean that the delta update payload was targeted for another version, or that the source partition was modified after it was installed, for example, by mounting a filesystem.
05-20 19:27:23.096 1668 1668 E update_engine: [ERRORartition_writer.cc(322)] Expected: sha256|hex = 1BA9D8CBD81406270098DFA3E614AABF626EA0FB164FE15FDDD61EB41D7D5CF5
05-20 19:27:23.097 1668 1668 E update_engine: [ERRORartition_writer.cc(325)] Calculated: sha256|hex = FFD22FBF2A542A30414ECCE59734D8ECAAC553CC7394F83EA0C60FFC88C7F8B7
05-20 19:27:23.098 1668 1668 E update_engine: [ERRORartition_writer.cc(336)] Operation source (offset:size) in blocks: 0:30
05-20 19:27:23.099 1668 1668 E update_engine: [ERRORartition_writer.cc(261)] source_fd != nullptr failed.
05-20 19:27:23.100 1668 1668 E update_engine: [ERROR:delta_performer.cc(844)] partition_writer_->PerformDiffOperation( operation, error, buffer_.data(), buffer_.size()) failed.
05-20 19:27:23.101 1668 1668 E update_engine: [ERROR:delta_performer.cc(199)] Failed to perform BROTLI_BSDIFF operation 8505, which is the operation 1 in partition "uefisecapp"
05-20 19:27:23.103 1668 1668 E update_engine: [ERROR:download_action.cc(227)] Error ErrorCode::kDownloadStateInitializationError (20) in DeltaPerformer's Write method when processing the received payload -- Terminating processing
Yes I am on 154 fastboot rom currentlyUefisecapp partition busted.
Have you flashed a fastboot rom?
EDIT: eea or global device? You are 154 right? Because i am and i could try dumping my uefisecapp since we both on 154
I wrote to you privately
I thought about it and decided to look into it and found that apparently you can extract .img files from payload.bin, maybe we can do that for borked images.I wrote to you privately
EDIT: user reported flashing my uefisecapp and being able to update! It's the right direction to fix fastboot roms not updating.
Now we need uefisecapp for 152 and bluetooth (and maybe other partitions) for 153
We can extract good images from full zips.I thought about it and decided to look into it and found that apparently you can extract .img files from payload.bin, maybe we can do that for borked images.
bootloader ~> Flash patched magisk boot image ~> RebootHello, I can't install Magisk on my phone.
I recently updated to 1.5.4 and patched the Magisk modified boot.img, and it seems to have patched the boot.img because I have an aplication (LiveBoot) that shows a live log when the device is turning on, before it shows the lockscreen, and that app only works with root, but for some reason when I open the Magisk app after booting with the modified boot.img it doesn't show it beeing installed and doesn't show the option to install it.
Can someone help me?
View attachment 5918925
Magisk shows like this
View attachment 5918927LSPosed shows like this
View attachment 5918931
And my apps detect root
Yes, I've done that, but but it stays on that state of semi flashed
Always boot (dont flash it) patched image, Then direct installYes, I've done that, but but it stays on that state of semi flashed
I've boot the patched image but the direct install option doesn't show, its like in the screenshot of Magisk
Tried that too, didn't work
well since .img files are pretty much just archives (not too dissimilar to .zip) couldnt you just get a working image from a previous version, then get the ota payload images leading up to the version you want and just extract them all and copy over the contents of the OTA image and overwrite? like, create a folder, extract all the files from a good bluetooth.img from a previous version into that folder, then do the same with all of the versions up to the one you are on/need.We can extract good images from full zips.
There are tools for incremental otas zips but they don't produce good images.
I tried going from 1.1.7 (the latest know full zip) to 1.1.8 and then 1.5.2 but the uefisecapp image created with the tool was only 120KB while from 1.5 they should be 2.0MB
Also the images extracted from incrementals are not signed which means a different hash to the one needed.
We need full 152 if we want to restore partitions or full 154 if we want to directly update and skip all the hash checks.
I could be too nooby to do this.well since .img files are pretty much just archives (not too dissimilar to .zip) couldnt you just get a working image from a previous version, then get the ota payload images leading up to the version you want and just extract them all and copy over the contents of the OTA image and overwrite? like, create a folder, extract all the files from a good bluetooth.img from a previous version into that folder, then do the same with all of the versions up to the one you are on/need.
HEADS UP EVERYONEThank you so much for explaining this!
I just realised I had rooted it the wrong way, could you perhaps explain just a teeny bit more on that?
So I have to flash the stock boot.img now? And then do I proceed with the update via dialer?
And after that I have to proceed with booting magisk img to get root access again right
Yes you are right, stock 2.0.2.hotfix boot img was corruptedI can confirm that there is something wrong with non patched hotfix boot.img, tried previous one and it bootesd just fine. I also use magisk 26.3. Didnt try patched one though cause i like to patch myself. Maybe non patched hotfix boot.img is corrupted or somethin? Well everything works now anyway as it should..
Updates:
Added 2.0.2.hotfix to incremental ota list, added stock and magisk patched boot, updated error 20 guide, added two guides to follow for updating the phone with steps to keep root
Fixed some formatting issues.
You shouldSo, in case I'm in another custom ROM, in order to go to 2.0.2, I have to:
is that it?
- first flash 1.1.8 full
- then incremental 1.1.8 -> 1.5.4
- then incremental 1.5.4 -> 1.5.5
- then 1.5.5 -> 1.5.6
- then finally 1.5.6 -> 2.0.2
.\fastboot boot Magisk_Patched_XXX.img
getprop ro.product.name
getprop ro.product.system.name
error code -2: pre-build-incremental is different from ro.build.date.utc
ota
fastboot flash boot *stock boot file.img*
fastboot boot *magisk patched boot file.img*
*#*#682#*#*
fastboot flash boot *stock boot file.img*
fastboot boot *magisk patched boot file.img*
fastboot boot *new magisk patched boot file.img*
fastboot flash boot *DRAG boot.img HERE*
fastboot flash vendor_boot *DRAG vendor_boot.img HERE*
fastboot boot recovery
adb sideload *DRAG THE .ZIP FILE HERE*