I'm working on learning how to build AOSP. And I have it working for the most part... I have built it and have been able to get the superuser.apk and proprietary binaries in... however, it compiles the su-binary from the source code it seems, so I haven't been able to include the most recent su-binary in my build. I've tried pasting in the chainsDD source, but I know that must not be the correct way to do it as I got errors (manually replacing the source code in WORKING_DIRECTORY/system/extras/su with the source from chainsDD git repository).
Does anyone know any tricks to get the most recent su-binary compiled into AOSP builds?
I've tried all sorts of things replacing 'su' in various places with the one I want, unpacking, mounting, modifying, and re-packing system.img from the out directory and the su-binary always gets built from source when I do a make otapackage.
I'm sure I am going about this is a roundabout and inneficient way... maybe someone can enlighten me.
I know it probably doesn't matter what version of su-binary is in there, as the superuser app will just be able to update it, but I'd like to have it there without needing to update after flashing. I'm trying to get my local aosp code so that I run the make command and it generates the ota package that I want rather than having to manually put things in the zip after it is created.
Related
I've been building from AOSP for a few weeks now and have a decent product, but there's a couple things that I have yet to work out.
First is adding root permissions (i.e. changing the permissions to su) from source. Currently, I have pulled this[URL] code from ChainsDD's github into my tree and added the Superuser.apk via my [URL="http://github.com/rmgeren/android_vendor_rmg/blob/master/products/rmg_passion.mk"]vendor file. Some things work, others don't. Rommanager seems to be fine, but Titanium Backup isn't. I think the problem is that su is installed into /system/bin but not xbin. When I use dsixda's rom kitchen it installs to both places and sets the permissions for su in my update-script.
Second part is more of a "like to have." I make a nice ROM, install it via RomManager (like everyone should!) and, as soon as I boot, I'm back into RomManager installing the custom recovery image.
Here's the question part:
How do I get su to install to /system/bin with a symlink to /system/xbin?
Can I just pull koush's recovery image source into my build and have a nice, custom recovery?
Is it better to just somehow not build the recovery image? How would I make that happen?
RMGeren said:
I've been building from AOSP for a few weeks now and have a decent product, but there's a couple things that I have yet to work out.
First is adding root permissions (i.e. changing the permissions to su) from source. Currently, I have pulled this[URL] code from ChainsDD's github into my tree and added the Superuser.apk via my [URL="http://github.com/rmgeren/android_vendor_rmg/blob/master/products/rmg_passion.mk"]vendor file. Some things work, others don't. Rommanager seems to be fine, but Titanium Backup isn't. I think the problem is that su is installed into /system/bin but not xbin. When I use dsixda's rom kitchen it installs to both places and sets the permissions for su in my update-script.
Second part is more of a "like to have." I make a nice ROM, install it via RomManager (like everyone should!) and, as soon as I boot, I'm back into RomManager installing the custom recovery image.
Here's the question part:
How do I get su to install to /system/bin with a symlink to /system/xbin?
Can I just pull koush's recovery image source into my build and have a nice, custom recovery?
Is it better to just somehow not build the recovery image? How would I make that happen?
Click to expand...
Click to collapse
For the symlink, just add the following to your updater-script (assuming you're using a binary update) immediately after you extract the system partition.
Code:
symlink("../xbin/su", "/system/bin/su");
If you include a recovery image in your build you will overwrite the users' recovery image which isn't such a good idea for a rom... I'd leave that one alone to be honest. And problems writing the image and you could bork their phone. It's easy though, just create the .img, put it in the root of your update zip and install it using your updater-script as such:
Code:
assert(package_extract_file("recovery.img", "/tmp/recovery.img"),
write_raw_image("/tmp/recovery.img", "recovery"),
delete("/tmp/recovery.img"));
I don't understand your third question sorry...
Thanks for the response! I actually solved the problem by including busybox as a pre built package and pulling the su source from chainsdd
Before, I was including the binary su
By compiling from his source, it installs the symlink correctly.
Sent from my Nexus One using XDA App
I have modified the android system source file audiomanager.java for my own purposes and compiled the whole ROM. However, i dont want to flash the whole ROM. Which file is audiomanager.java compiled to?
Its location in the source is /frameworks/base/media/java/android/media/audiomanager.java
Thanks!
I already have the source file for my phone (Samsung Conquer 4g) from http://opensource.samsung.com/ but I want to know how to build it. I want to get some things straight first. When I unzipped it I get two other zips, one named platform and the other named kernel. The file system would be the one named platform correct? After that I am wondering how I can build a flashable, bootable rom. I am on ubuntu 12.04. I am not trying to port, I am trying to update than mod it with root and etc. Coding would be useful. Thanks.
itzdarockz said:
I already have the source file for my phone (Samsung Conquer 4g) from http://opensource.samsung.com/ but I want to know how to build it. I want to get some things straight first. When I unzipped it I get two other zips, one named platform and the other named kernel. The file system would be the one named platform correct? After that I am wondering how I can build a flashable, bootable rom. I am on ubuntu 12.04. I am not trying to port, I am trying to update than mod it with root and etc. Coding would be useful. Thanks.
Click to expand...
Click to collapse
Tutorial in my signature. You downloaded kernel source, not device repo source. Platform just contains files that have been modified from the android source to build the kernel for your device.
私のEVO 3Dから送信される。
Hey Guys,
i want to build AOSP from sources. Specifically on the Nexus 10.
I downloaded the proprietary binaries from the Nexus Binary Download page. https://developers.google.com/android/nexus/drivers#manta
I followed instructions how to set up the source code and build it but i am not too sure how to correctly extract the proprietary binaries.
(tutorial used: http://forum.xda-developers.com/showthread.php?t=1762641)
I used the self-extracting shell scripts to extract the binaries in the root of the directory i executed "repo sync" in. (in my case: WORKING_DIRECTORY)
The binaries were put to "WORKING_DIRECTORY/vendor"
My question is whether i did it correctly and whether the binaries will be included in the build when i hit "make".
I just flashed my compiled OTA zip and everything worked perfectly with the proprietary binaries!
I pulled the CM13 source from github and successfully completed a build. Set up all the tools, got the right java version set up, then did the actual build (envsetup, breakfast surnia, then used make) which took a few hours to complete.
However, I cannot seem to find the ZIP file which contains the flashable ROM. My build works well when I fastboot flash things (recovery, boot, cache and system). But I really would like to get a ZIP version of the ROM which can be ADB sideloaded.
I searched around and most of the posts I see related to this kind of stuff are old posts, and all of them indicate that the ZIP file will be created with the build. Is this not the case anymore? If not, can anyone help point me in the direction of how to make proper flashable zip created from a set of properly built .img files?
Asked too soon. Found how to get the zip file - ran "brunch surnia" instead of breakfast and a manual make, and now the ZIP file is generated.
You should try
make otapackage
Command instead of make surnia