[GUIDE] Extracting the latest OnePlus 6T firmwares from ROM update package - OnePlus 6T Guides, News, & Discussion

* Pre-note: Extracting firmwares and subsequently updating your phone's firmware by flashing the extracted firmwares, is a 2-part process. This guide is only about extracting them, and i also made another guide that is for flashing them afterwards: see [GUIDE] Flashing the latest firmware updates to your OnePlus 6T. The guides supplement eachother, depending on your needs.
General word about firmware updates:
A lot of people know of the importance and benefits of keeping your device firmware updated, just like you keep your custom ROM updated. If you don't keep them updated, you might not get the best out of your custom ROM (like: more bugs, system stability and performance problems/less speed.. also, vendor components, e.g Qualcomm and other chips, have security patches in the firmware.. "Vendor patch level" vs Android "Security patch level").
Besides incremental firmware updates from each OxygenOS release with a small changelog, too many people are missing out on huge jumps such as that they are running an Android 11 custom ROM, while their firmware was never updated so it remained a firmware originally shipped with an Android 10 (or earlier) OxygenOS release. Staying behind on huge jumps like these, cause the biggest list of problems with stability and performance. Therefore it is advisable to keep your firmware updated, and note that even small incremental updates (based on the same Android version) tend to give performance, security and stability benefits.
Let's continue.
If you can't find someone that posted the firmwares separately (or you don't trust their completeness, integrity & authencity.. it's always a potential risk) this guide will help you do it all by yourself, to extract firmwares from the original ROM update package.
GUIDE STARTS BELOW THIS LINE
Prerequisites
First step: Get the updated OxygenOS ROM, it's a zip file named in a format like this: OnePlus6TOxygen_34.J.62_OTA_0620_all_2111252336_339a2fa8335f21.zip (this happens to be the latest version as of writing, it will be outdated from now on)
Make sure to get it from an official source, i dont know where OnePlus shares direct links but i know that their practises regarding it are inconsistent (sometimes they provide, other times they don't). So i advise you to use an useful app in the Play store called Oxygen Updater that fetches it directly from OnePlus servers.
For this app.. if you're on LineageOS, you can click through to download the ROM update file but only after ignoring all warning dialogs saying things like "Unsupported device" and about root + enabling Advanced mode slider in the app's settings. So basically, these steps override 1) that you're on LineageOS (so it thinks it's unsupported) and 2) that it doesn't recognize your current version and thus doesn't offer a direct download of the file, regardless of what it fails to detect about your phone or OS, to your phone storage.. that's what Advanced mode takes care of. So after enabling Advanced mode, download the ROM .zip from the update screen in the app, and it will be placed in your phone's storage root folder
So now that you have the ROM, let's start the firmware extracting process -
Required tool: payload-dumper-go > choose latest version and download the Windows package
1) Extract payload-dumper-go to your folder "FW update"
2) Move the ROM .zip file (downloaded from Oxygen Updater app) from your phone storage to your PC, and place it in that "FW update" folder
3) Open the ROM .zip file with an archiving program, like 7-Zip
4) Extract payload.bin from within the ROM .zip file using 7-Zip, this .bin file should display in 7-Zip as shown below:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
So after extracting this from the ROM .zip, you open up cmd (command prompt of Windows) and write cd [folder "FW update" location) or even better, copy cmd.exe from System32 to your "FW update" folder. I always use that method for all my maintenance, e.g it's copied to my "adb" folder as well for easy folder targeting
4) Now in cmd, use payload-dumper-go to pull firmwares from payload.bin:
Code:
Enter each command separately, after the other completes
payload-dumper-go -p abl payload.bin
payload-dumper-go -p aop payload.bin
payload-dumper-go -p bluetooth payload.bin
payload-dumper-go -p cmnlib payload.bin
payload-dumper-go -p cmnlib64 payload.bin
payload-dumper-go -p devcfg payload.bin
payload-dumper-go -p dsp payload.bin
payload-dumper-go -p fw_4j1ed payload.bin
payload-dumper-go -p fw_4u1ea payload.bin
payload-dumper-go -p hyp payload.bin
payload-dumper-go -p keymaster payload.bin
payload-dumper-go -p LOGO payload.bin
payload-dumper-go -p modem payload.bin
payload-dumper-go -p oem_stanvbk payload.bin
payload-dumper-go -p qupfw payload.bin
payload-dumper-go -p storsec payload.bin
payload-dumper-go -p tz payload.bin
payload-dumper-go -p vendor payload.bin
payload-dumper-go -p xbl_config payload.bin
payload-dumper-go -p xbl payload.bin
Now they are pulled, but will be automatically put in folder names (as subfolders to your "FW update" folder) that look like this: "extracted_20211216_135146" with unique number each. These folders contain just 1 pulled firmware (.img files) individually
Now you have to move all .img files from each of such folders, to your main directory ("FW update"). I prefer to do it like this: Windows Explorer search for *.img like below image
Select all matching results from this search and copy them to "FW update" or put them in a new subfolder "Pulled firmwares"
Now the firmware extracting process is complete. From this point, the flashing process should be picked up. I made another guide for the flashing process, if you're interested beyond the scope of this one (the act of extracting firmwares alone): [GUIDE] Flashing the latest firmware updates to your OnePlus 6T
Note on this guide: it's possible that these instructions are universal to many, if not all, other modern OnePlus devices.. or even other smartphone brands. But since i am only the owner of an OnePlus 6T, i cannot verify or test it, and therefore this guide targets the 6T. But of course, if you got some know-how you can attempt to use this guide for other models.. although you will surely have to dump the content table listing of the update's payload.bin (with this command: payload-dumper-go -list payload.bin ), to figure out which .img files to extract.. as the relevant firmware packages & components will differ per model

Related

Editing boot logo (initlogo.rle)

Hi,
As some of you know it's possible to change the bootlogo in boot.img, named initlogo.rle. I've made a new bootlogo and converted it to rle. I tried these methods:
1. Make in photoshop > save as raw > convert with "to565" to initlogo.rle > hang at samsung logo
2. Open background in paint.net > save as RGB565 file (with plugin) > convert with "to565" to initlogo.rle > hang at samsung logo
method used to convert raw to rle
Code:
$ tools_cygwin/to565 -rle < logo/initlogo.raw > logo/initlogo.rle
method used to repack the img
Code:
$ tools_cygwin/mkbootimg --kernel unpack/boot.img-zImage --ramdisk unpack/boot.img-ramdisk-new.gz -o target_img/boot.img --base "cat unpack/boot.img-base"
I actually also tried to NOT change the logo and leave all the files intact, then repacked it. This also got me a corrupted boot.img file which means that the packing method probably isn't correct.
If someone knows the right way could you please change the initlogo.rle from boot.img provided in the zip with the one in the zip (attached: boot.img, initlogo.png, initlogo.raw, initlogo.rgb565, logo2.psd)
If this is working correctly for me i completely remove/disable the boot animation for faster boot
I would greatly appreciate it if someone wants to make it (and tell me what i did wrong)
edit: the actual bootlogo
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
I would also like to know this!
Please keep us posted if you get it right!
good luck!
Sent from my GT-I9000 using Tapatalk
pzayx said:
I would also like to know this!
Please keep us posted if you get it right!
good luck!
Sent from my GT-I9000 using Tapatalk
Click to expand...
Click to collapse
Ok I will
thanks too much dude. i search this
erdemsaid said:
thanks too much dude. i search this
Click to expand...
Click to collapse
If you don't get a bootloop when trying it, would you please download my attached file and replace the initlogo.rle file then repack?
Great idea, i was searching a way to totally get rid of the boot animation, will keep an eye on this one...
Thanks
If anyone knows how to fix it please reply... threads like this one get lost in the Q&A section very quick.
Is it working yet?
Sent from my GT-i9001 @ LionROM
broodplank1337 said:
Hi,
As some of you know it's possible to change the bootlogo in boot.img, named initlogo.rle. I've made a new bootlogo and converted it to rle. I tried these methods:
1. Make in photoshop > save as raw > convert with "to565" to initlogo.rle > hang at samsung logo
2. Open background in paint.net > save as RGB565 file (with plugin) > convert with "to565" to initlogo.rle > hang at samsung logo
method used to convert raw to rle
Code:
$ tools_cygwin/to565 -rle < logo/initlogo.raw > logo/initlogo.rle
method used to repack the img
Code:
$ tools_cygwin/mkbootimg --kernel unpack/boot.img-zImage --ramdisk unpack/boot.img-ramdisk-new.gz -o target_img/boot.img --base "cat unpack/boot.img-base"
I actually also tried to NOT change the logo and leave all the files intact, then repacked it. This also got me a corrupted boot.img file which means that the packing method probably isn't correct.
If someone knows the right way could you please change the initlogo.rle from boot.img provided in the zip with the one in the zip (attached: boot.img, initlogo.png, initlogo.raw, initlogo.rgb565, logo2.psd)
If this is working correctly for me i completely remove/disable the boot animation for faster boot
I would greatly appreciate it if someone wants to make it (and tell me what i did wrong)
edit: the actual bootlogo
Click to expand...
Click to collapse
I downloaded you rar file, checked and looklike all file ok I dont have this i9000 .. I thinks this is galaxy S. Unpack your boot.img
Code:
$unpack-bootimg.pl boot.img
we will have additional 3 files boot.img-kernel.gz boot.img-ramdisk.cpio.g and Folder boot.img-ramdisk. Well in this folder boot.img-ramdisk I presumed all went well. Take out initlogo.rle in the ramdisk folder and change with yours (?) from unrared folder
create new ramdisk >
Code:
$mkbootfs boot.img-ramdisk | gzip > bootimg-ramdisk [ENTER]
Now we have kernel.gz and gziped ramdisk (with new initlogo.rle file) ... repack into boot image flashable via fastboot >
Code:
$mkbootimg --kernel boot.img-kernel.gz --ramdisk bootimg-ramdisk --pagesize 4096 --cmdline "console=ttyFIQ0,115200 init=/init no_console_suspend" --base 0x32000000 -o samgalaxysxda.img
samgalaxysxda.img is flashable via fastboot in this post or download HERE
Code:
$sudo fastboot flash boot samgalaxysxda.img
if something wrong I thing you can modify the command during create boot image
Code:
mkbootimg --kernel boot.img-kernel.gz --ramdisk bootimg-ramdisk --pagesize 4096 [B][COLOR="Red"]--board aries[/COLOR][/B] --cmdline "console=ttyFIQ0,115200 init=/init no_console_suspend" --base 0x32000000 -o samgalaxysxda-1.img
I tried to split your boot image to know the parameter
Code:
$split_bootimg.pl boot.img
OUTPUT FILE FOR OUR INFO
Code:
Page size: 4096 (0x00001000)
Kernel size: 3632644 (0x00376e04)
Ramdisk size: 650135 (0x0009eb97)
Second size: 0 (0x00000000)
Board name:
Command line:
Writing boot.img-kernel ... complete.
Writing boot.img-ramdisk.gz ... complete.
...
usually Command line (kernel command line) is very important. I toke cmdline from cm7 tree using galaxysmtd .. this probably I choose wrong device
Just test and post here the result
9000 and 9001 work different when it comes to the kernel. And their hardware is significantly different. I don't know if even fastboot works, have never tried it.

[DEVS only] Unpacking RAZR i boot images

I've seen you haven't been able to unpack the boot images so I investigated a bit on this "weird format" Moto used. This is what I could figure out by looking at the image and the bootstub code Motorola released:
Code:
0x00000000 kernel CMDLINE, filled with zeroes where unused
0x00000400 bzImage size
0x00000404 initrd size
0x00000408 SPI UART suppression
0x0000040B SPI type (0: SPI0, 1: SPI1)
0x00001000 future stack for bootstub (?)
0x00002000 actual bzImage start
On the boot image I grabbed from the root post, using the awesome "hexdump" tool we can see at 0x400
Code:
60 a8 46 00 90 6c 1a 00
Which means (remember x86 is Little Endian) bzImage size 0x0046A860 (~4.5MB) and initrd size of 0x001A6C90 (~1.65MB)
So let's go to the practical side:
0x00002000 + 0x0046A860 = 4638816
Code:
$ dd if=razr_i_boot.img of=ramdisk.cpio skip=4638816 bs=1
$ zcat ramdisk.cpio|cpio -i
gzip: ramdisk.cpio: decompression OK, trailing garbage ignored
8927 blocks
$ ls
android.fstab dev init.moto.usb.rc init.sc1.rc init.wifi.rc ramdisk.cpio system ueventd.smi.rc
charger init init.moto.usb.sh init.sdcard1.rc init.xmm.rc res ueventd.goldfish.rc xbin
data init.goldfish.rc init.nfs.rc init.sdcard2.rc lib sbin ueventd.rc
default.prop init.moto.rc init.rc init.sdcard.rc proc sys ueventd.sc1.rc
Code:
$ dd if=razr_i_boot.img of=bzImage skip=8192 count=4630624 bs=1
$ file bzImage
bzImage: Linux kernel x86 boot executable bzImage, version 3.0.8-g229e199 ([email protected]) #1 SMP PREEMPT Sat Sep, RO-rootFS, root_dev 0x806, swap_dev 0x4, Normal VGA
Ta-da! Unpacked. It wasn't that hard really
Now, is there interest on a tool to repack/unpack these images? I don't own the phone (and probably won't, no $$ ) but if there's enough interest I can make one, it should be relatively easy.
EDIT: Okay, so I wrote a pair of tools to unpack existing images and package new images, you can get them at
https://github.com/turl/razr-i-boot-tools
Just run "make" to build the tools, the usage is really simple
Code:
$ ./pack
Usage: ./pack <valid image> <bzImage> <ramdisk> <output>
From left to right, an already existing boot image (to copy bootstub from, it could be built from source on the future), the kernel, the gzipped cpio ramdisk and the output filename
Code:
$ ./unpack
Usage: ./unpack <image to unpack> <bzImage out> <ramdisk out>
From left to right, the image you want to unpack, and the destination files for bzImage and ramdisk. You can then unpack the ramdisk with something like
Code:
$ mkdir ramdisk-unpack
$ cd ramdisk-unpack
$ zcat ../ramdisk.cpio.gz|cpio -i
And then repack it with something like
Code:
$ find . | cpio -o -H newc | gzip > ../newramdisk.cpio.gz
turl1 said:
Ta-da! Unpacked. It wasn't that hard really
Now, is there interest on a tool to repack/unpack these images? I don't own the phone (and probably won't, no $$ ) but if there's enough interest I can make one, it should be relatively easy.
Click to expand...
Click to collapse
Making it look so simple
I really appreciate you taking the time to look at this, especially since you don't even have the device. I definitely have interest in a tool if at all possible. I'd donate and encourage others to as well
I agree with everything he said. Awesome job
Okay, so I wrote a tool to package images, check the edit on the first post and let me know how it works. I'll make another one to unpack current images when I get some more time
turl1 said:
Okay, so I wrote a tool to package images, check the edit on the first post and let me know how it works. I'll make another one to unpack current images when I get some more time
Click to expand...
Click to collapse
Been working all day yesterday to get up and running on Linux again, time to redouble my efforts and try a new distro so I can get packin'!
EDIT:Got everything set up besides ramdisk I believe. First attempt is progress, instead of error booting into fastboot it sticks on the boot logo, then reboots and loops that. I'm pretty sure its because I did ramdisk wrong but we'll see if anyone else can get it further.
File includes ramdisk folder, boot.img, and my compiled bzImage. http://d-h.st/Cyn
mattlgroff said:
Been working all day yesterday to get up and running on Linux again, time to redouble my efforts and try a new distro so I can get packin'!
EDIT:Got everything set up besides ramdisk I believe. First attempt is progress, instead of error booting into fastboot it sticks on the boot logo, then reboots and loops that. I'm pretty sure its because I did ramdisk wrong but we'll see if anyone else can get it further.
File includes ramdisk folder, boot.img, and my compiled bzImage. http://d-h.st/Cyn
Click to expand...
Click to collapse
What did you use to repackage the ramdisk? Something like this should work
Code:
$ cd ramdisk
$ find . | cpio -o -H newc | gzip > ../newramdisk.cpio.gz
Then use the generated 'newramdisk.cpio.gz' when calling pack; something like
Code:
$ ./pack boot.img bzImage newramdisk.cpio.gz newboot.img
turl1 said:
What did you use to repackage the ramdisk? Something like this should work
Code:
$ cd ramdisk
$ find . | cpio -o -H newc | gzip > ../newramdisk.cpio.gz
Then use the generated 'newramdisk.cpio.gz' when calling pack; something like
Code:
$ ./pack boot.img bzImage newramdisk.cpio.gz newboot.img
Click to expand...
Click to collapse
Getting a 4.6 MB boot.img with this, trying to boot now.
mattlgroff said:
Getting a 4.6 MB boot.img with this, trying to boot now.
Click to expand...
Click to collapse
Yes, a smaller boot.img is to be expected, the dumped one you guys got has garbage on its tail
turl1 said:
Yes, a smaller boot.img is to be expected, the dumped one you guys got has garbage on its tail
Click to expand...
Click to collapse
Same bootloop issue, looping the bootlogo and phone reboots
Well, it turns out I fail when programming on the late AM
https://github.com/turl/razr-i-boot-tools/commit/34f618b5cb2d6fb4b4c7d8affb194113a0b11270
Update/reclone your tools repo, rebuild it and try again. Rebuild your ramdisk image too, just in case the tool corrupted it.
turl1 said:
Well, it turns out I fail when programming on the late AM
https://github.com/turl/razr-i-boot-tools/commit/34f618b5cb2d6fb4b4c7d8affb194113a0b11270
Update/reclone your tools repo, rebuild it and try again. Rebuild your ramdisk image too, just in case the tool corrupted it.
Click to expand...
Click to collapse
Updated tools, rebuilt tools, rebuilt ramdisk....
6.5 MB newboot.img now.
Boot animation....
Booted!
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Where's your donation link?
mattlgroff said:
Updated tools, rebuilt tools, rebuilt ramdisk....
6.5 MB newboot.img now.
Boot animation....
Booted!
[image]
Where's your donation link?
Click to expand...
Click to collapse
Awesome! I just wrote the unpack tool by the way, same repo. Check the first post for more info and let me know if you have any issues with it.
I also completed the "donate to me" box on the XDA profile for those looking for it
turl1 said:
Awesome! I just wrote the unpack tool by the way, same repo. Check the first post for more info and let me know if you have any issues with it.
I also completed the "donate to me" box on the XDA profile for those looking for it
Click to expand...
Click to collapse
OMG, I sure won't make use of it but I know how important it is to build Custom Recovery and Custom Roms sooo I'll make a donate soon as I can.
Make boot.img
Hi,
I can't manage to make the boot.img with my compiled kernel for Razr I. Anyone can make the boot.img for me please :victory:
Thank you
"Direct booting from floppy is no longer supported...Please use a boot loader program instead...Remove disk and press any key to reboot..."
WTF?!
open your bzImage with a hex editor, the first lines
Hai mattlgroff, I have switch from your homemade 40002 to 31006 with RST & then OTA auto update to 40002 & then do root & CWM but now the kernel version is older (Sept 2012), so can i copy the recovery.signed in 31006 & change the file name to recovery.img & put into the CWM folder & ADB/Fastboot.
Can i have this better matt-desktop #1 too.Thks.
Daniel 9999 said:
Hai mattlgroff, I have switch from your homemade 40002 to 31006 with RST & then OTA auto update to 40002 & then do root & CWM but now the kernel version is older (Sept 2012), so can i copy the recovery.signed in 31006 & change the file name to recovery.img & put into the CWM folder & ADB/Fastboot.
Can i have this better matt-desktop #1 too.Thks.
Click to expand...
Click to collapse
Its not better, worse actually because things are broken.
Sent from my MB886 using Tapatalk 2
mattlgroff said:
Its not better, worse actually because things are broken.
Sent from my MB886 using Tapatalk 2
Click to expand...
Click to collapse
However,thanks Mattlgroff, For you & all info.,I take your 40002 boot.img & Fastboot flash boot boot.img after RSDlite 31006 & got back the newest Nov,2 kernel. It really run very smooth & fast ( I overwrite your ADB file to a newer ADB from android-sdk folder as dont know why ADB devices cant read/see).Cheers.
mat have you got this to complied because iv only got cgywin or could you build my boot.img to unlink data/media
http://batakang.com/ftp/incoming/boot.img
Having some troubles with this Jellybean boot.img. Anyone want to take a stab at it?

Oneplus 7 pro firmware collection

Ah yes, Oneplus released that new update. Now I must download 2+ GB off my capped data plan, then flash it to recovery, carefully switch back my slot then flash my custom ROM again to the slot I just flashed OOS to and then flash OOS again to the other slot and then I must repeat everything above. After that I must delete the 2 fake partitions the updater created on data because they are useless. Oh wait it doesn't let me delete them who'd have thought?
Seriously? What on earth happened there
A better solution is required, especially something that grants more control. Well here it is
The boring stuff:
I am not responsible for anything you do to your device
These zips contain the following files:
Code:
The firmware (duh)
flashall - flashes both a and b
flash_a - only flashes slot a
flash_b - only flashes slot b
The following partitions found in the official oxygenos zip have been removed:
Code:
vbmeta
boot
dtbo
odm
system
vendor
reserve
india
Because for custom ROM users these partitions are either unused or used by the currently running custom ROM
How to flash?
From TWRP (it doesn't even need to support decryption):
Code:
adb push abl.img aop.img bluetooth.img cmnlib64.img cmnlib.img devcfg.img dsp.img flash_a flashall flash_b hyp.img keymaster.img LOGO.img modem.img oem_stanvbk.img qupfw.img storsec.img tz.img xbl_config.img xbl.img /tmp/
adb shell
cd /tmp
chmod 777 flashall # or flash_a/b
./flashall # or sh flashall or use flash_a/b
I suggest you use one of the flash_a/b scripts to only flash your current slot and test the changes out before running flashall
From termux:
You might need to set selinux to permissive while flashing. Only try to flash your current slot, reboot and if there are no errors flash the other slot
unzip the zip file to a directory and cd to it. If you use termux you should already know this
Just run one of the flashing scripts as root
Note that the flashing takes some time. Do not abort it
From adb root:
Sadly I don't have adb root so if someone has it they can let me know how it goes and how they flashed it
Do NOT believe in myths. You do NOT need to wipe cache/dalvik/any other nonsense while upgrading firmware. Stop wasting your time
Downloads:
Open beta 9: https://glassrom.pw/guacamole-ob9fw.zip
More will be added when I have time
Yes I personally tested this on my device and it was fine. Except that the popup camera pops out sometimes but I just suspect big brother. Nothing abnormal
Happy flashing. Or whatever
Anybody caught the latest OOS release link yet? All I found was an incremental OTA
Is this project discontinued? If yes, I'd like to see a revival of this.
hellcat50 said:
Is this project discontinued? If yes, I'd like to see a revival of this.
Click to expand...
Click to collapse
He doesn't care about support
The link is dead.
Does anyone have this zip?
I need these files
flashall
flash_a
flash_b
in order to make an up to date zip.
alessio89g said:
The link is dead.
Does anyone have this zip?
I need these files
flashall
flash_a
flash_b
in order to make an up to date zip.
Click to expand...
Click to collapse
you can get the file list and the firmware collection from the glassrom device tree
i stopped maintaining this as now i just ship firmware into my roms
Bitbucket
bitbucket.org
flash_a, flash_b and flashall really were just script generated scripts
something like
```
for i in $(ls *img | sed 's/.img$//g')
do
echo dd if="$i".img of=/dev/block/bootdevice/by-name/"$i"_a;
done
```
same for slot b:
```
for i in $(ls *img | sed 's/.img$//g')
do
echo dd if="$i".img of=/dev/block/bootdevice/by-name/"$i"_b;
done
```
concetenate flash_a and flash_b as follows:
```
cat flash_a flash_b > flashall
```
PS: you need to remove the oem_stanvbk_{a,b} entries as that is not an A/B partition. also i have just shown you roughly what i use to generate the flash scripts. there is no guarantee these work. example you might need to remove the $ from the regex

[GUIDE] flash your device without mi flash (IN FASTBOOT).

You can flash your merlin with miflash in fastboot mode irrespective of the chipset.
I have used this method to flash the stock miui rom and I cannot gaurantee succes in case of any third party rom.
I will not be responsible if you brick your device
use at your own risk
Ths guide is for flashing in fastboot without miflash if you are facing some windows problems
YOUR BOOTLOADER MUST BE UNLOCKED
CHECK IT UNDER: SETTINGS>ADDITIONAL SETTINGS>DEVELOPER OPTIONS>MIUNLOCK STATUS
GUIDE
1. Download the fastboot Rom for your device and exract it.
Download it from herehttps://xiaomifirmwareupdater.com/archive/miui/merlin/).
2.Download ADB and Fastboot on your PC Aand install(search about it on google).
3. Download platform tools latest version(download link : https://developer.android.com/studio/releases/platform-tools)(Extract if needed).
4.Now move the extracted files of ROM to platform tools folder.
You should copy or move these files to platform tools folder:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
5. Now open flashall.bat with a text editor. It will look like this:
6.Erase all the unnecessary content from commands
THESE COMMANDS WILL BE NEEDED WHILE FLASHING IN THE STEPS GIVEN BELOW
WARNING: The content in arrow brackets are an iplaces where you should add the path of file whiie flashing. eg. after writing fastboot flash peloader <you should darg and drop the file here or you can paste the path of preloader file>
(fastboot flash peloader D:\Roms\merlin roms\merlin_in_global_images_V12.0.1.0.QJOINXM_20200731.0000.00_10.0_in\images)
7. Always select the right file as the names of files will be same both in images and flashall.bat file.
8.Now open the platform tools folder and click SHIFT+RIGHTCLICK and select OPEN CMD HERE
or
click on the path of folder and type cmd there and click enter :
9. cmd will open as given:
10 . Now connect your phone with pc and type
<adb devices>
you should be able to see your phone serial number and a window will appear on your device
click always alllow and allow your pc to establish a connection with your phone by clicking yes.
11. Again type <adb devices> in cmd and now 'device' should be written besides serial number.
11.TO BOOT INTO FASTBOOT MODE
Type: <adb reboot bootloader> in cmd OR press and hold volume down. + powerbutton simultaneously unti you see a fastboot logo on your device screen.
12. Now type <fastboot devices> and look whether your device is shown or not.
If you cannot see your device serial number with fastboot written besides it then it is a driver issue
WATCH SOME OTHER GUIDES OR VIDEOS REGARDING INSTALLATION OF FASTBOOT DRIVERS OR USB DRIVERS
13. After you see your device in cmd you are ready to flash.
14. ENTER the command one by one which were modified from flashall.bat.
fastboot erase boot
fastboot flash preloader <path of preloader.bin >
fastboot flash logo <path of logo.bin >
fastboot flash tee1 < path of tee.img >
fastboot flash tee2 < path of tee.img >
fastboot flash scp1 < path of scp.img >
fastboot flash scp2 <path of scp.img
fastboot flash sspm_1 < path of sspm.img >
fastboot flash sspm_2 <path of sspm.img >
fastboot flash lk <path of lk.img>
fastboot flash lk2 < path of lk.img>
fastboot flash super< path of super.img>
fastboot flash cache <path of \cache.img>
fastboot flash recovery <path of recovery.img>
fastboot flash boot <path of boot.img>
fastboot flash dtbo <path of dtbo.img >
fastboot flash vbmeta <path of vbmeta.img >
fastboot flash spmfw <path of spmfw.img>
fastboot flash md1img < path of md1img.img >
fastboot flash vbmeta_system < path of vbmeta_system.img>
fastboot flash vbmeta_vendor < path of vbmeta_vendor.img>
fastboot flash cust < path of cust.img>
fastboot flash exaid < path of exaid.img>
fastboot flash userdata < path of userdata.img>
fastboot reboot
Take care of the spaces you should leave only one space between individual words of above commands
Now your device is flashed and it will automatically reboot into new STOCK ROM
Hi, does this method only work on Redmi Note 9 devices ? Or other redmi phones too. Sorry for bothering.
David-538 said:
Hi, does this method only work on Redmi Note 9 devices ? Or other redmi phones too. Sorry for bothering.
Click to expand...
Click to collapse
This generally varies from each device and platform. But you should always use the recommended tool if you don't want to have a nice brick in your hands, unless you know what you're doing.
David-538 said:
Hi, does this method only work on Redmi Note 9 devices ? Or other redmi phones too. Sorry for bothering.
Click to expand...
Click to collapse
Its gonna work for all redmi devices as it contains shell commands from mi flash tool itself
Manjotbenipal said:
Its gonna work for all redmi devices as it contains shell commands from mi flash tool itself
Click to expand...
Click to collapse
Ok, thanks. But as stated by the reply above. I should probably not try this, unless really cloud up with partitions, their purpose, & how locate them exactly...

[ROM][LINUX][DANDELION] Droidian Bookworm

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
​Requirements​
Android 10 firmware for your device:
Redmi 9A/9AT dandelion: LINK.
Dandelion​
Download the latest fastbootable image: droidian-UNOFFICIAL-phosh-phone-xiaomi_dandelion-api29-armhf-nightly_XXXXXXXX.zip
Installation​
Extract the archive
run the flash_all script
Boot to fastboot and let the script flash everything.
UBports Installer
Alternatively the UBports installer can also be used to install Droidian.
Notes​
The default password is 1234.
List of working things can be found at https://github.com/droidian-mt6765/device-page
Bugs​
Encryption is not supported.
Mobile data needs an APN to be set up from Settings -> Mobile -> Access Point Names.
RIL gets broken after switching airplane mode or modem off/on.
Mobile data might stop working after making or receiving phone calls. Toggle Mobile Data from the settins off/on.
Mobile data quick toggle doesn't work.
Bluetooth can be used via the terminal using bluetoothctl command or using blueman sudo apt install blueman but does not work via the settings app.
GPS works partially via Epiphany (tested with open street map).
Signal strength is reported at 1% but Mobile data and calls work just fine.
Anything related to cameras do not work it is a global issue across all devices, it does however work in Waydroid.
Changing audio to speaker in calls does not work on dandelion but works on angelica.
When a headphone is plugged in audio output must be changed manually in the settings.
Dual SIM functionality is currently not implemented in Phosh so only one SIM works at the moment.
Mobile hotspot does not work
Final notes​
I'm not responsible for bricked devices, dead SD cards, thermonuclear war, or you getting fired because the alarm app failed.
Support​
Device specific telegram group: @ut_angelica.
Droidian telegram group: @DroidianLinux.
All the sources are available at
Droidian for Redmi 9A/9AT and Redmi 9C/9C NFC
All repositories related to Droidian on Redmi 9A/9AT and Redmi 9C/9C NFC (MT6765/MT6762) - Droidian for Redmi 9A/9AT and Redmi 9C/9C NFC
github.com
Attached images are from different devices but the interface looks and acts the same.
I cant flash this on the recovery touchscreen dont Work what can i do for fix?il dont know my type of redmi 9a the data code is m2008c3lg
laharl_22 said:
I cant flash this on the recovery touchscreen dont Work what can i do for fix?il dont know my type of redmi 9a the data code is m2008c3lg
Click to expand...
Click to collapse
recovery touchscreen? if you mean the rootfs or adaptation package you can sideload them
FakeShell said:
recovery touchscreen? if you mean the rootfs or adaptation package you can sideload them
Click to expand...
Click to collapse
I cant do nothing on orangefox recovery tested many times the touchscreen and mouse with otg nothing work only the power button
laharl_22 said:
I cant do nothing on orangefox recovery tested many times the touchscreen and mouse with otg nothing work only the power button
Click to expand...
Click to collapse
can you try some other recovery such as the pbrp?
i will edit the post and add a second installation method soon
Just added the second installation method
you can try that out now
FakeShell said:
Just added the second installation method
you can try that out
Click to expand...
Click to collapse
It fails at the last step install.sh no such file or directory but the dir of the script is mounted and chmod work .sorry for my double post
laharl_22 said:
It fails at the last step install.sh no such file or directory but the dir of the script is mounted and chmod work .sorry for my double post
Click to expand...
Click to collapse
my bad it was a typo in my documentation
redo the second installation method
cd /tmp/adaptation-garden-script && chmod +x install.sh && sh install.sh
mount: '/dev/block/loop10'->'/mnt/': Block device required
mknod: /dev/loop1: File exists
losetup: /dev/loop1=/data/rootfs.img: Device or resource busy
mkdir: '/rootfs': File exists
cp: bad './etc/systemd/system/pulseaudio.service.d/*': No such file or directory
cp: /rootfs/etc/udev/rules.d/: No such file or directory
cp: /rootfs/etc/pulse/: Is a directory
cp: /rootfs/etc/ofono/: Is a directory
cp: '/rootfs/etc/modules-load.d/' not directory
cp: /rootfs/etc/apt/sources.list.d/: No such file or directory
cp: /rootfs/usr/share/keyrings/garden.gpg: No such file or directory
chroot: exec /bin/bash: No such file or directory i have this at the final step
laharl_22 said:
cd /tmp/adaptation-garden-script && chmod +x install.sh && sh install.sh
mount: '/dev/block/loop10'->'/mnt/': Block device required
mknod: /dev/loop1: File exists
losetup: /dev/loop1=/data/rootfs.img: Device or resource busy
mkdir: '/rootfs': File exists
cp: bad './etc/systemd/system/pulseaudio.service.d/*': No such file or directory
cp: /rootfs/etc/udev/rules.d/: No such file or directory
cp: /rootfs/etc/pulse/: Is a directory
cp: /rootfs/etc/ofono/: Is a directory
cp: '/rootfs/etc/modules-load.d/' not directory
cp: /rootfs/etc/apt/sources.list.d/: No such file or directory
cp: /rootfs/usr/share/keyrings/garden.gpg: No such file or directory
chroot: exec /bin/bash: No such file or directory i have this at the final step
Click to expand...
Click to collapse
Can you drop me a message at @FakeShell at telegram?
because this seems to work and run fine on my 9A
have to troubleshoot a bit
FakeShell said:
Can you drop me a message at @FakeShell at telegram?
because this seems to work and run fine on my 9A
have to troubleshoot a bit
Click to expand...
Click to collapse
I think my device is corrupted on all zip i have error 1 and unable to mount storage i dont know why.i dont have telegram
laharl_22 said:
I think my device is corrupted on all zip i have error 1 and unable to mount storage i dont know why.i dont have telegram
Click to expand...
Click to collapse
you can try flashing back android
Where to write it: cd /tmp/adaptation-garden-script && chmod +x install.sh && ./install.sh ???
vipinc said:
Where to write it: cd /tmp/adaptation-garden-script && chmod +x install.sh && ./install.sh ???
Click to expand...
Click to collapse
in adb shell
FakeShell said:
View attachment 5665895
Requirements​
Android 10 firmware for your device:
Redmi 9A dandelion: LINK.
Redmi 9C angelica: LINK.
Dandelion​
Download the latest rootfs: droidian-OFFICIAL-phosh-phone-rootfs-api29-armhf-nightly_XXXXXXXX.zip.
Download the adaptation package: adaptation-droidian-garden.zip.
Download boot-dandelion.img, dtbo-dandelion.img, vbmeta-dandelion.img.
Download our customized version of OrangeFox recovery OrangeFox-R11-garden-droidian.img
Angelica​
Download the latest rootfs: droidian-OFFICIAL-phosh-phone-rootfs-api29-armhf-nightly_XXXXXXXX.zip.
Download the adaptation package: adaptation-droidian-garden.zip.
Download boot-dandelion.img, dtbo-dandelion.img, vbmeta-dandelion.img.
Download our customized version of OrangeFox recovery OrangeFox-R11-garden-droidian.img
Dandelion installation​
Flash boot-dandelion.img: fastboot flash boot boot-dandelion.img.
Flash dtbo-dandelion.img: fastboot flash dtbo dtbo-dandelion.img.
Flash vbmeta-dandelion.img: fastboot --disable-verity --disable-verification flash vbmeta vbmeta-dandelion.img.
Flash OrangeFox-R11-garden-droidian.img: fastboot flash recovery OrangeFox-R11-garden-droidian.img.
Format userdata as ext4 from inside the recovery or via fastboot: fastboot format:ext4 userdata.
Now boot into recovery.
Go into sideload mode and sideload droidian-OFFICIAL-phosh-phone-rootfs-api29-armhf-nightly_XXXXXXXX.zip: adb sideload droidian-OFFICIAL-phosh-phone-rootfs-api29-armhf-nightly_XXXXXXXX.zip
Go into sideload mode and sideload adaptation-droidian-garden.zip: adb sideload adaptation-droidian-garden.zip
Now boot into your device.
If for some reason sideload or recovery did not work out for you should try my second installation method:
Download the adaptation script (not the adaptation package): [adaptation-garden-script.zip] (https://garden.bardia.tech/adaptation-garden-script.zip).
Download PBRP: [PBRP-3.1.0.img] (https://garden.bardia.tech/PBRP-3.1.0.img)
Flash PBRP-3.1.0.img: fastboot flash recovery PBRP-3.1.0.img.
Now boot into recovery
Now extract adaptation-garden-script.zip on your PC/Laptop and push it to your device: adb push adaptation-garden-script /tmp
adb shell and Change directory to /tmp and run the script: cd /tmp/adaptation-garden-script && chmod +x install.sh && ./install.sh
Now boot into your device.
The first boot will take a while.
Angelica installation​
Flash boot-angelica.img: fastboot flash boot boot-angelica.img.
Flash dtbo-angelica.img: fastboot flash dtbo dtbo-angelica.img.
Flash vbmeta-dandelion.img: fastboot --disable-verity --disable-verification flash vbmeta vbmeta-angelica.img.
Flash OrangeFox-R11-garden-droidian.img: fastboot flash recovery OrangeFox-R11-garden-droidian.img.
Format userdata as ext4 from inside the recovery or via fastboot: fastboot format:ext4 userdata.
Now boot into recovery.
Go into sideload mode and sideload droidian-OFFICIAL-phosh-phone-rootfs-api29-armhf-nightly_XXXXXXXX.zipip: adb sideload droidian-OFFICIAL-phosh-phone-rootfs-api29-armhf-nightly_XXXXXXXX.zip
Go into sideload mode and sideload adaptation-droidian-garden.zip: adb sideload adaptation-droidian-garden.zip
Now boot into your device.
If for some reason sideload or recovery did not work out for you should try my second installation method:
Download the adaptation script (not the adaptation package): [adaptation-garden-script.zip] (https://garden.bardia.tech/adaptation-garden-script.zip).
Download PBRP: [PBRP-3.1.0.img] (https://garden.bardia.tech/PBRP-3.1.0.img)
Flash PBRP-3.1.0.img: fastboot flash recovery PBRP-3.1.0.img.
Now boot into recovery
Now extract adaptation-garden-script.zip on your PC/Laptop and push it to your device: adb push adaptation-garden-script /tmp
Change directory to /tmp and run the script: cd /tmp/adaptation-garden-script && chmod +x install.sh && ./install.sh
Now boot into your device.
The first boot will take a while.
Notes​
The default password is 1234.
Xiaomi has not updated their kernel source tree and as a result some models of 9A and 9C have non functional display panels with our kernel.
Droidian GSIs are experimental! Bugs and missing features are expected.
List of working things can be found at https://garden.bardia.tech
Bugs​
Mobile data needs an APN to be set up from Settings -> Mobile -> Acess Point Names.
RIL gets broken after switching airplane mode or modem off/on.
Mobile data might stop working after making or recieving phone calls. Toggle Mobile Data from the settins off/on.
Mobile data quick toggle doesn't work.
Bluetooth can be used via the terminal using bluetoothctl command or using blueman sudo apt install blueman but does not work via the settings app.
GPS works partially via Epiphany (tested with open street map).
Signal strengh is reported at 1% but Mobile data and calls work just fine.
Anything related to cameras do not work it is a global issue across all devices, it does however work in Waydroid which is currently not available on angelica and dandelion.
Changing audio to speaker in calls does not work on dandelion but works on angelica.
When a headphone is plugged in audio output must be changed manually in the settings.
Dual SIM functionality is currently not implemented in Phosh so only one SIM works at the moment.
Just like bluetooth, hotspot does not work from settings either and has to be used from a GUI application (such as the default advanced network app) or from terminal.
Flashlight can be used via the desktop icons only.
Final notes​
I'm not responsible for bricked devices, dead SD cards, thermonuclear war, or you getting fired because the alarm app failed.
Support​
Device specific telegram group: @ut_angelica.
Droidian telegram group: @DroidianLinux.
All the sources are available at
Droidian for Redmi 9A/9AT and Redmi 9C/9C NFC
All repositories related to Droidian on Redmi 9A/9AT and Redmi 9C/9C NFC (MT6765/MT6762) - Droidian for Redmi 9A/9AT and Redmi 9C/9C NFC
github.com
Click to expand...
Click to collapse
Ow Lord, atomic bomb breaked myself on knees
+1
FakeShell said:
in adb shell
Click to expand...
Click to collapse
Hello FakeShell I have a kernel sources arm64 for redmi 9a can you compile and make droidian arm64
if you want i can upload the kernel sources
Hello bro
Your work is appreciable but i have a question that your droidian rom is based on Android 10 (Q) and it is became old in this big community Android 11 (R) and Android 12 (T) will (maybe) also release soon then who wants downgrade to an old android version from the latest android and latest security patches
My main question is that this rom droidian cant be based on latest android ?
the_arxyn said:
Hello bro
Your work is appreciable but i have a question that your droidian rom is based on Android 10 (Q) and it is became old in this big community Android 11 (R) and Android 12 (T) will (maybe) also release soon then who wants downgrade to an old android version from the latest android and latest security patches
My main question is that this rom droidian cant be based on latest android ?
Click to expand...
Click to collapse
This is a Linux OS its not an Android ROM they are very different. It uses the Android 10 vendor and kernel and thats it. the rest is done on droidian itself. The kernel we have right now is patched to work with all variants of dandelion, angelica and angelican thanks to TheKit and Muhammad. as we all know xiaomi did not update their kernel source for these devices (garden). but we have all the needed drivers that Xiaomi did not include. for vendor the reason it cannot be upgraded is that we don't use the android vendor the way you might think we do. the system partition is completely wiped and the OS is completely up to date so I will argue that right now Droidian is much more secure than android itself. upgrading to Android 12 is impossible right now as we don't have a general Halium container image for Android 12 but Android 11 is doable albeit a waste of time. because of how low end these devices are and the ram usage will increase without any benefit on our end.
The main concern right now is with the vendor being armhf which forces us to also work with armhf rootfs instead of arm64 (while the kernel is arm64!).
But then again arm64 vendor will also just increase memory usage and there are variants of garden with 2GB of memory which already suffer with armhf so at least for now arm64 is completely out of the question.

Categories

Resources