Making custom boot.img for MTK 6577 device. - Android Q&A, Help & Troubleshooting

Hello all,
I have a question about flashing Lenovo IdeaTab A1000LF (MTK6577 device). I would like to add busybox into initramfs and slightly change init strategy. boot.img from official ROM A1000LF_A412_01_05_130705_USER_DCC was unpacked with abootimg from Fedora repo. I added busybox for armv7l into initramfs/sbin and packed it again with the same tool. New boot.img was flashed into device with Flash Tools 3 (works on virtual machine with Win7) in Firmware Update mode with DA DL All With check sum option. Download mode did not work (there was errors in scatter file, __NODL_FAT partition exactly). Tablet was starting after flashing fow a few seconds. First boot logo was shown and then reboot again. Everything seems to work fine in case of flashing original boot.img. There might be some problems with Checksums or packing/unpacking initramfs (even if I create new boot.img without changes, tablet will not boot correctly). Do you have any ideas?
P.S. I didn't find suitable general thread for such kind of devices and tasks. Maybe you can suggest something.

Related

[HELP]Corrupt boot img

Hello guys I have Alcatel One Touch 918n. I was trying to make a custom rom for the device. It is an armv6 device running on Android 2.3.6 . But for complete building and tweaks I need full stock rom which is not available on internet. So I decided to use cwm backup. I have a cwm v5.0.2.8 port for my device but I think it does not properly image the boot.img. as far as I know boot.img has zimage and ramdisk folder. Ramdisk has many tweaks associated with it. But my boot img contains zimage but no ramdisk. Also if I restore the boot.img it causes bootloop. So everytime I have to use advanced restore and restore all other img separately. Any solution so that I can fix the boot img

[TWRP][RECOVERY] Asus ZenPad 8.0 Z380M (locked bootloader ok)

This is for real, folks. The first working custom recovery for Asus ZenPad 8.0 Z380M and a method to flash it under a locked bootloader. This took quite a bit of work to make, partly due to having to find a way to bypass the locked bootloader. And because of a kernel configuration issue that limited the size of the initial ramdisk, which took some serious effort to weed out. @lss1977 helped to port it to this device. And of course, credits to TeamWin for TWRP.
In addition to this thread, the current Z300M/Z301M TWRP thread and the the old Z300M recovery/rooting thread may be helpful. These models share the same hardware and software base, so most things that apply to one tablet also apply to the other.
DISCLAIMER
As usual, you do anything described in this post at your own risk. No one but you is responsible for any data loss, bricking or damage of your device.
REQUIREMENTS
Windows PC
SP Flash Tool version 5.1532 (only this version will bypass security checks)*
MediaTek VCOM drivers (available through Windows Update)
Z380M scatter file, attached
Recovery image, attached
Z380M preloader file (optional), available inside the stock firmware download
ZenPad Z380M tablet upgraded to Android N
* If you prefer to use a more recent SP Flash Tool, check out the special image file below.
This won't be a guide on how to use SP Flash Tool. There are plenty of good guides out there like this one on how to set up drivers, load scatter files, flash and make backups with SP Flash Tool. If you're not familiar with this software or how to flash MediaTek devices in general, please do your research before attempting this. I will just get straight to the specifics about the ZenPad 8.
FIRST TIME INSTALLATION
For a locked bootloader:
At this point you should have your tablet powered off, the drivers installed, all of your data backed up, and SP Flash Tool v5.1532's Download tab open and loaded with the tablet's scatter file. Open the download agent file DA_PL.bin, replacing the default MTK_AllInOne_DA.bin. (You can use the AllInOne DA if you want, but the procedure involves extra steps as described below.) Load the extracted TWRP recovery image (twrp-3.2.1-0-z380m.img) under the recovery partition line in the partition table. Click the Download button inside SPFT. Now just connect the USB cable to your tablet and your computer's USB port. It should start the download process automatically and disconnect when finished.
Alternative Method:
If you're using MTK_AllInOne_DA.bin, you have to hold the Volume Up key as you insert the cable, which puts the device into an emergency download mode. In addition, you will need to have the stock preloader*.bin file loaded inside SPFT for it to be able to communicate with your tablet. The preloader is available inside the official zip file download. Do not flash the preloader (untick the box) or any partitions other than recovery. You just need to have a valid bin file selected under the Preloader line.
For an unlocked bootloader:
If you have used the Asus unlock tool to unlock your device, you will still not be able to use fastboot flash to install a custom recovery. However, you can do a "hot boot" or a tethered boot of TWRP. This method doesn't require SP Flash Tool. Download the TWRP image, put your tablet in fastboot mode and connect to PC. Then run this command to boot TWRP dynamically:
fastboot boot twrp-3.2.1-0-z380m.img
Once inside TWRP, flash twrp-3.2.1-0-z380m.img to Recovery using Install -> Install Image. Then reboot to recovery. You may be able to use TWRP in the tethered boot mode, but that could result in glitches due to different parameters passed by the bootloader to the kernel. That's why flashing is recommended.
To update from your installed TWRP version to a new one, just transfer the image to your tablet, then boot to TWRP and install it by going to Install -> Install Image and flashing to Recovery.
START RECOVERY
With the tablet powered off, hold the Volume Up and Power keys together until you get to a menu where you can select "recovery". Use Vol. Up to scroll and Vol. Dn to select. If you have a locked bootloader, it will show a Yellow State message because the recovery is not signed by the OEM. Just press volume up to boot it. On the welcome screen of TWRP it will ask you about modifying the system partition, I suggest you go with Keep System Read-only. Doing otherwise will complicate your OTA updates.
WARNING: Never start the stock recovery from the bootloader menu on this device. It is programmed by the bootloader to instantly wipe your data without any warning. Also, be aware that Android installs the stock recovery at every normal boot cycle. So you either have to flash the TWRP every time you want to run it, or disable the automatic recovery installation in the stock firmware. Any kind of mod to the boot image will prevent the automatic recovery installation. If you're not sure which recovery you have installed, you can always do a 'adb reboot recovery' from Android without risk of data loss.
What works: Basically everything... access to major partitions, decrypted userdata partition, decrypted adoptable storage, external SD card, ADB, USB-OTG, touch interface, splash screen, installing stock Asus OTA/web FW updates
What doesn't work: (no known problems yet, but please report any)
Not guaranteed to work: factory reset
DOWNLOAD
(Updated February 3, 2018: updated kernel to firmware 5.3.18; up-to-date TWRP 3.2.1 sources)
SP Flash Tool v5.1532
Z380M Scatter file for all storage sizes (right click, Save link as...)
Recovery image
Signed image for Flash Tool only -- may be flashed with recent SP Flash Tool versions -- DO NOT INSTALL USING ANY OTHER METHOD -- tested with SPFT 5.1736.
Development and experimental files
Source code
P.S. The thanks button doesn't bite.
Nice one now lets get some custom roms done.
Has anyone installed this yet? I see the file has been downloaded a few times. Any feedback is welcome.
If you want the recovery to stick after reboot either rename or remove system/bin/install_recovery.sh.
lss1977 said:
If you want the recovery to stick after reboot either rename or remove system/bin/install_recovery.sh.
Click to expand...
Click to collapse
The way I did it was to edit the init.rc file inside the boot ramdisk and comment out the service block that calls install_recovery.sh. I used the MTK boot image unpack/repack tools. I don't know, it seems like changing anything on the system partition will break OTA updates because of dm-verity. Because that depends on verifying each block of the file system. I have never even mounted the system as R/W in recovery.
how to create scater file from text posted? I copied all text to MT8163_Android_scatter.txt file but when open with splash tools give error "scatter file is invalid"
please atach your working scatter file to other atachments
PxYra said:
how to create scater file from text posted? I copied all text to MT8163_Android_scatter.txt file but when open with splash tools give error "scatter file is invalid"
please atach your working scatter file to other atachments
Click to expand...
Click to collapse
OK, I added the scatter file as a download. It was a pain in the ass to copy & paste. (But it did work.)
Problem fixed downloaded new version of flashtool 5.16 and scatter working
Ok I installed TWRP on Z380M P00A, and wanna say to other
1. Use VCOM drivers only from splash tool official site
2. To install VCOM drivers first need enter chinese recovery tablet, then in windows device manager you see USB device, install manualy drivers (don forget in windows disable driver signature)
3. Use only SP-Flash-Tool-v5.1532.00, newer or older version not properly working with this phone
Ok, thanks for the update, PxYra. Just to let you know, there are signed versions of VCOM drivers floating around so you don't need to mess with signature enforcement. Here's one: https://www.androidfilehost.com/?fid=24591000424943663. They are also updated by Windows so you can just let Windows Update install them.
Thanks for your work.
Flashing procedure works only with "MTK_AllInOne_DA.bin" method for me. But this is OK!
(Updated May 6, 2017: added kernel from firmware 5.3.7, source code cleanup)
Click to expand...
Click to collapse
is it possible to get the older versions? I need Android 6.x, because of xposed-Framework for my Zenpad 8.0 Z380M.
Greets Freisei
Hey freisei...
I never posted a version for Android 6. There was just one based on the 5.3.6 kernel, practically the same as the current one. That's why I didn't keep it. I could try to build one for you if you want, but I can't test it of course. Does this recovery not boot at all on the old firmware?
It's strange that the DA_PL.bin method didn't work for you. What happened when you tried it? I suppose the old preloader doesn't allow it(?).
hello guys, you think lineage os official version for asus z380kl (p024) will work on our z380m ?
---------- Post added at 08:19 PM ---------- Previous post was at 08:05 PM ----------
Can anyone help me? after selecting recovery img, pressing download and inserting usb cable, nothing happens. Thanks in advance
lss1977 said:
If you want the recovery to stick after reboot either rename or remove system/bin/install_recovery.sh.
Click to expand...
Click to collapse
hello friend, can you please upload that file? I deleted it, but now I need it to revert to official recovery, as my zenpad is bricked! It would be of great help! thanks!
Pires_7 said:
hello friend, can you please upload that file? I deleted it, but now I need it to revert to official recovery, as my zenpad is bricked! It would be of great help! thanks!
Click to expand...
Click to collapse
Your ZenPad didn't brick because you deleted install_recovery.sh. It's because you modified the system partition. Making any mods to system is bad advice unless you know exactly what you're doing. Even mounting it in r/w mode can break it. That's because dm-verity has tripped and is blocking access to changed blocks of the file system. So you have 3 options: mod your boot image fstab file to disable dm-verity, restore the original system image block-for-block (either from backup or official firmware converted to an img file), or wipe userdata (lss reported that to work).
Pires_7 said:
hello guys, you think lineage os official version for asus z380kl (p024) will work on our z380m ?
Click to expand...
Click to collapse
Nope, no chance.
diplomatic said:
Your ZenPad didn't brick because you deleted install_recovery.sh. It's because you modified the system partition. Making any mods to system is bad advice unless you know exactly what you're doing. Even mounting it in r/w mode can break it. That's because dm-verity has tripped and is blocking access to changed blocks of the file system. So you have 3 options: mod your boot image fstab file to disable dm-verity, restore the original system image block-for-block (either from backup or official firmware converted to an img file), or wipe userdata (lss reported that to work).
Nope, no chance.
Click to expand...
Click to collapse
Ok. I made some real s*it, I think I deleted every partition except recovery. Can you provide me a twrp backup or some way around my problem?
What do you mean you deleted every partition except recovery? There's like 28 partitions. You would have to work hard to accomplish that.
My first suggestion is to extract a system.img from the Asus stock firmware zip using this. Then flash it with SP Flash Tool. You might also try to install a full firmware zip from TWRP. Although I have no idea if that will work or if it's even safe to try.
diplomatic said:
What do you mean you deleted every partition except recovery? There's like 28 partitions. You would have to work hard to accomplish that.
My first suggestion is to extract a system.img from the Asus stock firmware zip using this. Then flash it with SP Flash Tool. You might also try to install a full firmware zip from TWRP. Although I have no idea if that will work or if it's even safe to try.
Click to expand...
Click to collapse
i was able to extract system.new.dat from stock firmware zip, but it extracts to a system folder. How do I flash this through sp flash tool?
OK, the system folder you don't need. It should have produced a system.img file also. That's the file you need to flash. Just select it for the system partition row in the partition list and then Download. Hopefully that will be enough.
EDIT: I just looked at the script, and realized the system.img.img file gets deleted in the process. So what you need to do is start the extraction, then after it makes system.img.img, when it starts extracting individual files, hit Ctrl+C. Then you'll end up with the img file.
Thank you very much! it works! YOU are the BEST!
please tell me, in your scatter file, address partition_name: frp (0x80a5000) is correct? if i format this partition (frp), google account remove?

Kernel for MT6735m compiled from source, downloaded but not able to boot(bootloop).

I'm trying to upstream my spare old phone, running on MT6735m.
What I do for this,
Source compiled and I got a Image.gz-dtb in /arch/arm64/boot.
Unpack stock boot.img with Android Image Kitchen, replace stock kernel with Image.gz-dtb.
Repack boot.img and fastboot flash boot boot.img.Flashing is success then reboot the device.
Not knowing why it is just not working, device stuck in bootloop.
I've checked that dtb is appended correctly.
As same as dtb in the stock kernel image.
Is there any other steps needed for MTK kernel building? Magic header, signature or what?
(I only compiled armhf on Qualcomm devices before.
So I'm quite unfamiliar with MTK deiveces and arm64 architecture)
source here:https://github.com/Aerotinge/android_kernel_mlt_mt6735
Any help is appreciated.

sc7731e - I Can't unpack / repack stock recovery.img (identical to boot.img)

Hello.
I am attempting to root blu c4 (c050L), which has spreadtrum sc7731e board.
Kingroot from PC won't root the device.
While trying to port TWRP, I discovered I am unable to even pack / repack the original recovery.img
I can flash the original one, but after packing/repacking with Android Image kitchen by osmosis, I can no longer flash that file through spd research tool.
I also tried [Hovatek] Spreadtrum (SPD) Auto TWRP Recovery Porter V1.2 by Team Hovatek, but I can't flash the resulting img files, either.
https://my.pcloud.com/publink/show?code=XZVYsG7Z3jU6r8JLVU44JTeKYjac0zH6OpwV
recovery.img file, in case anybody can help me
Blu C4 is running oreo go 8.1
Stock Recovery says: "supported API:3 // 8.1.0/OPM2.171019.012/30512"
Fastboot doesn't support unlocking (already set oem unlock on developer settings)
So far
In order to flash modified boot.img and recovery.img, I had to switch the original fdl1-sign.bin and fdl2-sign.bin for ones I extracted from an A140 stock rom (another SC7731e device)
I attached them to this post
However, the boot is probably signed. You can read:
https://forum.xda-developers.com/showpost.php?p=65443271&postcount=844
In that case, a signing would be required - out of luck.
Any luck. I have the same unit and want to root it. Any kind of help will be appreciated.
Thanks
Kashutu

oneplus 7 pro, any non stock kernel refuses to boot

Dear specialists on the XDA,
Normally I ask no questions in order to save the precious time of people, however this time I have a problem which I fail to understand and cannot resolve using the documentation available on the internet.
I have committed extensive reading and know how to build software but am simply missing a link here.
Trying to boot a home build kernel on a oneplus7 pro device with no luck so far.
Here is the situation so far: I have after hours of headaches successfully built myself a kernel straight from the stock sources. No alterations just using the msm8150-perf.defconfig file and build successfully with clang 9.0.5. There are only a few warnings nothing serious and the dtb has many warnings but I get what I need. I have done this before for my oneplus 3 and indeed the kernel was working.
Assuming the kernel is in a functional state. I used the latest version of android image kitchen to unpack the boot image which I extracted (from the right active slot) and replaced the kernel file and repacked the boot.img successfully into a new image file.
No luck after trying to boot into the image using fastboot. Screen hangs forever. Bootloader is unlocked btw
So far I have tried:
1. Signing the boot image using boot signer
2. Unpack/repack using android image editor (which signs the image)
3. Repack using different kernel image files from xda which I expect to be good and working
4. Flash signed image straight into active slot.
5. Completely read through the anykernel1, 2 and 3 scripts to find answers.
No matter what I try. Kernel does not boot. Either the fastboot screen hangs forever or the system reboots back into its currently working active slot.
I have to add that this bootimage contains magisk.
I am out of ideas. Please help me out. I hope that you can point me into a good direction.

Categories

Resources