From the title it is clear what I want to achieve so I would just get down to business here, I found the android bootable recovery sources from here [For JB] View Sources { https://android.googlesource.com/platform/bootable/recovery/+/jb-release }
There are so many file in there, and I know that to get the recovery files I need to compile the recovery.c but I think that's quit not all of it? I want to know that how should I compile this recovery, no matter how simple it is, I just want to create my own open source recovery. That's why I need to know how to compile the recovery from the sources like this.
Thanks in Advance!
Related
I am very new to the android parralel scene (and the android and smartphones in general) so please excuse me if I have missed obvious things.
I am trying to do a custom android kernel on a CyanogenMod stable in order to activate SCTP support on a HTC Magic (sapphire) PVT 32B (google branded).
I have followed the this tutorial : wiki.cyanogenmod.com/index.php/Building_from_source to make the kernel (2.6.29-cm42) and this tutorial wiki.cyanogenmod.com/index.php/How_to_build_a_kernel_port for the packing.
My base is update-cm-4.2.14.1-signed.zip
I have tried with my new package as a module (and also redone modules.sqf) and also in-kernel.
I have tried the full update, and I've also tried to patch the kernel on a clean Cyanogen install.
Everytime I get stuck on the spash screen (google io09 developer conference).
Thanks for having read that post!
NB: Before the manipulation I had made a nandroid backup so I can get back without problem.
I use cm-recovery-1.4.img as recovery image with fastboot, and I noticed that I can't use adb to push data on the sdcard and then install it with the recovery. In fact the commands seem to work, but behind the scene it is the old sdcard.zip that is installed. I have to use my backup, fullboot, put my test update on the sdcard, rebootfastmode recover and then install.
Ah also, I would be really happy if you could tell me how to diagnostise errors on the bootphase. I'm currently totally helpless (and that's why I am posting here ^^).
I am now trying to build a new complete cyanogenmod from source with my custom kernel and modules. I don't think it will resolve my problem but I hope it will help me in understanding the problem.
While waiting for my repo sync (that won't end before tomorrow :/) I have made a new attempt at a CyanogenMod mod.
So i recompiled my kernel
Regenerated the modules
generated the modules.dep
Remade modules.sqf using update-cm-4.2.14.1-signed.zip as a base
Inserted wlan.ko and my new boot.img (made with unpack repack) into update-cm-4.2.14.1-signed.zip
Signed with the testkeys from the tutorial
Fastboot
update
Stuck...
I zipped some file if it could be of any help
my .config, zImage, boot.img, wlan.ko and modules.sqf
Thanks for reading
After some irc chat session I discovered it would be possible that my problem come from a bad boot.img generation.
I use old unpack / repack scripts (with whose you can't use the --base parameter).
I will try to fix this now, and retest!
Hey, so I'm in a mood to compile and test kernel sources provided by Kali-. However I've used search and googled and seriously didn't find anything that would explain the whole process from downloading crosscompiler to putting it all in phone.
So is there any good tutorial for creating and booting custom kernel?
It shouldn't be important, but I'm on Ubuntu Lucid - debian lenny on other PC no windows available atm.
Any help would be appreciated.
cyanogen's wiki has some info on compiling his kernel. i'd look there first
Yeah I did, but it's different and a bit outdated. My compilation end without error ($? == 0) but still no zImage.
edit: Few make's later zImage magically appeared! I've extracted current kernel and ramdisk. The question is now - how to flash it back ? Not sure if simple cat file.img > /dev/mtd/mtd2 will work.
edit2: Compiled native desire kernel using extracted .config, created image and flashed but still no go - It's my first android so I don't know how to even debug this. I believe i got kernel panic somewhere but still don't know how to fix it - any help? This is a dev forum right?
maybe check #htc-linux on freenode irc. they might be able to help you out in compiling the kernel in general, maybe not so much in desire-specific.
This thread covers what I have learned about porting. When possible, I'll include links.
This post primarily applies to Samsung devices, although parts can also be used by other manufacturer's devices.
Get the stock firmware for your devices. This step is very important. Besides needing it to reset your device, you will need the boot and recovery images that should be in the archive file.
Follow Cyanogenmod's Porting page.
Use Heimdall to get the partition table
Get the block size by taking the number of blocks from the pit file, and then dividing the size of the storage card by that. Round to the nearest power of 2. (E.g., 524 -> 512).
Use unpackbootimg to get the files in the boot and recovery images
Get the kernel building
Use PRODUCT_COPY_FILES to copy files to specific locations. It needs to be in a device_*.mk file. Use this for the initrc's, and anything else that needs to be in the recovery (e.g., kernel modules). Keep in mind that the only variables the mk file knows about are the ones you tell it about.
At this point, you may or may not have a booting recovery. In the event that you cannot boot into the recovery (e..g, it reboots immediately upon attempting to enter the recovery), try looking at the stock recovery files (especially the ramdisk files), and see what the differences are between it and your recovery image. Again, unpackbootimg is helpful.
As a side note, I'm trying to port Cyanogenmod to the Tab 3 7.0 without using anyone else's source. Right now, I'm stuck on (6), which I'm still going through. I'll try to remember to update this post as I learn new things.
Build Environment
I'm currently using Fedora Rawhide -- which doesn't have java 1.6 or 1.7. For building the recoveries, it does not seem to matter.
That said, building using just the "mka" command will error out, as Cyanogenmod 11 is not able to be built under java 1.8.
As such, my recommendation is to use an arch installation and the systemd-nspawn command for java 1.7 (also, see the AUR for older java packages).
Hello all,
Well, I just start to compile a kernel source for my Homtom HT17 (I need UVC support).
I found a source code (google HT17 kernel git)
and I compile it with success (I hope) on arm architecture (if I am not wrong, actual rom didn't use aarch64 even if the mt6737M is 64 bits)
So I have a zimage and try to flash it.
So I try to use kitchen and I am able to get to things : a new zip update that I made from a boot.img/system.img from a stock rom and I try to flash it with twrp but I had an error message (something wrong with META-INF\com\google\android\update-script)
Then I try to flash only the boot.img I made with the zimage with twrp. The phone loop at boot... (I restore it with mt flash tool and the rom I had)..
So I am very frustrated, 'cause I spent a lot of time to be able to compile the kernel...
I search a lot on Internet how to deploy correctly my kernel zimage but as now I am not able to get it running!
The problem is like I am newbies in kernel build, I dont know if my process is incorrect or my kernel is incorrect.
So finally I search somebody who could give me steps to deploy correctly my zimage on my phone...
(HOMTOM HT17 MT6737 chip)
Thanks for your reading.
Emmanuel,
Aix En Provence, France
Greeting,
Thank you for using XDA-Assist, you might get more help by others expert in here Homtom HT17-MT6737
XDA-Assist-Team
Hello,
I am participating in the thread to try to get DeX working without the station. I have the kernel source for SM-G950F (the one I rooted is S8, my main phone, official status, is the S8+).
I used stock Ubuntu 17.04.
git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9
export CROSS_COMPILE=..../aarch64-linux-android-4.9/bin/aarch64-linux-android- # Also hardcoded CROSS_COMPILE into Makefile as a futile attempt
export ANDROID_MAJOR_VERSION=7
make ARCH=arm64 exynos8895-dreamlte_eur_open_defconfig
make ARCH=arm64 -j8
It compiles, but with section mismatch. When flashed, it did not boot. Just hangs. No blue light.
I complained to Samsung. They instantly refused to have anything to do with it because of "root". I wasn't asking for support with the phone. I wanted to know why the source code does not work.
I verified that I was packing the boot.img properly after all with Windows Android Kitchen - I unpacked stock boot.img, repacked, flashed, and it worked.
The aim is to have a 100% custom kernel, but with CONFIG_DISPLAYPORT_ENG=y. And perhaps kill SE always enforcing.
But I am losing my mind right now. Nobody can help. They just say use a custom kernel. There are two things wrong with this. Custom kernels might cause other issues with Samsung DeX, and also, the developer of the custom kernel must have made the original source code compile successfully from source to make their custom kernel.
Maybe the section mismatch has nothing to do with it. But it is all I have right now. I tried other versions of toolchain, as well as UberTC or something. They all don't compile at all - they error partway through.
If anybody could show me how to take a stock boot.img and kernel source code from the SM-G950F, and repack the boot.img with the freshly compiled kernel, I would be most appreciative.
PS: My screen is completely stuffed, that is how I bought the phone so cheaply. So in TWRP, I can only see ghost images and have to guess where to tap to install the boot.img. Once it has booted, I use screen mirroring or DeX to a monitor.
Please let me know if you have any ideas. I can provide more information on request.
Did you ever resolve this?