Creating AOSP ota package with make dist, but it's missing boot.img - Android Q&A, Help & Troubleshooting

Hello everyone,
I am currently developing with AOSP 5.1 for a FriendlyARM s5p4418 (NanoPi2).
Our special firmware is working nice, building it creates all the necessary img files (boot.img, system.img, userdata.img, ...).
But when I do a "make dist", it is not copying the boot.img into the IMAGES/ folder in out/dist/ folder. So when I try to continue, I cannot create a ota-package because the releasetools/ota_from_target_files crashes when trying to calculate the Difference of recovery-Image and boot-Image. Both are of type NONE because they are not existing.
Why is it creating the boot.img when using just make, but not creating or using it with make disk.
Is it because I am using the prebuilt kernel zImage?
Is there a way to fix this? Or to create an OTA package from the files that make creates?
Greetings
Tobi

Well it seems I found the problem.
The device tree is setting TARGET_NO_KERNEL to true, because it is using a prebuilt kernel uImage.
I did now set this to false and copied the uImage to $(PRODUCT_OUT)/kernel and now it is compiliing a recovery and the boot also.
But I do not know if this is the correct way to do it?

Related

Change update.zip to system.img boot.img recovery.img

I am trying to change an update.zip file back to the three components system.img, boot.img, and recovery.img. I have tried creating the system.img but when i do so the permissions are wrong on the files. (update script is not run on it to change permissions)
For boot.img i can repackage it by splitting the blob but when i do it i am not sure what base value to use. when using mkbootimg
i was wondering if there was a way to convert it back to those components in some more automated way....
I am not sure but possible emulating the install of update.zip then harvesting the img files?

[Q] Rockchip kernel image file - how to build?

I have a working Kernel - http://forum.xda-developers.com/attachment.php?attachmentid=1743802&d=1361298599
but I need prepare a new one - compilation it is no problem, but how to prepare img file for taht?.
I heard that this is a Rockchip kernel image file - so I am a looking for information how to build this kind of kernel?
Procesor is RK3066.
mafamafa said:
I have a working Kernel - http://forum.xda-developers.com/attachment.php?attachmentid=1743802&d=1361298599
but I need prepare a new one - compilation it is no problem, but how to prepare img file for taht?.
I heard that this is a Rockchip kernel image file - so I am a looking for information how to build this kind of kernel?
Procesor is RK3066.
Click to expand...
Click to collapse
If that is a zImage, then you need to pack it into boot.img in order to flash.
There are many boot.img tools out there which can help you. But the thing is you will be needing your device's original boot.img (Which can be extracted from your device depending upon the partition) which contains the Ramdisk in order to be successful.
coolsandie said:
If that is a zImage, then you need to pack it into boot.img in order to flash.
There are many boot.img tools out there which can help you. But the thing is you will be needing your device's original boot.img (Which can be extracted from your device depending upon the partition) which contains the Ramdisk in order to be successful.
Click to expand...
Click to collapse
In fact it is a regular (no gziped) image not a zImage. The file after unpacking from RK3066 format starts with bytes d3 f0 21 (to unpack I'm using rkutils ).
But I don't understand why we need to make boot.img with this file and only after that, upload boot.img to the device. Normally it should be possible just to upload kernel.img to the partition where kernel is stored, no?
After kernel from the link above is uploaded to this partition, the device boots up without problem. But when we compile new kernel and upload it (after converting with rk-tools ) it is not even possible to boot the device.
Any idea what's going on? Is compiling a kernel, then converting to rk3066 format is enough ?
flowher said:
In fact it is a regular (no gziped) image not a zImage. The file after unpacking from RK3066 format starts with bytes d3 f0 21 (to unpack I'm using rkutils ).
But I don't understand why we need to make boot.img with this file and only after that, upload boot.img to the device. Normally it should be possible just to upload kernel.img to the partition where kernel is stored, no?
After kernel from the link above is uploaded to this partition, the device boots up without problem. But when we compile new kernel and upload it (after converting with rk-tools ) it is not even possible to boot the device.
Any idea what's going on? Is compiling a kernel, then converting to rk3066 format is enough ?
Click to expand...
Click to collapse
Ok, I just had a look at your link and yes, it contains the kernel.img file. So it should be the kernel image file which needs to be flashed. What you actually needed to do is, unpack that kernel image using the tools of your choice and you'll get the ramdisk, zImage etc when unpacking. If you have compiled kernel from Sources, then you need to replace the zImage with yours (Found in arch/arm/boot) if your compilation was successful without errors and repack it to form the kernel.img.
But that doesn't mean it should boot compulsorily, it may not boot depending upon various weird reasons. You may have to fix it by yourself. Nearest bet is using your device's config file (Found in /proc/config.gz) and use that to compile your kernel. You can find all infos regarding what I've mentioned in this thread:
http://forum.xda-developers.com/showthread.php?t=1748297

Custom ROM for new device

Hi, I have new Prestigio tablet PMT5777_3G and I want to modify it's default ROM. I followed this tutorial: http://forum.xda-developers.com/showthread.php?t=1801690. I successfully extracted system folder, but I have no idea how to create updater-script for this specific ROM. If I understand correctly I need to get updater-script from original ROM.
I've got something that resembles original ROM, but it's folder structure is completely different from what I would expect.
I would expect:
META-INF
system
boot.img
I've got:
APDB_MT6582_S01_MAIN2.1_W10.24
boot-sign.img
BPLGUInfoCustomAppSrcP_MT6582_S00_MOLY_WR8_W1315_MD_WG_MP_V12_P4_1_wg_n
cache-sign.img
Checksum.ini
EBR1-sign
lk-sign.bin
logo-sign.bin
MBR-sign
MT6582_Android_scatter.txt
preloader_htt82_tb_jb5.bin
recovery-sign.img
secro-sign.img
system-sign.img
sro-lock-sign.img
sro-unlock-sign.img
userdata-sign.img
I'm an android developer, but have no experience with custom ROM's and now am in a situation, where I want to get that custom ROM up and running, but am unable, because I can't figure out how to create updater-script or extract it from files that I currently have. It would be great if someone could point me to the right direction of what to do next.
Thanks
P. S. It seems it's against the rules to ask questions here, but I can't seem to find where else to ask this on xda
Dantenas said:
Hi, I have new Prestigio tablet PMT5777_3G and I want to modify it's default ROM. I followed this tutorial: http://forum.xda-developers.com/showthread.php?t=1801690. I successfully extracted system folder, but I have no idea how to create updater-script for this specific ROM. If I understand correctly I need to get updater-script from original ROM.
I've got something that resembles original ROM, but it's folder structure is completely different from what I would expect.
I would expect:
META-INF
system
boot.img
I've got:
APDB_MT6582_S01_MAIN2.1_W10.24
boot-sign.img
BPLGUInfoCustomAppSrcP_MT6582_S00_MOLY_WR8_W1315_MD_WG_MP_V12_P4_1_wg_n
cache-sign.img
Checksum.ini
EBR1-sign
lk-sign.bin
logo-sign.bin
MBR-sign
MT6582_Android_scatter.txt
preloader_htt82_tb_jb5.bin
recovery-sign.img
secro-sign.img
system-sign.img
sro-lock-sign.img
sro-unlock-sign.img
userdata-sign.img
I'm an android developer, but have no experience with custom ROM's and now am in a situation, where I want to get that custom ROM up and running, but am unable, because I can't figure out how to create updater-script or extract it from files that I currently have. It would be great if someone could point me to the right direction of what to do next.
Thanks
P. S. It seems it's against the rules to ask questions here, but I can't seem to find where else to ask this on xda
Click to expand...
Click to collapse
Since you are a beginner to ROM development, I would recommend the use of dsixda's Android kitchen, which you probably have downloaded already. If not use this link
http://forum.xda-developers.com/showthread.php?t=633246
Follow these steps to obtain the file structure and Meta-Inf folder for your custom rom.
1. Open the folder where you have placed the kitchen.
2. You will find a folder called original_update.
3. Open that folder and copy your boot.img and system.img files into it. ( In your case it is boot-sign.img and system-sign.img. Rename those files into boot.img and system.img and place them in the folder )
4. Now open the kitchen. ( Refer the above link to know how to do it )
5. You will find " 1. Set up working folder from ROM " option under Main Menu.
6. Type 1 and you will be directed to another menu. Click Enter.
7. Select your boot.img and system.img from the menu.
8. Now follow the instructions that appear on the screen.
9. When you successfully complete the steps, you will have the required Working folder, with boot.img, system folder and Meta-Inf folder, which will contain the updater-script (It will be automatically generated)
All the best. :good:
Hit Thanks if this helped you... PM me if you need further help or search the forum for detailed instructions.
Thanks, this helped me, but I still can't create ROM.
I encountered a problem with kitchen:
Code:
Available ROMs:
(1) system.img and boot.img
Enter selection number (default=1, cancel=0, r=refresh):
Found original_update/system.img
Found original_update/boot.img
The new working folder will be named WORKING_061614_070841
Change the name (y/n)? (default: n):
Creating working folder WORKING_061614_070841 ...
Copying boot.img ...
Copying system.img ...
Adding an update-script ...
NON-YAFFS/NON-TAR FILE FORMAT DETECTED IN ROM
Mounting system.img to loopback device and then extracting files ...
Error: Unable to mount system.img
Error: No /system/framework folder found!
Press Enter to continue
This creates my missing update-script and boot.img, but system folder is empty.
Would it be a good idea to extract all system files from device and attempt to create ROM with them, and this update-script, or is there something I could do with system.img to make it extract?
Try this
Don't worry. There's always an alternative. Try this simple method.
1. Boot into CWM (Clockwork Mod) Recovery. (I'm pretty sure you know how to do it, if not, you can feel free to search the forum)
2. Choose Backup and Restore.
3. Make a backup in your external sdcard.
4. Now boot normally, open your external sdcard. You will find a folder called clockworkmod. Copy that folder to your PC.
5. Inside that folder, you will find the backup.
6. Now, copy boot.img and system.ext4.tar.a to your original_update folder of the kitchen.
7. Warning! Do not copy system.ext4.tar, only copy system.ext4.tar.a
8. Once you have copied these two files, rename system.ext4.tar.a into system.ext4.tar
9. Now, open android kitchen and follow the exact same steps as you did before.
10. When you choose the available rom, you will find the screen as below.
Code:
Available Roms:
(1) system.ext4.tar and boot.img
11. Choose it and follow the instructions. You will have your required working folder.
Try this and let me know if you still face any issues. :good:
I was unable to load CWM recovery, because it is not supported by my device. I tried TWRP too, which also doesn't support my device. Is it possible to do without CWM?
Dantenas said:
I was unable to load CWM recovery, because it is not supported by my device. I tried TWRP too, which also doesn't support my device. Is it possible to do without CWM?
Click to expand...
Click to collapse
I'm sorry my friend, even if you create your own ROM, you require either one of them to flash the ROM to your device. Seeing you so keen on developing the rom, try to use any yaffs tool to create your system.img from extracted system folder. You may refer this thread.
http://forum.xda-developers.com/showthread.php?t=1645412

Converting Amlogic firmware IMG files into flashable ZIP for custom recovery

While trying to create my first ever Android firmware I had solve several problems, especially if you consider that I prefer under Windows instead of Linux.
I won't go into too many details as I have to assume everyone attempting this did at least some reading on the general how to of firmware installations and modifications.
Things you need:
Original firmware for your device as a IMG file
Amlogic's Customisation tool
A Rom Kitchen of your choice (I use Carliv)
System_Extractor-WIN-master
Some time...
Step1: Load the firmware into the AML tool and tick all boxes except the last one.
In the tmp folder you will find the unpacked files.
Under Level one are the files we want.
You will see a bunch of "PARTITION" files, we copy the following ones into a seperate folder for further use to create the ZIP.
I suggest to name the folder "Install" so we are all on the same page here.
boot.partition
bootloader.partition
logo.partition
recovery.partition
If you checked a flashable ZIP update before you will notice some files are missing, let's try to fix that.
Rename all partition files you copied to img, so instead of boot.partition you get boot.img.
Unpack the boot.img with your kitchen.
You will find a file "boot.img-second" - copy that into your install folder and rename it to dtb.img.
Inside the unpacked ramdisk (In your kitchen) of the boot.img you will fing the "file_contexts" file - copy that into your install folder as well.
Most AML firmware I had so far used a system.new.dat and a system.transfer.list to create the system partition.
We can create them from the system.partition file after renaming to system.img in System_Extractor-WIN-master .
To do this the system.img needs to be unpacked and we need again a copy of the file_contexts.
After the image is unpacked we can pack it again as system.new.dat and system.transfer.list.
The last missing bits can be tricky though as now we need a META-INF folder that works for our device in question.
There are two way to fix that.
Method one:
Search the usually chinese websites using Google to find original firmware for your device.
Chance are that you will find something like an OTA update - in there you will find what you need.
Method two (I never tested that):
Take the META-INF folder from an OTA update of a box with identical hardware specs.
Most important part here is the memory configuration so for a 2/16GB box you need a 2/16GB OTA update.
Next of same importance is the WiFi/Bluetooth config.
If you only have Wifi than an update for a box With daul wifi and BT4.0 won't help you.
If the actual Wifi chip is a different one but CPU, GPU, Memory and connections are the same it should still work.
Once you have the META-INF folder included into your Install folder the firmware is ready to be zipped - in theory!
The X96 for example uses a hash check for the update and created system partition.
To be able to flash your image you need to know what the original recovery would expect - has check or not.
The updater script within the META-INF folder needs to be updated to match your build.prop details as well hash check/no hash check.
Again, with an original OTA update you will find these infos.
Only if you don't have the OTA and no clue what your updater script and recovery needs you are a bit lost.
I know I has not all the steps in detail and if you are without and OTA update you need to search but otherwise feel free to ask and I will try to assist to make it complete if I can.
Downunder35m said:
While trying to create my first ever Android firmware I had solve several problems, especially if you consider that I prefer under Windows instead of Linux.
I won't go into too many details as I have to assume everyone attempting this did at least some reading on the general how to of firmware installations and modifications.
Things you need:
Original firmware for your device as a IMG file
Amlogic's Customisation tool
A Rom Kitchen of your choice (I use Carliv)
System_Extractor-WIN-master
Some time...
Step1: Load the firmware into the AML tool and tick all boxes except the last one.
In the tmp folder you will find the unpacked files.
Under Level one are the files we want.
You will see a bunch of "PARTITION" files, we copy the following ones into a seperate folder for further use to create the ZIP.
I suggest to name the folder "Install" so we are all on the same page here.
boot.partition
bootloader.partition
logo.partition
recovery.partition
If you checked a flashable ZIP update before you will notice some files are missing, let's try to fix that.
Rename all partition files you copied to img, so instead of boot.partition you get boot.img.
Unpack the boot.img with your kitchen.
You will find a file "boot.img-second" - copy that into your install folder and rename it to dtb.img.
Inside the unpacked ramdisk (In your kitchen) of the boot.img you will fing the "file_contexts" file - copy that into your install folder as well.
Most AML firmware I had so far used a system.new.dat and a system.transfer.list to create the system partition.
We can create them from the system.partition file after renaming to system.img in System_Extractor-WIN-master .
To do this the system.img needs to be unpacked and we need again a copy of the file_contexts.
After the image is unpacked we can pack it again as system.new.dat and system.transfer.list.
The last missing bits can be tricky though as now we need a META-INF folder that works for our device in question.
There are two way to fix that.
Method one:
Search the usually chinese websites using Google to find original firmware for your device.
Chance are that you will find something like an OTA update - in there you will find what you need.
Method two (I never tested that):
Take the META-INF folder from an OTA update of a box with identical hardware specs.
Most important part here is the memory configuration so for a 2/16GB box you need a 2/16GB OTA update.
Next of same importance is the WiFi/Bluetooth config.
If you only have Wifi than an update for a box With daul wifi and BT4.0 won't help you.
If the actual Wifi chip is a different one but CPU, GPU, Memory and connections are the same it should still work.
Once you have the META-INF folder included into your Install folder the firmware is ready to be zipped - in theory!
The X96 for example uses a hash check for the update and created system partition.
To be able to flash your image you need to know what the original recovery would expect - has check or not.
The updater script within the META-INF folder needs to be updated to match your build.prop details as well hash check/no hash check.
Again, with an original OTA update you will find these infos.
Only if you don't have the OTA and no clue what your updater script and recovery needs you are a bit lost.
I know I has not all the steps in detail and if you are without and OTA update you need to search but otherwise feel free to ask and I will try to assist to make it complete if I can.
Click to expand...
Click to collapse
Thank you for this explanation, but the explanation of the video to better understand everyone
Will see if I can at least add some pics while working on Nougat.
Hello,
Thanks for you tutorial.
I have a h96 Pro+ and the last firmware was a .img file... (Link of the firmware : https://mega.nz/#F!d1tHVZgA!Qc0mAom7FBHT9HDv3rGtGQ )
Is there a good guy who can convert this .img to a .zip file please ?
A lot of users are asking for this, me too and if you can help me to do this it will be really cool and appreciate
Thank you,
Carmin.
Thanks for your explanation im trting to port 7.1.1 to my tv box and i have found one funcional the only troble is the wi fi drivers not working ill give it a try latter today
Sent from my SM-N9300 using Tapatalk

Question about creating flashable zip

Hi,
I build aosp for my Xperia X, the output are 3 .img files, system.img, boot.img, userdata.img.
So I wanted to ask if it's possible to create a flashable zip for those .img files instead of flashing them using fastboot.
If yes, what should the folder structure look like?
Also could I use a META-INF folder from an other rom? (omnirom for example)
Greetings.

Categories

Resources