boot image repackaged with abootimg fails with "error boot prepare" - Google Pixel 4 Questions & Answers

Device: Pixel4
Build number: QQ2A.200501.001.B2
Extracted boot.img from factory image.
$ abootimg -i boot.img
Android Boot Image Info:
* file name = boot.img
* image size = 67108864 bytes (64.00 MB)
page size = 4096 bytes
* Boot Name = ""
* kernel size = 20975335 bytes (20.00 MB)
ramdisk size = 10529977 bytes (10.04 MB)
* load addresses:
kernel: 0x00008000
ramdisk: 0x01000000
tags: 0x00000100
* cmdline = console=ttyMSM0,115200n8 androidboot.console=ttyMSM0 printk.devkmsg=on msm_rtb.filter=0x237 ehci-hcd.park=3 service_locator.enable=1 androidboot.memcg=1 cgroup.memory=nokmem usbcore.autosuspend=7 androidboot.usbcontroller=a600000.dwc3 swiotlb=2048 androidboot.boot_devices=soc/1d84000.ufshc buildvariant=user
* id = 0x622e458e 0xec0f5ea0 0x0f7f2da1 0xf8943ad5 0xa963b0ec 0x00000000 0x00000000 0x00000000
I repackaged the boot image with
$ abootimg --create myboot.img -f bootimg.cfg -k zImage -r initrd.img
and I get
$ abootimg -i myboot.img
Android Boot Image Info:
* file name = myboot.img
* image size = 67108864 bytes (64.00 MB)
page size = 4096 bytes
* Boot Name = ""
* kernel size = 20975335 bytes (20.00 MB)
ramdisk size = 10513203 bytes (10.03 MB)
* load addresses:
kernel: 0x00008000
ramdisk: 0x01000000
tags: 0x00000100
* cmdline = console=ttyMSM0,115200n8 androidboot.console=ttyMSM0 printk.devkmsg=on msm_rtb.filter=0x237 ehci-hcd.park=3 service_locator.enable=1 androidboot.memcg=1 cgroup.memory=nokmem usbcore.autosuspend=7 androidboot.usbcontroller=a600000.dwc3 swiotlb=2048 androidboot.boot_devices=soc/1d84000.ufshc buildvariant=user
* id = 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
I have not modified the ramdisk. I am just trying to extract and repackage the boot image, in order to test abootimg.
When flashing new boot image, on boot I get "error boot prepare".
Anyone knows why the abootimg tool is not working? Anything I am doing wrong?

Related

Odroid u2 Won't boot to recovery

My Odroid won't boot to CWM recovery with CM10.1 installed on the emmc.
I extracted the three files from here: http://cyanogenmod.org/rc/odroidu2-recovery.zip and placed them on the root of the emmc but every time I boot up I get this
Code:
U-Boot 2010.12-svn (Jan 28 2013 - 14:10:19) for Exynox4412
CPU: S5PC220 [Samsung SOC on SMP Platform Base on ARM CortexA9]
APLL = 1000MHz, MPLL = 880MHz
DRAM: 2047 MiB
PMIC VERSION : 0x00, CHIP REV : 2
TrustZone Enabled BSP
BL1 version: 20121128
Checking Boot Mode ... EMMC4.41
REVISION: 2.0
Manufacturer TOSHIBA [ 15028MB ]
NAME: S5P_MSHC4
MMC Device 0: 15028 MB
MMC Device 1: 0 MB
MMC Device 2 not found
*** Warning - using default environment
ModeKey Check... run normal_boot
Net: No ethernet found.
Hit any key to stop autoboot: 0
NAME: S5P_MSHC4
NAME: S5P_MSHC4
>>> Load Boot Script from mmc 0:1 <<<
NAME: S5P_MSHC4
Partition1: Start Address(0x520000), Size(0x181a000)
reading boot.scr
Warning : Reads a file that is smaller than the cluster size.
623 bytes read
## Executing script at 40008000
Wrong image format for "source" command
Exynos4412 #
how can i get past this?
deleted

[Q] Need help in porting slimbean

Well I was trying to port slimben for my acer a500 and the build goes well until the last few steps when trying to make a zip file. Can you guys help me take a look thank you!
Code:
Made boot image: out/target/product/a500/boot.img
----- Making recovery image ------
out/host/linux-x86/bin/mkbootimg --kernel out/target/product/a500/kernel --ramdisk out/target/product/a500/ramdisk-recovery.img --base 0x10000000 --output out/target/product/a500/recovery.img
Made recovery image: out/target/product/a500/recovery.img
out/target/product/a500/recovery.img maxsize=5136384 blocksize=135168 total=4249600 reserve=270336
Construct recovery from boot
mkdir -p out/target/product/a500/obj/PACKAGING/recovery_patch_intermediates/
PATH=out/host/linux-x86/bin:$PATH out/host/linux-x86/bin/imgdiff out/target/product/a500/boot.img out/target/product/a500/recovery.img out/target/product/a500/obj/PACKAGING/recovery_patch_intermediates/recovery_from_boot.p
Construct patches for 3 chunks...
patch 0 is 205 bytes (of 2838538)
patch 1 is 1242964 bytes (of 170881)
patch 2 is 153 bytes (of 1141)
chunk 0: normal ( 0, 2838538) 205
chunk 1: deflate ( 2838538, 1410471) 1242964 (null)
chunk 2: normal ( 4249009, 591) 153
Install system fs image: out/target/product/a500/system.img
out/target/product/a500/system.img+out/target/product/a500/obj/PACKAGING/recovery_patch_intermediates/recovery_from_boot.p maxsize=1310318592 blocksize=135168 total=195068238 reserve=13246464
Package target files: out/target/product/a500/obj/PACKAGING/target_files_intermediates/slim_a500-target_files-eng.user.zip
Package OTA: out/target/product/a500/slim_a500-ota-eng.user.zip
./build/tools/releasetools/ota_from_target_files -v \
-p out/host/linux-x86 \
-k build/target/product/security/testkey \
--backup=true \
--override_device=picasso,a500 \
out/target/product/a500/obj/PACKAGING/target_files_intermediates/slim_a500-target_files-eng.user.zip out/target/product/a500/slim_a500-ota-eng.user.zip
unzipping target target-files...
running: unzip -o -q out/target/product/a500/obj/PACKAGING/target_files_intermediates/slim_a500-target_files-eng.user.zip -d /tmp/targetfiles-91NFVw
--- target info ---
blocksize = (int) 131072
boot_size = (int) 8388608
default_system_dev_certificate = (str) build/target/product/security/testkey
extfs_sparse_flag = (str) -s
fs_type = (str) ext4
fstab = (dict) {'/flexrom': <common.Partition object at 0x1e48150>, '/cache': <common.Partition object at 0x1e480d0>, '/boot': <common.Partition object at 0x1e44ed0>, '/system': <common.Partition object at 0x1e48050>, '/mnt/sdcard': <common.Partition object at 0x1e48250>, '/recovery': <common.Partition object at 0x1e44e50>, '/data': <common.Partition object at 0x1e481d0>}
recovery_api_version = (int) 2
recovery_size = (int) 5242880
system_size = (int) 1283457024
tool_extensions = (str) device/acer/a500/../common
userdata_size = (int) 13950255104
using device-specific extensions in device/acer/common
unable to load device-specific module; assuming none
Traceback (most recent call last):
File "./build/tools/releasetools/ota_from_target_files", line 901, in <module>
main(sys.argv[1:])
File "./build/tools/releasetools/ota_from_target_files", line 869, in main
WriteFullOTAPackage(input_zip, output_zip)
File "./build/tools/releasetools/ota_from_target_files", line 448, in WriteFullOTAPackage
script.Mount("/data")
File "/home/user/slim4.1/build/tools/releasetools/edify_generator.py", line 157, in Mount
(p.fs_type, common.PARTITION_TYPES[p.fs_type],
KeyError: 'auto'
make: *** [out/target/product/a500/slim_a500-ota-eng.user.zip] Error 1

Copy binary by odin (Samsung SM-G531M android 5.1)

Greetings to all.
I have a Samsung SM-G531M Galaxy Grand Prime. Android 5.1
By mistake delete a system binary (linker) and now the phone does not start. And every time I try to start it in recovery (loop) mode but I have the FRP lock. Only the downlad mode works for me.
Can you copy the binary linker by odin? Ie edit the stock rom and put only the linker (delete all, just leave / system / bin / linker).
If so, I have tried modifying the stock rom, but I can not extract a file from boot.img (file_contexts from the boot.img \ ramdisk) that it is essential to package the new modified system(using program Auto Tool v3.0 x64).
-My system is windows 7.
-CarlivImageKitchen_x64
Your image: boot.img
Create the boot folder.
*Printing information for "boot.img"
*Unpack image utility by carliv @ xda
*Header:
**Magic: ANDROID!
**Magic offset: 0
**Page size: 50331648 (0x03000000)
**Base address: 0x10000000
**Kernel address: 0x10008000
**Kernel size: 6294484 (0x00600bd4)
**Kernel offset: 0x00008000
*>> kernel written to 'boot / boot.img-kernel' (6294484 bytes)
**Ramdisk address: 0x11000000
**Ramdisk size: 1532010 (0x0017606a)
**Ramdisk offset: 0x01000000
*>> ramdisk written to 'boot / boot.img-ramdisk.unknown' (1532010 bytes)
**Second address: 0x10f00000
**Tags address: 0x0001f800
**Tags offset: 0xf001f800
**Dt size: 268435712 (0x10000100)
*>> device_tree written to 'boot / boot.img-dt' (268435712 bytes)
Compression used: unknown
Unpacking the ramdisk ....
The system can not find the specified batch label: unknown
And the ramdisk folder appears empty.
Thanks in advance.

[GUIDE][any UNLOCKED G4]create a custom X cores boot image (ILAPO tempfix)

The X cores GUIDE
About
I have created many bootloop-fix boot images in the past and as the way to do it on your own is (in general) very easy I wanted to write it down so everyone can do it by himself.
The reason? The ILAPO (hardware related bootloop) happens due to overheating and so throttling the device may help in extends the life of your device and can even resurrect your phone when in a bootloop.
Again using a reduced amount of cores will be a temporary fix only as the ILAPO is a hardware issue! Read the bootloop-fixit-list for details.
Maybe you do not need to create one - checkout the current available 4-core boot images here: temporary-bootloop-fix-thread
This requires an unlocked device to flash and use!
Howto
Creating a custom boot image is very easy and done in 5 sec.
you need the tool: abootimg - so Linux or FWUL (included since v3.0)
Code:
abootimg -i boot.img
note and copy the whole cmdline output. Example (in red and bold):
Code:
Android Boot Image Info:
* file name = boot.img
* image size = 29614080 bytes (28.24 MB)
page size = 4096 bytes
* Boot Name = ""
* kernel size = 26722280 bytes (25.48 MB)
ramdisk size = 1668572 bytes (1.59 MB)
* load addresses:
kernel: 0x00008000
ramdisk: 0x01000000
tags: 0x00000100
* [B][COLOR="Red"]cmdline = console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom user_debug=31 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 msm_rtb.filter=0x37 boot_cpus=0-5 buildvariant=userdebug[/COLOR][/B]
* id = 0xf19c37df 0x9734fb7a 0x3c6b45f4 0x3a8d0267 0x32786841 0x00000000 0x00000000 0x00000000
Ok now you need to modify - NOT UNPACK the boot image!! thats 1) not necessary and 2) it will make your boot image unbootable (when using abootimg).
Now modify for your wanted amount of cores.
Let's assume you want to use in Android 4 cores as max and on boot 4 cores max as well:
Code:
abootimg -u boot.img -c "cmdline = [B]maxcpus=4 boot_cpus=0-3[/B] [COLOR="Red"]console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom user_debug=31 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 msm_rtb.filter=0x37 boot_cpus=0-5 buildvariant=userdebug[/COLOR]"
Noted the bold part: maxcpus=4 boot_cpus=0-3 ? That is the magic which sets the wanted cores.
Noted the red part: console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom user_debug=31 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 msm_rtb.filter=0x37 boot_cpus=0-5 buildvariant=userdebug ?
Thats just the regular cmdline copied from the original boot image you written done in the first step.
You may noticed that there is another boot_cpus value in that particular case set right? boot_cpus=0-5 in this case. You can remove or leave it as u like.
The reason is: the boot cmdline will be handled like: first match = wins. so when doing as explained you will set boot_cpus and maxcpus at the very beginning of the cmdline and so we will overwrite whatever comes next.
maxcpus=X (recommended value for bootloop devices: 4)
> Maximum number of processors that an SMP kernel should make use of. maxcpus=n : n >= 0 limits the kernel to using 'n' processors. n=0 is a special case, it is equivalent to "nosmp", which also disables the IO APIC. (source)
X can be from 1 to 6 and defines the maximal available amount of cores in Android. If you set it to 4 Android can use 4 only. For Android you must enable them manually which requires always root access (e.g. by an app like Kernel Adiutor)
boot_cpus=Y-Z (recommended value for bootloop devices: "0-3" or if that still bootloops "0-1")
> Rather than attempting to online all possible CPUs at boot time, only online the specified set of CPUs. (source)
Y-Z can be 0-5(!) yes there is no 6! Thats the CPU core "IDs" to use on boot. 0-3 will use 4 cpus (so only the little cores which are: 0,1,2,3 - as 4 and 5 are the big ones causing the ILAPO more) on boot. Note that the setting differs to maxcpus as the numbers here starting from 0 where 0 is the first core. You can set a single core, comma separated core IDs or define ranges here. When you want to set just a single core here it may be required to set boot_cpus=1 instead of boot_cpus=0.
Verify your modified boot image:
Code:
abootimg -i boot.img
Android Boot Image Info:
* file name = boot.img
* image size = 29614080 bytes (28.24 MB)
page size = 4096 bytes
* Boot Name = ""
* kernel size = 26722280 bytes (25.48 MB)
ramdisk size = 1668572 bytes (1.59 MB)
* load addresses:
kernel: 0x00008000
ramdisk: 0x01000000
tags: 0x00000100
* [B]cmdline = maxcpus=4 boot_cpus=0-3 console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom user_debug=31 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 msm_rtb.filter=0x37 boot_cpus=0-5[/B]
buildvariant=userdebug
* id = 0x00000160 0x4bd3a2b4 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
Whats next?
So now you're prepared to flash your modified X cores boot image via fastboot and see if it boots
Code:
fastboot boot boot.img
This above will *temporary* boot your modified boot image and is meant for testing it only.
To install it permanently use this command in fastboot mode:
Code:
fastboot flash boot boot.img
You can do this on every boot image or recovery image (so yes even on TWRP !)
Cheers
steadfasterX
reserved.
Any way to fix issue in locked device? Still stucked on lollipop with root.
kalanakodicara said:
Any way to fix issue in locked device? Still stucked on lollipop with root.
Click to expand...
Click to collapse
depends on your device and current ARB. I added the aboot TOT flashing method which also works on locked devices but u need to take care of the ARB (all mentioned there including links etc):
https://forum.xda-developers.com/g4/help/guide-ultimate-bootloop-fixit-list-t3667688
,
steadfasterX said:
depends on your device and current ARB. I added the aboot TOT flashing method which also works on locked devices but u need to take care of the ARB (all mentioned there including links etc):
https://forum.xda-developers.com/g4/help/guide-ultimate-bootloop-fixit-list-t3667688
,
Click to expand...
Click to collapse
Its h815 SEA and can i use tot method for v29a or 20p?
How can I extract boot.img from phone or KDZ file, so I can modify it. I tryed to make backup from twrp, but the file is boot.emmc.win...
I have H815 20g_00_0720.kdz, rooted, TWRP
steadfasterX said:
The X cores GUIDE
About
I have created many bootloop-fix boot images in the past and as the way to do it on your own is (in general) very easy I wanted to write it down so everyone can do it by himself.
The reason? The ILAPO (hardware related bootloop) happens due to overheating and so throttling the device may help in extends the life of your device and can even resurrect your phone when in a bootloop.
Again using a reduced amount of cores will be a temporary fix only as the ILAPO is a hardware issue! Read the bootloop-fixit-list for details.
Maybe you do not need to create one - checkout the current available 4-core boot images here: temporary-bootloop-fix-thread
This requires an unlocked device to flash and use!
Howto
Creating a custom boot image is very easy and done in 5 sec.
you need the tool: abootimg - so Linux or FWUL
Code:
abootimg -i boot.img
note and copy the whole cmdline output. Example (in red and bold):
Code:
Android Boot Image Info:
* file name = boot.img
* image size = 29614080 bytes (28.24 MB)
page size = 4096 bytes
* Boot Name = ""
* kernel size = 26722280 bytes (25.48 MB)
ramdisk size = 1668572 bytes (1.59 MB)
* load addresses:
kernel: 0x00008000
ramdisk: 0x01000000
tags: 0x00000100
* [B][COLOR="Red"]cmdline = console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom user_debug=31 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 msm_rtb.filter=0x37 boot_cpus=0-5 buildvariant=userdebug[/COLOR][/B]
* id = 0xf19c37df 0x9734fb7a 0x3c6b45f4 0x3a8d0267 0x32786841 0x00000000 0x00000000 0x00000000
Ok now you need to modify - NOT UNPACK the boot image!! thats 1) not necessary and 2) it will make your boot image unbootable (when using abootimg).
Now modify for your wanted amount of cores.
Let's assume you want to use in Android 4 cores as max and on boot 4 cores max as well:
Code:
abootimg -u boot.img -c "cmdline = [B]maxcpus=4 boot_cpus=0-3[/B] [COLOR="Red"]console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom user_debug=31 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 msm_rtb.filter=0x37 boot_cpus=0-5 buildvariant=userdebug[/COLOR]"
Noted the bold part: maxcpus=4 boot_cpus=0-3 ? That is the magic which sets the wanted cores.
Noted the red part: console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom user_debug=31 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 msm_rtb.filter=0x37 boot_cpus=0-5 buildvariant=userdebug ?
Thats just the regular cmdline copied from the original boot image you written done in the first step.
You may noticed that there is another boot_cpus value in that particular case set right? boot_cpus=0-5 in this case. You can remove or leave it as u like.
The reason is: the boot cmdline will be handled like: first match = wins. so when doing as explained you will set boot_cpus and maxcpus at the very beginning of the cmdline and so we will overwrite whatever comes next.
maxcpus=X (recommended value for bootloop devices: 4)
X can be 1-6 and this defines the maximal amount of cores in Android. If you set it to 4 Android can use 4 only.
boot_cpus=Y-Z (recommended value for bootloop devices: "0-3" or if that still bootloops "0-1")
Y-Z can be 0-5(!) yes no 6! Thats the CPU core number to use on boot. 0-3 will use 4 cpus (so only the little ones) on boot. The difference to maxcpus is that the cpu number starting from 0 where 0 is the first core.
Verify your modified boot image:
Code:
abootimg -i boot.img
Android Boot Image Info:
* file name = boot.img
* image size = 29614080 bytes (28.24 MB)
page size = 4096 bytes
* Boot Name = ""
* kernel size = 26722280 bytes (25.48 MB)
ramdisk size = 1668572 bytes (1.59 MB)
* load addresses:
kernel: 0x00008000
ramdisk: 0x01000000
tags: 0x00000100
* [B]cmdline = maxcpus=4 boot_cpus=0-3 console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom user_debug=31 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 msm_rtb.filter=0x37 boot_cpus=0-5[/B]
buildvariant=userdebug
* id = 0x00000160 0x4bd3a2b4 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
Whats next?
So now you're prepared to flash your modified X cores boot image via fastboot and see if it boots
You can do this on every boot image or recovery image (so yes even on TWRP !)
Cheers
steadfasterX
Click to expand...
Click to collapse
Snapdaragon 808 only!
All you have to do is flashing in twrp
Off the kernel's big core
https://drive.google.com/file/d/1ij-qm5qWezoRykwjoTlg0BcQ-do21QIp/view?usp=drivesdk
DomagojX said:
How can I extract boot.img from phone or KDZ file, so I can modify it. I tryed to make backup from twrp, but the file is boot.emmc.win...
I have H815 20g_00_0720.kdz, rooted, TWRP
Click to expand...
Click to collapse
Use SALT to take a basic backup. You will find the boot image there too.
Use SALT as well to extract a kdz.
lq092009 said:
Snapdaragon 808 only!
All you have to do is flashing in twrp
Off the kernel's big core
https://drive.google.com/file/d/1ij-qm5qWezoRykwjoTlg0BcQ-do21QIp/view?usp=drivesdk
Click to expand...
Click to collapse
Awesome. I have everything prepared to modify boot images on the fly but no time yet to finish it.
Before I started with implementing this I tried unpacking and packaging like you do here (mkbootimg etc) and failed:
Unless you use special versions of unpack image your method will not work for the g4 and results in a soft brick as we need to unpack and pack including the dt.img. Otherwise the kernel will not boot. I tried that already and that was an issue with TWRP long time ago, too.
But thanks anyways and let me know if you can do the same but including the dt
Sent from my LG-H815 using XDA Labs
steadfasterX said:
Use SALT to take a basic backup. You will find the boot image there too.
Use SALT as well to extract a kdz.
Awesome. I have everything prepared to modify boot images on the fly but no time yet to finish it.
Before I started with implementing this I tried unpacking and packaging like you do here (mkbootimg etc) and failed:
Unless you use special versions of unpack image your method will not work for the g4 and results in a soft brick as we need to unpack and pack including the dt.img. Otherwise the kernel will not boot. I tried that already and that was an issue with TWRP long time ago, too.
But thanks anyways and let me know if you can do the same but including the dt
Sent from my LG-H815 using XDA Labs
Click to expand...
Click to collapse
It must be flashing before modifying the kernel with a magisk or supersu
lq092009 said:
It must be flashing before modifying the kernel with a magisk or supersu
Click to expand...
Click to collapse
Sure. That's not the problem. I referring to the dt.img which does not get extracted from the boot image the way you do it. Without this the device will not boot as the bootloader aboot needs it!
This has nothing to do with magisk or supersu.
Sent from my LG-H815 using XDA Labs
I've been using this on a phone that was overheating a couple times a day. It's been two days without a reboot/loop. Thanks!
You've given new life for a phone that was sitting in a drawer. This, combined with the bootloader unlock, and the roms are fantastic!
DoughMucker said:
I've been using this on a phone that was overheating a couple times a day. It's been two days without a reboot/loop. Thanks!
You've given new life for a phone that was sitting in a drawer. This, combined with the bootloader unlock, and the roms are fantastic!
Click to expand...
Click to collapse
I'm glad it helps
Sent from my LG-H815 using XDA Labs
Can I do it on Nougat or Oreo based roms? Do I need to flash the rom first and then edit or do it before?
ojcu said:
Can I do it on Nougat or Oreo based roms? Do I need to flash the rom first and then edit or do it before?
Click to expand...
Click to collapse
ANY means ANY right?
You would first first flash your ROM then the modified boot image.
.
steadfasterX said:
ANY means ANY right?
.
Click to expand...
Click to collapse
I know it was one of the noobest questions I could ask but I've never done it before so just making sure. Thanks
I've had a quick look for a way to do this from within android but had no luck. I wonder if there's a kitchen tool in the play store that would work, or some android shell or busybox type add-on.
@steadfasterX Apologies for the noob request, I am not very good with linux , i followed the steps above , and when i try to flash the boot image it raises an error in fastboot remote:image is not a boot image
Kindly assist me.
steadfasterX said:
The X cores GUIDE
About
I have created many bootloop-fix boot images in the past and as the way to do it on your own is (in general) very easy I wanted to write it down so everyone can do it by himself.
The reason? The ILAPO (hardware related bootloop) happens due to overheating and so throttling the device may help in extends the life of your device and can even resurrect your phone when in a bootloop.
Again using a reduced amount of cores will be a temporary fix only as the ILAPO is a hardware issue! Read the bootloop-fixit-list for details.
Maybe you do not need to create one - checkout the current available 4-core boot images here: temporary-bootloop-fix-thread
This requires an unlocked device to flash and use!
Howto
Creating a custom boot image is very easy and done in 5 sec.
you need the tool: abootimg - so Linux or FWUL
Code:
abootimg -i boot.img
note and copy the whole cmdline output. Example (in red and bold):
Code:
Android Boot Image Info:
* file name = boot.img
* image size = 29614080 bytes (28.24 MB)
page size = 4096 bytes
* Boot Name = ""
* kernel size = 26722280 bytes (25.48 MB)
ramdisk size = 1668572 bytes (1.59 MB)
* load addresses:
kernel: 0x00008000
ramdisk: 0x01000000
tags: 0x00000100
* [B][COLOR="Red"]cmdline = console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom user_debug=31 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 msm_rtb.filter=0x37 boot_cpus=0-5 buildvariant=userdebug[/COLOR][/B]
* id = 0xf19c37df 0x9734fb7a 0x3c6b45f4 0x3a8d0267 0x32786841 0x00000000 0x00000000 0x00000000
Ok now you need to modify - NOT UNPACK the boot image!! thats 1) not necessary and 2) it will make your boot image unbootable (when using abootimg).
Now modify for your wanted amount of cores.
Let's assume you want to use in Android 4 cores as max and on boot 4 cores max as well:
Code:
abootimg -u boot.img -c "cmdline = [B]maxcpus=4 boot_cpus=0-3[/B] [COLOR="Red"]console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom user_debug=31 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 msm_rtb.filter=0x37 boot_cpus=0-5 buildvariant=userdebug[/COLOR]"
Noted the bold part: maxcpus=4 boot_cpus=0-3 ? That is the magic which sets the wanted cores.
Noted the red part: console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom user_debug=31 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 msm_rtb.filter=0x37 boot_cpus=0-5 buildvariant=userdebug ?
Thats just the regular cmdline copied from the original boot image you written done in the first step.
You may noticed that there is another boot_cpus value in that particular case set right? boot_cpus=0-5 in this case. You can remove or leave it as u like.
The reason is: the boot cmdline will be handled like: first match = wins. so when doing as explained you will set boot_cpus and maxcpus at the very beginning of the cmdline and so we will overwrite whatever comes next.
maxcpus=X (recommended value for bootloop devices: 4)
X can be 1-6 and this defines the maximal amount of cores in Android. If you set it to 4 Android can use 4 only.
boot_cpus=Y-Z (recommended value for bootloop devices: "0-3" or if that still bootloops "0-1")
Y-Z can be 0-5(!) yes no 6! Thats the CPU core number to use on boot. 0-3 will use 4 cpus (so only the little ones) on boot. The difference to maxcpus is that the cpu number starting from 0 where 0 is the first core.
Verify your modified boot image:
Code:
abootimg -i boot.img
Android Boot Image Info:
* file name = boot.img
* image size = 29614080 bytes (28.24 MB)
page size = 4096 bytes
* Boot Name = ""
* kernel size = 26722280 bytes (25.48 MB)
ramdisk size = 1668572 bytes (1.59 MB)
* load addresses:
kernel: 0x00008000
ramdisk: 0x01000000
tags: 0x00000100
* [B]cmdline = maxcpus=4 boot_cpus=0-3 console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom user_debug=31 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 msm_rtb.filter=0x37 boot_cpus=0-5[/B]
buildvariant=userdebug
* id = 0x00000160 0x4bd3a2b4 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
Whats next?
So now you're prepared to flash your modified X cores boot image via fastboot and see if it boots
You can do this on every boot image or recovery image (so yes even on TWRP !)
Cheers
steadfasterX
Click to expand...
Click to collapse
Hello @steadfasterX
I wanted to request your assistance in creating a custom boot image for my device I tried to do it from your thread a couple of times I really don't know what the issue could be.
It raises the error remote :image is not a boot image when I try to flash it in fastboot
I have attached a link to my boot.bin image file
Thanks.https://mega.nz/#!m8QRXSJJ!R90SoS48O...IJ_Uvdrsp9tYoE
I am on the latest twrp for N posted on your server
izzle47 said:
Hello @steadfasterX
I wanted to request your assistance in creating a custom boot image for my device I tried to do it from your thread a couple of times I really don't know what the issue could be.
It raises the error remote :image is not a boot image when I try to flash it in fastboot
I have attached a link to my boot.bin image file
Thanks.https://mega.nz/#!m8QRXSJJ!R90SoS48O...IJ_Uvdrsp9tYoE
I am on the latest twrp for N posted on your server
Click to expand...
Click to collapse
first of all I have a friendly advice for you never ever quote big posts like mine. Regarding your problem try FWUL to modify it. I have no time at the moment sorry but maybe someone else can help you as well if FWUL doesn't help
Sent from my LG-H815 using XDA Labs
Hi
Thanks for sharing the method. I want to boot with only 1 core and later use 4 cores. How can i write for that:
maxcpus=4 boot_cpus=0-0
OR
maxcpus=4 boot_cpus=0
Also wanted to confirm that when do the maxcpus=4 become functional, i gues that starts to happen right after the LG logo appears or it happens when the boot process has finished.
I am guessing that boot_cpus=0-0 and 0 are not working. I can guess that because of the speed the animated logo appears. WHen it set it like max_cpus=1 it only boots and works on one core.
WHat i want is to boot with one core and later automatically switch to 4 cores when the system has loaded.

Debricking my Rockchip Device

I would like to share my experience from the weekend to help others.
At first let me explain the situation:
I got my A5X Max+ 64GB eMMC preinstalled with Android 8.1 but I thought that the latest firmware available on the net can maybe make a positive difference to the shipped one.
Seraching the web I found 3 different firmware version I thoght it would be good to give it a try.
An A5X MAX+ Android 8.1 firmware
An A5X MAX+ Android 7 firmware
An A5X MAX Android 9 firmware (non "+" uses a dirfferent WiFi Chipset,....)
Next Step folowing the firmware upgrade guides:
1. Trying to directly flash a new firmware via a SD card and SD_Firmware_Tool_v146_eng_AndroidPC failed
2. Trying to flash with a computer using RK_Batch_tool_v1_8_AndroidPC in combination with Rockchip_DriverAssitant_v4.4 is working
Ok no difference to the preinstalled one so next step flashing a different firmware.
The most interesting was the Android 9.0 firmware even when I know that it is for the non "+" version using a slightly different peripheral hardware.
So I use the Batch tool again and start flashing. ==> Do not flash similar firmware on any device.
The flash process abort after flashing only parts of the whole image.
My Box is not starting anymore, and there is no video output when booting and it is not recognized by my computer anymore via USB
My process to debrick my Device:
My luck when starting into Recovery it is still recognized via USB
Also there a dedicated test pins marked with TX, GND and RX so I connect a Serial to USB converter and check if I can find the problem.
I could not find out what kind of baud rate the serial is using neither Start/Stop Bit configuration.
A oscilloscope (Red Pitaya) helped a lot to see that the serial interface is working at a abnormal high baud rate: ~1350000 baud per second / 8N1
find here the current bootloop log:
normal boot
Code:
Wed Oct 31 06:28:55 UTC 2018 aarch64)
INF [0x0] TEE-CORE:init_primary_helper:338: Release version: 1.4
INF [0x0] TEE-CORE:init_teecore:83: teecore inits done
INFO: BL31: Preparing for EL3 exit to normal world
INFO: Entry point address = 0x200000
INFO: SPSR = 0x3c9
U-Boot 2017.09-02211-gd8ce1d0-dirty (Nov 27 2018 - 09:57:42 +0800)
Model: Rockchip RK3328 EVB
DRAM: 4 GiB
Relocation Offset is: fcbda000
Using default environment
[email protected]: 1, [email protected]: 0
Card did not respond to voltage select!
mmc_init: -95, time 10
switch to partitions #0, OK
mmc0(part 0) is current device
boot mode: normal
bad resource image magic: oint (current EL)
DTB: rk-kernel.dtb
bad resource image magic: oint (current EL)
Can't find file:rk-kernel.dtb
init_kernel_dtb dtb in resource read fail
In: serial
Out: serial
Err: serial
Model: Rockchip RK3328 EVB
rockchip_set_serialno: could not find efuse device
CLK: apll 400000000 Hz
dpll 664000000 Hz
cpll 1200000000 Hz
gpll 491009999 Hz
npll 600000000 Hz
armclk 600000000 Hz
aclk_bus 150000000 Hz
hclk_bus 75000000 Hz
pclk_bus 75000000 Hz
aclk_peri 150000000 Hz
hclk_peri 75000000 Hz
pclk_peri 75000000 Hz
Net: Net Initialization Skipped
No ethernet found.
Hit any key to stop autoboot: 0
ca head not found
ANDROID: reboot reason: "(none)"
get share memory, arg0=0x0 arg1=0x9e08000 arg2=0x3f8000 arg3=0x1
read_is_device_unlocked() ops returned that device is UNLOCKED
avb_slot_verify.c:637: ERROR: vbmeta: Error verifying vbmeta image: OK_NOT_SIGNE D
get share memory, arg0=0x0 arg1=0x9e08000 arg2=0x3f8000 arg3=0x1
DDR version 1.13 20180428
ID:0x805 N
In
DDR3
333MHz
Bus Width=32 Col=11 Bank=8 Row=16 CS=1 Die Bus-Width=16 Size=4096MB
ddrconfig:3
OUT
Boot1 Release Time: Sep 7 2018 15:49:55, version: 2.49
ChipType = 0x11, 193
mmc2:cmd19,100
SdmmcInit=2 0
BootCapSize=2000
UserCapSize=59640MB
FwPartOffset=2000 , 2000
SdmmcInit=0 NOT PRESENT
StorageInit ok = 286281
Raw SecureMode = 0
SecureInit read PBA: 0x4
SecureInit read PBA: 0x404
SecureInit read PBA: 0x804
SecureInit read PBA: 0xc04
SecureInit read PBA: 0x1004
SecureInit ret = 0, SecureMode = 0
GPT part: 0, name: uboot, start:0x4000, size:0x2000
GPT part: 1, name: trust, start:0x6000, size:0x2000
GPT part: 2, name: misc, start:0x8000, size:0x2000
GPT part: 3, name: baseparameter, start:0xa000, size:0x800
GPT part: 4, name: resource, start:0xa800, size:0x8000
GPT part: 5, name: kernel, start:0x12800, size:0x10000
GPT part: 6, name: dtb, start:0x22800, size:0x2000
GPT part: 7, name: dtbo, start:0x24800, size:0x2000
GPT part: 8, name: logo, start:0x26800, size:0x8000
GPT part: 9, name: vbmeta, start:0x2e800, size:0x800
GPT part: 10, name: boot, start:0x2f000, size:0x10000
GPT part: 11, name: recovery, start:0x3f000, size:0x20000
GPT part: 12, name: backup, start:0x5f000, size:0x8000
GPT part: 13, name: cache, start:0x67000, size:0x80000
GPT part: 14, name: system, start:0xe7000, size:0x400000
GPT part: 15, name: metadata, start:0x4e7000, size:0x8000
GPT part: 16, name: vendor, start:0x4ef000, size:0x60000
GPT part: 17, name: oem, start:0x54f000, size:0x20000
GPT part: 18, name: frp, start:0x56f000, size:0x400
GPT part: 19, name: security, start:0x56f400, size:0x1000
GPT part: 20, name: userdata, start:0x570400, size:0x6f0bbdf
find partition:uboot OK. first_lba:0x4000.
find partition:trust OK. first_lba:0x6000.
LoadTrust Addr:0x6000
No find bl30.bin
HashBits:256, HashData:
6cf28742
2df532aa
1ea29e7b
85e4e128
9675b550
859f84c1
c47158c4
9373e8ea
CalcHash:
2a0cacfb
655bd8b6
09989b08
c0ff4464
9d525d13
47eb7212
89197119
20d1a938
bl31.bin_0:CheckImage Fail!
LoadTrust Addr:0x6400
LoadTrust Addr:0x6800
LoadTrust Addr:0x6c00
LoadTrust Addr:0x7000
No find bl30.bin
Load uboot, ReadLba = 4000
hdr 000000000337a380 + 0x0:0x50,0x41,0x52,0x4d,0x66,0x03,0x00,0x00,0x46,0x49,0x52,0x4d,0x57,0x41,0x52,0x45,
Load OK, addr=0x200000, size=0xeb934
RunBL31 0x10000
NOTICE: BL31: v1.3(debug):9d3f591
NOTICE: BL31: Built : 14:39:02, Jan 17 2018
NOTICE: BL31:Rockchip release version: v1.3
INFO: ARM GICv2 driver initialized
INFO: Using opteed sec cpu_context!
INFO: boot cpu mask: 1
INFO: plat_rockchip_pmu_init: pd status 0xe
INFO: BL31: Initializing runtime services
INFO: BL31: Initializing BL32
ERR [0x0] TEE-CORE:atags_get_tag:146: atags_get_tag: find unknown magic(d7f5f65b)
INF [0x0] TEE-CORE:init_primary_helper:337: Initializing (1.1.0-187-g3f0aafa6 #9 Wed Oct 31 06:28:55 UTC 2018 aarch64)
pressing and holding reset (without connecting to USB)
Code:
Wed Oct 31 06:28:55 UTC 2018 aarch64)
INF [0x0] TEE-CORE:init_primary_helper:338: Release version: 1.4
INF [0x0] TEE-CORE:init_teecore:83: teecore inits done
INFO: BL31: Preparing for EL3 exit to normal world
INFO: Entry point address = 0x200000
INFO: SPSR = 0x3c9
U-Boot 2017.09-02211-gd8ce1d0-dirty (Nov 27 2018 - 09:57:42 +0800)
Model: Rockchip RK3328 EVB
DRAM: 4 GiB
Relocation Offset is: fcbda000
Using default environment
[email protected]: 1, [email protected]: 0
Card did not respond to voltage select!
mmc_init: -95, time 10
switch to partitions #0, OK
mmc0(part 0) is current device
boot mode: normal
bad resource image magic: oint (current EL)
DTB: rk-kernel.dtb
bad resource image magic: oint (current EL)
Can't find file:rk-kernel.dtb
init_kernel_dtb dtb in resource read fail
In: serial
Out: serial
Err: serial
Model: Rockchip RK3328 EVB
rockchip_set_serialno: could not find efuse device
CLK: apll 400000000 Hz
dpll 664000000 Hz
cpll 1200000000 Hz
gpll 491009999 Hz
npll 600000000 Hz
armclk 600000000 Hz
aclk_bus 150000000 Hz
hclk_bus 75000000 Hz
pclk_bus 75000000 Hz
aclk_peri 150000000 Hz
hclk_peri 75000000 Hz
pclk_peri 75000000 Hz
Net: Net Initialization Skipped
No ethernet found.
Hit any key to stop autoboot: 0
ca head not found
ANDROID: reboot reason: "(none)"
get share memory, arg0=0x0 arg1=0x9e08000 arg2=0x3f8000 arg3=0x1
read_is_device_unlocked() ops returned that device is UNLOCKED
avb_slot_verify.c:637: ERROR: vbmeta: Error verifying vbmeta image: OK_NOT_SIGNE D
get share memory, arg0=0x0 arg1=0x9e08000 arg2=0x3f8000 arg3=0x1
DDR version 1.13 20180428
ID:0x805 N
In
DDR3
333MHz
Bus Width=32 Col=11 Bank=8 Row=16 CS=1 Die Bus-Width=16 Size=4096MB
ddrconfig:3
OUT
Boot1 Release Time: Sep 7 2018 15:49:55, version: 2.49
ChipType = 0x11, 193
mmc2:cmd19,100
SdmmcInit=2 0
BootCapSize=2000
UserCapSize=59640MB
FwPartOffset=2000 , 2000
SdmmcInit=0 NOT PRESENT
StorageInit ok = 286281
Raw SecureMode = 0
SecureInit read PBA: 0x4
SecureInit read PBA: 0x404
SecureInit read PBA: 0x804
SecureInit read PBA: 0xc04
SecureInit read PBA: 0x1004
SecureInit ret = 0, SecureMode = 0
GPT part: 0, name: uboot, start:0x4000, size:0x2000
GPT part: 1, name: trust, start:0x6000, size:0x2000
GPT part: 2, name: misc, start:0x8000, size:0x2000
GPT part: 3, name: baseparameter, start:0xa000, size:0x800
GPT part: 4, name: resource, start:0xa800, size:0x8000
GPT part: 5, name: kernel, start:0x12800, size:0x10000
GPT part: 6, name: dtb, start:0x22800, size:0x2000
GPT part: 7, name: dtbo, start:0x24800, size:0x2000
GPT part: 8, name: logo, start:0x26800, size:0x8000
GPT part: 9, name: vbmeta, start:0x2e800, size:0x800
GPT part: 10, name: boot, start:0x2f000, size:0x10000
GPT part: 11, name: recovery, start:0x3f000, size:0x20000
GPT part: 12, name: backup, start:0x5f000, size:0x8000
GPT part: 13, name: cache, start:0x67000, size:0x80000
GPT part: 14, name: system, start:0xe7000, size:0x400000
GPT part: 15, name: metadata, start:0x4e7000, size:0x8000
GPT part: 16, name: vendor, start:0x4ef000, size:0x60000
GPT part: 17, name: oem, start:0x54f000, size:0x20000
GPT part: 18, name: frp, start:0x56f000, size:0x400
GPT part: 19, name: security, start:0x56f400, size:0x1000
GPT part: 20, name: userdata, start:0x570400, size:0x6f0bbdf
find partition:uboot OK. first_lba:0x4000.
find partition:trust OK. first_lba:0x6000.
LoadTrust Addr:0x6000
No find bl30.bin
HashBits:256, HashData:
6cf28742
2df532aa
1ea29e7b
85e4e128
9675b550
859f84c1
c47158c4
9373e8ea
CalcHash:
2a0cacfb
655bd8b6
09989b08
c0ff4464
9d525d13
47eb7212
89197119
20d1a938
bl31.bin_0:CheckImage Fail!
LoadTrust Addr:0x6400
LoadTrust Addr:0x6800
LoadTrust Addr:0x6c00
LoadTrust Addr:0x7000
No find bl30.bin
Load uboot, ReadLba = 4000
hdr 000000000337a380 + 0x0:0x50,0x41,0x52,0x4d,0x66,0x03,0x00,0x00,0x46,0x49,0x52,0x4d,0x57,0x41,0x52,0x45,
Load OK, addr=0x200000, size=0xeb934
RunBL31 0x10000
NOTICE: BL31: v1.3(debug):9d3f591
NOTICE: BL31: Built : 14:39:02, Jan 17 2018
NOTICE: BL31:Rockchip release version: v1.3
INFO: ARM GICv2 driver initialized
INFO: Using opteed sec cpu_context!
INFO: boot cpu mask: 1
INFO: plat_rockchip_pmu_init: pd status 0xe
INFO: BL31: Initializing runtime services
INFO: BL31: Initializing BL32
ERR [0x0] TEE-CORE:atags_get_tag:146: atags_get_tag: find unknown magic(d7f5f65b)
INF [0x0] TEE-CORE:init_primary_helper:337: Initializing (1.1.0-187-g3f0aafa6 #9 Wed Oct 31 06:28:55 UTC 2018 aarch64)
INF [0x0] TEE-CORE:init_primary_helper:338: Release version: 1.4
INF [0x0] TEE-CORE:init_teecore:83: teecore inits done
INFO: BL31: Preparing for EL3 exit to normal world
INFO: Entry point address = 0x200000
INFO: SPSR = 0x3c9
U-Boot 2017.09-02211-gd8ce1d0-dirty (Nov 27 2018 - 09:57:42 +0800)
Model: Rockchip RK3328 EVB
DRAM: 4 GiB
Relocation Offset is: fcbda000
Using default environment
[email protected]: 1, [email protected]: 0
Card did not respond to voltage select!
mmc_init: -95, time 9
switch to partitions #0, OK
mmc0(part 0) is current device
boot mode: None
bad resource image magic: oint (current EL)
DTB: rk-kernel.dtb
bad resource image magic: oint (current EL)
Can't find file:rk-kernel.dtb
init_kernel_dtb dtb in resource read fail
In: serial
Out: serial
Err: serial
Model: Rockchip RK3328 EVB
rockchip_set_serialno: could not find efuse device
CLK: apll 400000000 Hz
dpll 664000000 Hz
cpll 1200000000 Hz
gpll 491009999 Hz
npll 600000000 Hz
armclk 600000000 Hz
aclk_bus 150000000 Hz
hclk_bus 75000000 Hz
pclk_bus 75000000 Hz
aclk_peri 150000000 Hz
hclk_peri 75000000 Hz
pclk_peri 75000000 Hz
Net: Net Initialization Skipped
No ethernet found.
Hit any key to stop autoboot: 0
ca head not found
ANDROID: reboot reason: "(none)"
get share memory, arg0=0x0 arg1=0x9e08000 arg2=0x3f8000 arg3=0x1
read_is_device_unlocked() ops returned that device is UNLOCKED
avb_slot_verify.c:637: ERROR: vbmeta: Error verifying vbmeta image: OK_NOT_SIGNED
get share memory, arg0=0x0 arg1=0x9e08000 arg2=0x3f8000 arg3=0x1
Booting kernel at 0x207f800 with fdt at f4dcfca0...
## Booting Android Image at 0x0207f800 ...
Kernel load addr 0x02080000 size 19005 KiB
## Flattened Device Tree blob at f4dcfca0
Booting using the fdt blob at 0xf4dcfca0
XIP Kernel Image ... OK
Loading Device Tree to 00000000081fb000, end 00000000081ff0f8 ... OK
Adding bank: 0x00200000 - 0x08400000 (size: 0x08200000)
Adding bank: 0x0a200000 - 0xff000000 (size: 0xf4e00000)
Starting kernel ...
"Synchronous Abort" handler, esr 0x02000000
* Relocate offset = 00000000fcbda000
* ELR(PC) = ffffffff064c6000
* LR = 0000000000201f00
* SP = 00000000f4dcf2a0
* ESR_EL2 = 0000000002000000
EC[31:26] == 000000, Exception with an unknown reason
IL[25] == 1, 32-bit instruction trapped
* DAIF = 00000000000003c0
D[9] == 1, DBG masked
A[8] == 1, ABORT masked
I[7] == 1, IRQ masked
F[6] == 1, FIQ masked
* SPSR_EL2 = 00000000600003c9
D[9] == 1, DBG masked
A[8] == 1, ABORT masked
I[7] == 1, IRQ masked
F[6] == 1, FIQ masked
M[4] == 0, Exception taken from AArch64
M[3:0] == 1001, EL2h
* SCTLR_EL2 = 0000000030c50830
I[12] == 0, Icache disabled
C[2] == 0, Dcache disabled
M[0] == 0, MMU disabled
* HCR_EL2 = 0000000000000002
* VBAR_EL2 = 00000000fcdda800
* TTBR0_EL2 = 00000000feff0000
x0 : 00000000081fb000 x1 : 0000000000000000
x2 : 0000000000000000 x3 : 0000000000000000
x4 : 0000000002080000 x5 : 0000000000000001
x6 : 0000000000000008 x7 : 0000000000000000
x8 : 00000000f4dcf320 x9 : 0000000001008000
x10: 000000000a200023 x11: 0000000000000002
x12: 0000000000000002 x13: 00000000f4dcf36c
x14: 00000000081fb000 x15: 00000000fcddb5a8
x16: 0000000000000002 x17: 00000000081ff0f9
x18: 00000000f4dd1da0 x19: 0000000000000400
x20: 00000000fcec52e0 x21: 0000000000000000
x22: 0000000000000003 x23: 00000000f4dcf630
x24: 0000000000000000 x25: 0000000002080000
x26: 00000000fcddbea4 x27: 0000000000000400
x28: 0000000002080000 x29: 00000000f4dcf480
SP:
f4dcf2a0: 00000000 00000000 00000000 00000000
f4dcf2b0: 00000000 00000000 fcea3759 00000000
f4dcf2c0: 00000000 00000000 00000000 00000000
f4dcf2d0: fcea37a0 00000000 fcea37c6 00000000
f4dcf2e0: fcea3813 00000000 fcea3860 00000000
f4dcf2f0: fcea38a0 00000000 fcea38e0 00000000
f4dcf300: fcea391d 00000000 00000000 00000000
f4dcf310: 00000000 00000000 fcea395a 00000000
f4dcf320: f4dcf480 00000000 fcddaa0c 00000000
f4dcf330: 00000400 00000000 fce9d415 00000000
f4dcf340: feff0000 00000000 00000002 00000000
f4dcf350: 30c50830 00000000 f4dcf2a0 00000000
f4dcf360: 600003c9 00000000 fcdda800 00000000
f4dcf370: 000003c0 00000000 02000000 00000000
f4dcf380: 030a0000 00000000 081fb000 00000000
f4dcf390: 00000000 00000000 00000000 00000000
Resetting CPU ...
WARN: PSCI sysreset is disabled
DDR version 1.13 20180428
ID:0x805 N
In
SRX
DDR3
333MHz
Bus Width=32 Col=11 Bank=8 Row=16 CS=1 Die Bus-Width=16 Size=4096MB
ddrconfig:3
OUT
Boot1 Release Time: Sep 7 2018 15:49:55, version: 2.49
ChipType = 0x11, 261
mmc2:cmd19,100
SdmmcInit=2 0
BootCapSize=2000
UserCapSize=59640MB
FwPartOffset=2000 , 2000
SdmmcInit=0 NOT PRESENT
StorageInit ok = 285008
Raw SecureMode = 0
SecureInit read PBA: 0x4
SecureInit read PBA: 0x404
SecureInit read PBA: 0x804
SecureInit read PBA: 0xc04
SecureInit read PBA: 0x1004
SecureInit ret = 0, SecureMode = 0
GPT part: 0, name: uboot, start:0x4000, size:0x2000
GPT part: 1, name: trust, start:0x6000, size:0x2000
GPT part: 2, name: misc, start:0x8000, size:0x2000
GPT part: 3, name: baseparameter, start:0xa000, size:0x800
GPT part: 4, name: resource, start:0xa800, size:0x8000
GPT part: 5, name: kernel, start:0x12800, size:0x10000
GPT part: 6, name: dtb, start:0x22800, size:0x2000
GPT part: 7, name: dtbo, start:0x24800, size:0x2000
GPT part: 8, name: logo, start:0x26800, size:0x8000
GPT part: 9, name: vbmeta, start:0x2e800, size:0x800
GPT part: 10, name: boot, start:0x2f000, size:0x10000
GPT part: 11, name: recovery, start:0x3f000, size:0x20000
GPT part: 12, name: backup, start:0x5f000, size:0x8000
GPT part: 13, name: cache, start:0x67000, size:0x80000
GPT part: 14, name: system, start:0xe7000, size:0x400000
GPT part: 15, name: metadata, start:0x4e7000, size:0x8000
GPT part: 16, name: vendor, start:0x4ef000, size:0x60000
GPT part: 17, name: oem, start:0x54f000, size:0x20000
GPT part: 18, name: frp, start:0x56f000, size:0x400
GPT part: 19, name: security, start:0x56f400, size:0x1000
GPT part: 20, name: userdata, start:0x570400, size:0x6f0bbdf
find partition:uboot OK. first_lba:0x4000.
find partition:trust OK. first_lba:0x6000.
LoadTrust Addr:0x6000
No find bl30.bin
HashBits:256, HashData:
6cf28742
2df532aa
1ea29e7b
85e4e128
9675b550
859f84c1
c47158c4
9373e8ea
CalcHash:
2a0cacfb
655bd8b6
09989b08
c0ff4464
9d525d13
47eb7212
89197119
20d1a938
bl31.bin_0:CheckImage Fail!
LoadTrust Addr:0x6400
LoadTrust Addr:0x6800
LoadTrust Addr:0x6c00
LoadTrust Addr:0x7000
No find bl30.bin
Load uboot, ReadLba = 4000
hdr 000000000337a380 + 0x0:0x50,0x41,0x52,0x4d,0x66,0x03,0x00,0x00,0x46,0x49,0x52,0x4d,0x57,0x41,0x52,0x45,
Load OK, addr=0x200000, size=0xeb934
RunBL31 0x10000
NOTICE: BL31: v1.3(debug):9d3f591
NOTICE: BL31: Built : 14:39:02, Jan 17 2018
NOTICE: BL31:Rockchip release version: v1.3
INFO: ARM GICv2 driver initialized
INFO: Using opteed sec cpu_context!
INFO: boot cpu mask: 1
INFO: plat_rockchip_pmu_init: pd status 0xe
INFO: BL31: Initializing runtime services
INFO: BL31: Initializing BL32
INF [0x0] TEE-CORE:init_primary_helper:337: Initializing (1.1.0-187-g3f0aafa6 #9 Wed Oct 31 06:28:55 UTC 2018 aarch64)
When connecting USB for flashing the Log shows the detection and do not loop anymore, it is waiting for the process to be initiated by the computer
I try to flash the Android 8.1 firmware without luck because the automatic checks stopped the process before starting
So I tried to flash with Factory Tool 1.6 but also without success, it is checking also before starting the flash process
Searching all over the web I found different versions of these tools and test newer ones but also without success.
After a while I found a Tool called Rockchip Android Tool 2.1 for Rockchip based single board computers.
This tool has much more options to check and flash a Rockchip board over USB.
Most of the checks failed and I figured out that a normal flashing process will always reboot the board into Maskrom mode
It seems that my device is not able to go into Maskrom Mode anymore because after starting the flash process it is reseting and booting normal (bootloop) instead of switching to Maskrom Mode.
A bit of evaluation tells me that the Maskrom Mode can also be achieved by shorting the Flash CLK to ground during boot. (I know a similar process for my Fire HD8 Tablet)
I checked if I can find the CLK line on the board but it seems that it is not accessably from the surface of the PCB.
After minutes of reaserch I figured out that there are also newer version of the Android Tool available and I tested all I can find.
Also Device drivers shall be updated due to a problem report of an Rockchip device singel board computer owner that has also some difficulties working with the tools.
My luck I found RKDevTool 2.52 (The new name of the Android Tool), in this tool a few of the tests for Rockchip devices are working and I was able to flash Android 8.1 and enter the Maskrom Mode sucessfully.
Now that my Device is back alive I will also post some logs and pictures of my device to help others when trying to debrick/reacticate from an unexpected state.
@sandman01
Try this
thanks for your post.
I think I was a bit to euphoric because my box is working again and I only want to share my experiance for others runnign in the same Situation.
It was hard to get all the Information out of the web, from multiple places.
sandman01 said:
thanks for your post.
I think I was a bit to euphoric because my box is working again and I only want to share my experiance for others runnign in the same Situation.
It was hard to get all the Information out of the web, from multiple places.
Click to expand...
Click to collapse
Ok no probs
Can't find those files on Drive anymore, can you please share them? Can't find a place to download RKDevtool
Thanks in advance

Categories

Resources