Xoom with ICS 4.0.3 AOSP how to - Xoom Android Development

Now that the code is out, let's start hacking the Xoom.
These instructions are for Linux 64-bit Ubuntu 11.10 / Mint 12, with latest updates.
follow directions on source.android.com to set up your environment
then move to next page to set up the repo and download the code
make sure you use Sun/Oracle Java Development Kit 1.6.x. It WILL NOT work with OpenJDK, which comes with Ubuntu 11.10/Mint 12. (best is remove OpenJDK to avoid hard to track errors)
downloading the code takes ages (a good 2h even with a good connection) and requires at least 2GB of hard disk space. But for compilation, I'd recommend to have 20GB at least.
download proprietary drivers at: http://tinyurl.com/6rfu8rn
extract the drivers from Broadcom and NVidia, this will gives you 2 .sh files
just run these 2 .sh files and copy the created vendor/ directory into the root of your Google code repo.
There are 2 kinds of Xoom
Xoom Verizon LTE, codename stingray
Xoom wifi, codename wingray
Make some corrections in the code for GCC 4.6
external/mesa3d/src/glsl/linker.cpp: l.70 add: #include <cstddef>
To build the code:
. ./build/envsetup.sh
lunch full_stingray-userdebug or full_wingray-userdebug
make -j5
This can take 2h to compile on an average machine like my MacBook Pro with 8GB RAM (very important to have more than 4GB!!!), or even more. And having a quad-core machine (or even more cores), really saves you tons of time!
Once compilation is done, it's time to flash:
go to out/target/product/wingray (or stingray)
put your Xoom in fastboot mode: power off, then volume down + power on
fastboot erase cache
fastboot erase userdata
fastboot flash boot boot.img
fastboot flash recovery recovery.img
fastboot flash system system.img
fastboot reboot
Note: you don't need to flash recovery.img, you should instead flash ClockworkMod recovery (http://download.clockworkmod.com/recoveries/recovery-clockwork-4.0.0.4-stingray.img)
And voila, you have a Xoom with WiFi working and all goodies from AOSP. This means no Google apps like Market...
To install Google Apps:
download this zip file [http://www.mediafire.com/?1l4ravroiwt4ybw[/url]
unzip it and go inside the folder
boot your device normally
rm system/app/Nfc*
adb push system /system
adb reboot
There are some errors with exchange service but Market, GMail, Maps work correctly. From there, go update your apps from Market
Enjoy!
Update 1: Android 4.0.1 issues back in 4.0.3?
Some people noted some compilation errors I didn't get on 4.0.3 but on 4.0.1. Here are solutions for 4.0.1 (emulator) that may work for you:
build/core/combo/HOST_linux-x86.mk:61 HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
build/core/combo/javac.mk:15 COMMON_JAVAC := javac -J-Xmx512M -target 1.5 -source 1.5 -Xmaxerrs 9999999
frameworks/base/libs/util/Android.mk: 63 LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) -fpermissive
libcore/luni/src/main/java/java/lang/Enum.java: 128 return ordinal - o.ordinal ();
external/gtest/include/gtest/internal/gtest-param-util.h:40 #include <cstddef> (after #include <vector>)

How much space just to tinker with ICS/gingerbread?
I have a 1.5 mbps DSL connection and 200gb would take me 8 day/24 hour of downloading and I cant do that.

Kippui said:
How much space just to tinker with ICS/gingerbread?
I have a 1.5 mbps DSL connection and 200gb would take me 8 day/24 hour of downloading and I cant do that.
Click to expand...
Click to collapse
I do my building in a VM and the virtual disk image that has ubuntu and AOSP has grown to 45 GB after a compile.
Also, question for OP... why don't we see people using "make -j otapackage" to create CWM compatible ROMs? Just make sure it doesn't have a recovery in it (or it will torch your existing recovery). I torched my recovery the first time I did it, but I think I fixed it (haven't reflashed to find out).

It builds just fine with 3 GB of RAM in my VM here. Takes around 1 hour for me, with 6 CPU threads assigned to the VM, and using -j6. I just wish I could make sure it doesn't waste time compiling the various demos and tests.
I'm also using ccache to speed up (re)building. Google has instructions on how to set it up (it's really easy). Copied from their page (http://source.android.com/source/initializing.html):
You can optionally tell the build to use the ccache compilation tool. Ccache acts as a compiler cache that can be used to speed-up rebuilds. This works very well if you do "make clean" often, or if you frequently switch between different build products.
Put the following in your .bashrc or equivalent.
export USE_CCACHE=1
By default the cache will be stored in ~/.ccache. If your home directory is on NFS or some other non-local filesystem, you will want to specify the directory in your .bashrc as well.
export CCACHE_DIR=<path-to-your-cache-directory>
The suggested cache size is 50-100GB. You will need to run the following command once you have downloaded the source code.
prebuilt/linux-x86/ccache/ccache -M 50G
This setting is stored in the CCACHE_DIR and is persistent.
Click to expand...
Click to collapse
I have it set to only 10 GB here, but if you intend to do a lot of rebuilding, 20-40 GB might be a better idea.

The full AOSP tree + out directory takes 24G on my machine using du -sh.
The OTA package is 90MB, including the recovery, which you probably want to remove.
Indeed, I forgot to mention using USE_CCACHE, it really speeds up your builds. Make sure your cache dir is the top of your AOSP tree, it's even better.

Hi,
Huge thanks for those usefull instructions.
Just a hint for Gentoo builders (and maybe others distrib), if you're having this error after the "lunch" command :
Code:
AOSP> lunch full_wingray-userdebug
build/core/config.mk:268: *** Error: could not find jdk tools.jar, please install JDK6, which you can download from java.sun.com. Stop.
** Don't have a product spec for: 'full_wingray'
** Do you have the right repo manifest?
just export env ANDROID_JAVA_HOME with full jdk path :
Code:
export ANDROID_JAVA_HOME=/opt/sun-jdk-1.6.0.29/

winglord said:
There are 2 kinds of Xoom
Xoom Verizon LTE, codename stingray
Xoom wifi, codename wingray
Click to expand...
Click to collapse
There's three kinds of Xoom, the GSM MZ601 as well (Moto's codename everest). This is not supported by Google, but hopefully the hardware is close enough to stingray that the port shouldn't be overly difficult. At worst, the port to everest might have issues with vendor_ril?

please post your finished from.
Sent from my Full Android on Wingray using Tapatalk

Does someone know if there is a way to run builded images into the sdk emulator ?

Not sure what I am doing wrong:
Code:
/ICS_SOURCE# make -j4 otapackage
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.3
TARGET_PRODUCT=full_wingray
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=IML74K
============================================
build/core/main.mk:324: implicitly installing apns-conf_sdk.xml
No private recovery resources for TARGET_DEVICE wingray
host C++: llvm-rs-cc <= frameworks/compile/slang/llvm-rs-cc.cpp
host C++: llvm-rs-cc <= frameworks/compile/slang/slang_rs.cpp
host C++: llvm-rs-cc <= frameworks/compile/slang/slang_rs_ast_replace.cpp
host C++: llvm-rs-cc <= frameworks/compile/slang/slang_rs_context.cpp
<command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]<command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
<built-in>:0:0: note: this is the location of the previous definition
<built-in>:0:0: note: this is the location of the previous definition
<command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
<built-in>:0:0: note: this is the location of the previous definition
<command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
<built-in>:0:0: note: this is the location of the previous definition
cc1plus: all warnings being treated as errors
make: *** [out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/llvm-rs-cc.o] Error 1
make: *** Waiting for unfinished jobs....
cc1plus: all warnings being treated as errors
make: *** [out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/slang_rs_ast_replace.o] Error 1
cc1plus: all warnings being treated as errors
make: *** [out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/slang_rs_context.o] Error 1
cc1plus: all warnings being treated as errors
make: *** [out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/slang_rs.o] Error 1
[email protected]:~/ICS_SOURCE#
Im using this guide as it has more details: http://www.freeyourandroid.com/guide/compile-ics
Any guidance someone could offer would be great.

Are you in ubuntu 11.10? I was having issues also. Check out this site...
http://www.android-dev.ro/2011/12/13/building-android-4-0-on-ubuntu-11-10/

aceman118 said:
Are you in ubuntu 11.10? I was having issues also. Check out this site...
http://www.android-dev.ro/2011/12/13/building-android-4-0-on-ubuntu-11-10/
Click to expand...
Click to collapse
Thanks, I am useing 11.10 so ill read through this and try again.
EDIT: got my first build completed! Thanks

you can use wingray or stingray on everest. Of course, if you use wingray on everest, you won't have phone app and other phone only features.

aceman118 said:
Are you in ubuntu 11.10? I was having issues also. Check out this site...
http://www.android-dev.ro/2011/12/13/building-android-4-0-on-ubuntu-11-10/
Click to expand...
Click to collapse
I'm using Ubuntu 11.10 64bit and GCC 4.6.
Keep in mind to add '#include <cstddef>' in headers where you have compile errors like indexOf() not found.

popokrew said:
Not sure what I am doing wrong:
Code:
/ICS_SOURCE# make -j4 otapackage
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.3
TARGET_PRODUCT=full_wingray
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=IML74K
============================================
build/core/main.mk:324: implicitly installing apns-conf_sdk.xml
No private recovery resources for TARGET_DEVICE wingray
host C++: llvm-rs-cc <= frameworks/compile/slang/llvm-rs-cc.cpp
host C++: llvm-rs-cc <= frameworks/compile/slang/slang_rs.cpp
host C++: llvm-rs-cc <= frameworks/compile/slang/slang_rs_ast_replace.cpp
host C++: llvm-rs-cc <= frameworks/compile/slang/slang_rs_context.cpp
<command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]<command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
<built-in>:0:0: note: this is the location of the previous definition
<built-in>:0:0: note: this is the location of the previous definition
<command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
<built-in>:0:0: note: this is the location of the previous definition
<command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
<built-in>:0:0: note: this is the location of the previous definition
cc1plus: all warnings being treated as errors
make: *** [out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/llvm-rs-cc.o] Error 1
make: *** Waiting for unfinished jobs....
cc1plus: all warnings being treated as errors
make: *** [out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/slang_rs_ast_replace.o] Error 1
cc1plus: all warnings being treated as errors
make: *** [out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/slang_rs_context.o] Error 1
cc1plus: all warnings being treated as errors
make: *** [out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/slang_rs.o] Error 1
[email protected]:~/ICS_SOURCE#
Im using this guide as it has more details: http://www.freeyourandroid.com/guide/compile-ics
Any guidance someone could offer would be great.
Click to expand...
Click to collapse
You are not doing anything wrong, this is a GCC 4.6 restriction.
Weird I didn't see it with ics 4.0.3 but with 4.0.1 before.
Here is what you need to do for 4.0.1:
build/core/combo/HOST_linux-x86.mk:61 HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
build/core/combo/javac.mk:15 COMMON_JAVAC := javac -J-Xmx512M -target 1.5 -source 1.5 -Xmaxerrs 9999999
frameworks/base/libs/util/Android.mk: 63 LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) -fpermissive
libcore/luni/src/main/java/java/lang/Enum.java: 128 return ordinal - o.ordinal ();
external/gtest/include/gtest/internal/gtest-param-util.h:40 #include <cstddef> (after #include <vector>)

winglord said:
You are not doing anything wrong, this is a GCC 4.6 restriction.
Weird I didn't see it with ics 4.0.3 but with 4.0.1 before.
Here is what you need to do for 4.0.1:
build/core/combo/HOST_linux-x86.mk:61 HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
build/core/combo/javac.mk:15 COMMON_JAVAC := javac -J-Xmx512M -target 1.5 -source 1.5 -Xmaxerrs 9999999
frameworks/base/libs/util/Android.mk: 63 LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) -fpermissive
libcore/luni/src/main/java/java/lang/Enum.java: 128 return ordinal - o.ordinal ();
external/gtest/include/gtest/internal/gtest-param-util.h:40 #include <cstddef> (after #include <vector>)
Click to expand...
Click to collapse
winglord, I was able to get it to build with the guide aceman posted. I believe its because of the modified make: make CC=gcc-4.4 CXX=g++-4.4
Where would I find a log for the entire build? A lot of stuff scrolls by while building.
Now I just need to get the recovery image out (guessing just delete it out of the ota .zip?) and try it out. My Xoom isnt with me right now.

AlEsC said:
Does someone know if there is a way to run builded images into the sdk emulator ?
Click to expand...
Click to collapse
When running lunch you have to chose one of the emulator builds (full_eng if my memory's right). You can't run a build compiled for a specific device.

RMerlin said:
When running lunch you have to chose one of the emulator builds (full_eng if my memory's right). You can't run a build compiled for a specific device.
Click to expand...
Click to collapse
Thanks
This means I'll have to rebuild all !!
Another question, I've made a successfully build, then I've made some modification in the sources, so I've deleted all *.img thinking that "make" will rebuild them... but "make" only rebuild "system.img", "ramdisk.img" and "userdata.img".
Is there a "make boot" or something like that ? (real question is how do I rebuild my boot.img )
Thanks

winglord said:
I'm using Ubuntu 11.10 64bit and GCC 4.6.
Keep in mind to add '#include <cstddef>' in headers where you have compile errors like indexOf() not found.
Click to expand...
Click to collapse
I tried that and it didn't seem to work for me. Once I used GCC 4.4 it worked. I couldn't tell you why, though.
So I finally got a build up and running - is there something special that has to be done with the vendor binaries? I know I have seen this in other builds too but the kernel is still showing 2.x and the camera, mic and gps are not working. Is that because work needs to be done to the kernel before it is 100% with ICS? This is my first time messing with an android build so forgive me if this is a dumb question.

AlEsC said:
Thanks
This means I'll have to rebuild all !!
Another question, I've made a successfully build, then I've made some modification in the sources, so I've deleted all *.img thinking that "make" will rebuild them... but "make" only rebuild "system.img", "ramdisk.img" and "userdata.img".
Is there a "make boot" or something like that ? (real question is how do I rebuild my boot.img )
Thanks
Click to expand...
Click to collapse
Make is usually smart enough to know when something you changed will not result in a different output. It is possible that the changes you made would result in an identical boot.img, therefore it is not rebuilding it.

Related

[Guide] Compiling CyanogenMod 9/10 for Galaxy Nexus (GSM)

I know there's another thread about this, but that was kind of outdated, so I decided to do another one. Here we goo~
Requirements :-
Ubuntu 11.10 64bit (this is what I'm using, I won't make a guide for others)
Decent Internet connection
At least 50GB of hard disc space
4GBs of ram
Dual Core processor
and patience.
First off, we need to download and install some stuff.. Type in each line one by one.
Code:
sudo -i
add-apt-repository ppa:ferramroberto/java
apt-get update
apt-get install sun-java6-jdk sun-java6-jre sun-java6-plugin
apt-get install python
apt get install git-core
Now that your Java is downloaded, we need to get some extra files.
Code:
apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils
Note that liv32readline5-dev might not be available anymore, if that's the case, remove that from the code, run it and run an extra line after you've done the one on top
Code:
apt-get install lib32readline-gplv2-dev
then this
Code:
ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
Now we get to setup directories for your source and repo !
Code:
mkdir ~/bin
PATH=~/bin:$PATH
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
If you noticed, everytime you start your ubuntu you need to type in "PATH=~/bin:$PATH" again before you can repo. To fix this :
Code:
sudo gedit ~/.bashrc
then add in
Code:
export = PATH=~/bin:$PATH"
Now we make a directory for your source, you can use any name you want, in this case I'm using CMSOURCE (this IS case sensitive, btw.)
Code:
mkdir CMSOURCE
cd CMSOURCE
Now we can initialize repo
Code:
repo init -u git://github.com/CyanogenMod/android.git -b ics
If you want Jelly Bean
Code:
repo init -u git://github.com/CyanogenMod/android.git -b jellybean-stable
then
Code:
repo sync
or
Code:
repo sync -j1
or
Code:
repo sync -j16
I suggest only to try the -j1 and -j16 ONLY IF there is problem by using the normal repo sync. Honestly I don't know what this does but from my experience, j1 is slower but apparently more stable. j16 is faster but chances of corrupting is higher. but I've only ran this once so I'm not really sure. Don't take my word on this.
This WILL take awhile, go watch a movie, feed your pet, skydive, drink coffee, drink beer or something.
After that's done, you need to get some files for your Cyanogen build, eg Rom Manager. Without these files it wont compile correctly.
Code:
cd CMSOURCE/vendor/cm
./get-prebuilts
Now we've got to get some files from the phone, but I'm using the one from google, rather than extracting from the phone.
http://code.google.com/android/nexus/drivers.html
Go there, click Maguro , download the files, extract it anywhere, and run it inside a terminal. (just drag the file into the terminal, press enter and choose run. follow the instructions on screen. you need all of them. )
ALRIGHTY! If you've done all these steps without any problem, it's time to compile!
Code:
cd
cd CMSOURCE
source build/envsetup.sh
brunch
and choose your device
This takes about 3 and a half hours on my friends alienware m15x.
On my desktop it takes about 1 and a half hour. Just over night it to be safe.
Before re-compiling, clean your work folder first.
Code:
make clobber
To update your sources,
Code:
repo sync
I'm new at this compiling thing, so if anything is wrong please tell. I just wrote this to help if someone is running into problems like I did.
optional/old/useless
we need to add a line to specify where our kernel is before we can build, so do this.
Code:
sudo -i
nautilus
go to
CMSOURCE/device/samsung/maguro
Open BoardConfig.mk
add
Code:
TARGET_KERNEL_CONFIG := cyanogenmod_maguro_defconfig
TARGET_PREBUILT_KERNEL := device/samsung/tuna/kernel
save, close.
Cherry Picking
WILL UPDATE.
Do you then use this for you're own personal use or do you upload this to a server so others can download it as a nightly?
Sent from my Galaxy Nexus using Tapatalk 2 Beta-5
SupWiz17 said:
Do you then use this for you're own personal use or do you upload this to a server so others can download it as a nightly?
Sent from my Galaxy Nexus using Tapatalk 2 Beta-5
Click to expand...
Click to collapse
Right now I'm using it myself first. I'm planning on making a rom but that's a long time from now. I can upload it to a server but I don't have one. Not gonna buy one just to upload
Anyways there's someone compiling and uploading builds already. Check out this link
JunyuT. said:
Right now I'm using it myself first. I'm planning on making a rom but that's a long time from now. I can upload it to a server but I don't have one. Not gonna buy one just to upload
Anyways there's someone compiling and uploading builds already. Check out this link
Click to expand...
Click to collapse
I got it now. I'm going to give this a try and will let you know how it goes. This is really cool how you can build your own operating system for your phone.
Sent from my Galaxy Nexus using Tapatalk 2 Beta-5
Although I really like the fact that more guides appear, I recently wrote one myself (and it really isn't outdated at all ): http://forum.xda-developers.com/showthread.php?t=1566224
Edit:
also, read my guide. There are some differences. For instance, when you use the brunch command, you shouldn't have to use the make command. And, if you use the make command, you can change the number behind j. That'll make your build go faster. And last, in the future you don't have to specify your kernel, there will be a commit soon that fixes this issue.
mbroeders said:
Although I really like the fact that more guides appear, I recently wrote one myself (and it really isn't outdated at all ): http://forum.xda-developers.com/showthread.php?t=1566224
Edit:
also, read my guide. There are some differences. For instance, when you use the brunch command, you shouldn't have to use the make command. And, if you use the make command, you can change the number behind j. That'll make your build go faster. And last, in the future you don't have to specify your kernel, there will be a commit soon that fixes this issue.
Click to expand...
Click to collapse
ah yeah! My bad. I constantly change from brunch to lunch so sometimes I get mixed up. Thanks for the heads up Guide is fixed.
I used your guide, but I got stuck at the kernel part. Couldn't find a fix for it and no one updated their guide and that's why I wrote mine. This is what I meant by outdated
Nice guide I will definitely use both of these as I try to compile cm9.
Sent from my Galaxy Nexus using Tapatalk 2 Beta-5
JunyuT. said:
ah yeah! My bad. I constantly change from brunch to lunch so sometimes I get mixed up. Thanks for the heads up Guide is fixed.
I used your guide, but I got stuck at the kernel part. Couldn't find a fix for it and no one updated their guide and that's why I wrote mine. This is what I meant by outdated
Click to expand...
Click to collapse
No worries, great effort Hopefully the kernel part will be fixed soon.
Edit:
Just checked, adding kernel to boardconfig is def not necessary anymore (http://review.cyanogenmod.com/#/c/14792/)
mbroeders said:
No worries, great effort Hopefully the kernel part will be fixed soon.
Edit:
Just checked, adding kernel to boardconfig is def not necessary anymore (http://review.cyanogenmod.com/#/c/14792/)
Click to expand...
Click to collapse
Just checked, yeap its not necessary anymore! But they seem to recommend it though..
Sent from my Galaxy Nexus using xda premium
when i compile this i get a warning
Code:
build/core/tasks/kernel.mk:26: ***************************************************************
build/core/tasks/kernel.mk:27: * Using prebuilt kernel binary instead of source *
build/core/tasks/kernel.mk:28: * THIS IS DEPRECATED, AND WILL BE DISCONTINUED *
build/core/tasks/kernel.mk:29: * Please configure your device to download the kernel *
build/core/tasks/kernel.mk:30: * source repository to kernel/samsung/tuna
build/core/tasks/kernel.mk:31: * See http://wiki.cyanogenmod.com/wiki/Integrated_kernel_building
build/core/tasks/kernel.mk:32: * for more information *
build/core/tasks/kernel.mk:33: ***************************************************************
do i need to download the kernel repo on top of the ics one? it compiles through though but i get an awful greenish tint and the camera is not working. any hints on how to integrate the real kernel would be appreciated. i read the wiki page and its says "The minimal requirement is that the kernel's source tree for that device be present at kernel/vendor-name/device-name." but that to me is cryptic, as i have little experience.
and two questions,
1. can i specify how many threads i'd like to use to compile with brunch? it justs starts to build and it does for hoouuurrrsss. i tried lunch and i could call make -jN afterwards, but it created odex files which i dont want.
2. any tipps on how to use the emulator? i call it but the window stays blank. i got it to work once with a lunch 1 full-eng build but then i get some weird looking interface without launcher. is it even possible to emulate a nexus with software buttons and all? this would be perfect as i intent to make some changes to the code.
the rom i made with these tipps be found here, if anyone wanna help or team up, that would be super!
thanks so much for this helpful post!
molesarecoming said:
when i compile this i get a warning
Code:
build/core/tasks/kernel.mk:26: ***************************************************************
build/core/tasks/kernel.mk:27: * Using prebuilt kernel binary instead of source *
build/core/tasks/kernel.mk:28: * THIS IS DEPRECATED, AND WILL BE DISCONTINUED *
build/core/tasks/kernel.mk:29: * Please configure your device to download the kernel *
build/core/tasks/kernel.mk:30: * source repository to kernel/samsung/tuna
build/core/tasks/kernel.mk:31: * See http://wiki.cyanogenmod.com/wiki/Integrated_kernel_building
build/core/tasks/kernel.mk:32: * for more information *
build/core/tasks/kernel.mk:33: ***************************************************************
do i need to download the kernel repo on top of the ics one? it compiles through though but i get an awful greenish tint and the camera is not working. any hints on how to integrate the real kernel would be appreciated. i read the wiki page and its says "The minimal requirement is that the kernel's source tree for that device be present at kernel/vendor-name/device-name." but that to me is cryptic, as i have little experience.
and two questions,
1. can i specify how many threads i'd like to use to compile with brunch? it justs starts to build and it does for hoouuurrrsss. i tried lunch and i could call make -jN afterwards, but it created odex files which i dont want.
2. any tipps on how to use the emulator? i call it but the window stays blank. i got it to work once with a lunch 1 full-eng build but then i get some weird looking interface without launcher. is it even possible to emulate a nexus with software buttons and all? this would be perfect as i intent to make some changes to the code.
the rom i made with these tipps be found here, if anyone wanna help or team up, that would be super!
thanks so much for this helpful post!
Click to expand...
Click to collapse
Team up? Sure! You have a PM about this
The camera is not working due to wrong sources. I don't know why CM hasn't fixed this or this is faulty on my part, but I fixed it and forgot to update the guide. Basically you need props from koush. Here's the link
Code:
https://github.com/koush/proprietary_vendor_samsung
https://github.com/koush/proprietary_vendor_imgtec
What I did was just download it as a zip and paste it in the directory, I know this isn't the correct way but I have no idea how to merge them together.
I don't know about the kernel though, will experiment more
Finally got it going last night. Im still working on getting a successful run but thanks for the great guide.
---------- Post added at 02:08 PM ---------- Previous post was at 01:19 PM ----------
I keep getting the same error as its building. I have tried it three times now and get the same error every time. Does anyone have a fix for this?
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory `/home/mark/CM9/kernel/samsung/tuna'
make: *** [TARGET_KERNEL_BINARIES] Error 2
make: *** Waiting for unfinished jobs....
SupWiz17 said:
Finally got it going last night. Im still working on getting a successful run but thanks for the great guide.
---------- Post added at 02:08 PM ---------- Previous post was at 01:19 PM ----------
I keep getting the same error as its building. I have tried it three times now and get the same error every time. Does anyone have a fix for this?
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory `/home/mark/CM9/kernel/samsung/tuna'
make: *** [TARGET_KERNEL_BINARIES] Error 2
make: *** Waiting for unfinished jobs....
Click to expand...
Click to collapse
Did you add the pre built kernel line? Anyways give me some time. I just upgraded to 12.04 and it ****ed everything up. Now I've got to do everything over again.
Sent from my Galaxy Nexus using xda premium
JunyuT. said:
Did you add the pre built kernel line? Anyways give me some time. I just upgraded to 12.04 and it ****ed everything up. Now I've got to do everything over again.
Sent from my Galaxy Nexus using xda premium
Click to expand...
Click to collapse
I added the pre built kernel today to try something new but now I get
***
*** Can't find default configuration "arch/arm/configs/cyanogenmod_maguro_defconfig"!
***
make[3]: *** [cyanogenmod_maguro_defconfig] Error 1
make[2]: *** [cyanogenmod_maguro_defconfig] Error 2
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory `/home/mark/CM9/kernel/samsung/tuna'
make: *** [/home/mark/CM9/out/target/product/maguro/obj/KERNEL_OBJ/.config] Error 2
make: *** Waiting for unfinished jobs....
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
I feel like Im missing some drivers or something important like that but I have followed a few different guides now and cant get it to work. I stayed with 11.10 for that reason I couldnt get java to work lol
---------- Post added at 09:14 PM ---------- Previous post was at 09:09 PM ----------
I have been reading about needing an older version of gcc to compile with 11.10. I notice that is not in your guide but in others. Is that part of the reason I am not able to compile properly?
SupWiz17 said:
I added the pre built kernel today to try something new but now I get
***
*** Can't find default configuration "arch/arm/configs/cyanogenmod_maguro_defconfig"!
***
make[3]: *** [cyanogenmod_maguro_defconfig] Error 1
make[2]: *** [cyanogenmod_maguro_defconfig] Error 2
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory `/home/mark/CM9/kernel/samsung/tuna'
make: *** [/home/mark/CM9/out/target/product/maguro/obj/KERNEL_OBJ/.config] Error 2
make: *** Waiting for unfinished jobs....
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
I feel like Im missing some drivers or something important like that but I have followed a few different guides now and cant get it to work. I stayed with 11.10 for that reason I couldnt get java to work lol
---------- Post added at 09:14 PM ---------- Previous post was at 09:09 PM ----------
I have been reading about needing an older version of gcc to compile with 11.10. I notice that is not in your guide but in others. Is that part of the reason I am not able to compile properly?
Click to expand...
Click to collapse
I doubt it, I just did a full format and recompiled everything with this guide.
Did you install 12.04 or 11.10? So you dont install any other programs then what is in your guide? From what I am reading I am having a problem with having the right compiler for some reason. I will re format though and try it again and see if that makes any sort of difference.
---------- Post added at 10:48 PM ---------- Previous post was at 10:41 PM ----------
If I tried the way you get the files from the phone by downloading the three files and running them in terminal and tried the way I read it in another thread but running a script could that be the cause for it not being able to compile properly? Does it make sense that they could be interfering with eachother?
---------- Post added at 10:52 PM ---------- Previous post was at 10:48 PM ----------
I tried one last time before the reformat just to see and got new errors I was never getting before. I am just going to start all over and see what happens.
*** Can't find default configuration "arch/arm/configs/cyanogenmod_maguro_defconfig"!
***
target thumb C: libc_common <= bionic/libc/netbsd/net/getservent.c
target thumb C: libc_common <= bionic/libc/netbsd/net/base64.c
bionic/libc/netbsd/net/getnameinfo.c: In function 'android_gethostbyaddr_proxy':
bionic/libc/netbsd/net/getnameinfo.c:186: warning: passing argument 3 of 'inet_ntop' from incompatible pointer type
bionic/libc/include/arpa/inet.h:45: note: expected 'char *' but argument is of type 'char (*)[46]'
bionic/libc/netbsd/net/getaddrinfo.c: In function 'android_getaddrinfo_proxy':
bionic/libc/netbsd/net/getaddrinfo.c:455: warning: dereferencing type-punned pointer might break strict-aliasing rules
bionic/libc/netbsd/net/getaddrinfo.c:455: warning: dereferencing type-punned pointer might break strict-aliasing rules
target thumb C: libc_common <= bionic/libc/netbsd/net/getservbyport.c
make[3]: *** [cyanogenmod_maguro_defconfig] Error 1
make[2]: *** [cyanogenmod_maguro_defconfig] Error 2
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory `/home/mark/CM9/kernel/samsung/tuna'
make: *** [/home/mark/CM9/out/target/product/maguro/obj/KERNEL_OBJ/.config] Error 2
make: *** Waiting for unfinished jobs....
SupWiz17 said:
Did you install 12.04 or 11.10? So you dont install any other programs then what is in your guide? From what I am reading I am having a problem with having the right compiler for some reason. I will re format though and try it again and see if that makes any sort of difference.
---------- Post added at 10:48 PM ---------- Previous post was at 10:41 PM ----------
If I tried the way you get the files from the phone by downloading the three files and running them in terminal and tried the way I read it in another thread but running a script could that be the cause for it not being able to compile properly? Does it make sense that they could be interfering with eachother?
---------- Post added at 10:52 PM ---------- Previous post was at 10:48 PM ----------
I tried one last time before the reformat just to see and got new errors I was never getting before. I am just going to start all over and see what happens.
*** Can't find default configuration "arch/arm/configs/cyanogenmod_maguro_defconfig"!
***
target thumb C: libc_common <= bionic/libc/netbsd/net/getservent.c
target thumb C: libc_common <= bionic/libc/netbsd/net/base64.c
bionic/libc/netbsd/net/getnameinfo.c: In function 'android_gethostbyaddr_proxy':
bionic/libc/netbsd/net/getnameinfo.c:186: warning: passing argument 3 of 'inet_ntop' from incompatible pointer type
bionic/libc/include/arpa/inet.h:45: note: expected 'char *' but argument is of type 'char (*)[46]'
bionic/libc/netbsd/net/getaddrinfo.c: In function 'android_getaddrinfo_proxy':
bionic/libc/netbsd/net/getaddrinfo.c:455: warning: dereferencing type-punned pointer might break strict-aliasing rules
bionic/libc/netbsd/net/getaddrinfo.c:455: warning: dereferencing type-punned pointer might break strict-aliasing rules
target thumb C: libc_common <= bionic/libc/netbsd/net/getservbyport.c
make[3]: *** [cyanogenmod_maguro_defconfig] Error 1
make[2]: *** [cyanogenmod_maguro_defconfig] Error 2
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory `/home/mark/CM9/kernel/samsung/tuna'
make: *** [/home/mark/CM9/out/target/product/maguro/obj/KERNEL_OBJ/.config] Error 2
make: *** Waiting for unfinished jobs....
Click to expand...
Click to collapse
11.10 and 12.04, but I prefer 11.10. Easier. you need a lot of extra work with 12.04.
Nope, clean ubuntu.
Nope, shouldn't. Even if it does, it should compile properly but things might not work.
I compiled with the prop files from google and my camera, youtube and some other stuff wouldn't work. but it compiled nicely, all I had to do to fix it was get the prop files from koush and recompiled and everything worked.
Have you tried cleaning the build directory before rebuilding? Old broken projects might be the cause.
Code:
make clobber
I did a full reformat and was able to compile a successful .zip. The only program I had to add was schedtool. I used the files from google like you did and it compiled but I have not flashed it yet. I will and if it doesnt work I will use the script from the other thread and hopefully will have the same success that you did. Thanks again for the great guide.
Thank you very much for your guide!
After a little bit of problems because of Ubuntu 12 (installing jdk etc) I finally got it to compile - let's see if it finishes without errors
Abomb said:
Thank you very much for your guide!
After a little bit of problems because of Ubuntu 12 (installing jdk etc) I finally got it to compile - let's see if it finishes without errors
Click to expand...
Click to collapse
Haha! I never got to compiling. It said I have Java7 and I needed 6..
Sent from my Galaxy Nexus using xda premium

Better MTP access from linux

An MTP filesystem for linux that I believe works better than anything else currently out there.
http://research.jacquette.com/jmtpfs-exchanging-files-between-android-devices-and-linux/
I tried to make the filesystem implementation robust and as complete as possible within the limits of MTP. Everything except chown, chmod, symlinks, and updating the modification time without actually changing the file should work.
I've only tested it under Fedora 16, but the code is generic enough that it should work on any linux system (and probably Mac OS X as well) with libmtp 1.1.3, fuse, and libmagic.
Give it a try, and let me know if you find any bugs or other issues.
- J
Hi. This looks great. I tried mtpfs a couple of weeks ago and found it unreliable and buggy.
I'm trying to use this on mac. I installed gcc 4.7 since xcode command line tools ship with gcc 4.2 which doesn't support C++11.
However I still get this when I run make:
Code:
Making all in src
g++ -DPACKAGE_NAME=\"jmtpfs\" -DPACKAGE_TARNAME=\"jmtpfs\" -DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"jmtpfs\ 1.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"jmtpfs\" -DVERSION=\"1.0\" -DHAVE_LIBMAGIC=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_MAGIC_H=1 -I. -framework IOKit -I/usr/local/Cellar/libmtp/1.1.2/include -I/usr/local/Cellar/libusb-compat/0.1.3/include -D__DARWIN_64_BIT_INO_T=1 -D__FreeBSD__=10 -D_FILE_OFFSET_BITS=64 -I/usr/local/include/osxfuse/fuse -g -O2 -std=c++0x -MT jmtpfs-jmtpfs.o -MD -MP -MF .deps/jmtpfs-jmtpfs.Tpo -c -o jmtpfs-jmtpfs.o `test -f 'jmtpfs.cpp' || echo './'`jmtpfs.cpp
cc1plus: error: unrecognized command line option "-std=c++0x"
make[1]: *** [jmtpfs-jmtpfs.o] Error 1
make: *** [all-recursive] Error 1
Any ideas?
---------- Post added at 09:51 PM ---------- Previous post was at 09:34 PM ----------
Ok nevermind that. I had a symlink problem.
I still couldn't compile though:
Code:
jmtpfs.cpp:411:62: error: macro "fuse_main" passed 4 arguments, but takes just 3
jmtpfs.cpp: In function 'int main(int, char**)':
jmtpfs.cpp:411:15: error: 'fuse_main' was not declared in this scope
Hi,
I tested on gentoo x64, it worked very well.
Mounted my galaxy nexus as normal user, showed in nautilus as a drive. Copied some flac files to it, so far so good.
Thanks and please keep this going, since mtpfs didn't work for me either.
OSX build
With the patch below I got jmtpfs to build under Lion using libmtp, fuse4x, gcc46 (or gcc47), and file (libmagic) installed via macports. I'll include the patch in my next release.
There is still one weird issue though. If jmtpfs is run without the foreground (-f) option, you just get i/o errors when trying to access the device. It looks like something in the way fuse4x is backgrounding the process is messing up libmtp. But with -f it seems to work fine.
Index: src/jmtpfs.cpp
===================================================================
--- src/jmtpfs.cpp (revision 5445)
+++ src/jmtpfs.cpp (working copy)
@@ -22,11 +22,10 @@
#include "ConnectedMtpDevices.h"
#include "mtpFilesystemErrors.h"
#include "Mutex.h"
+#include "FuseHeader.h"
#include <MtpRoot.h>
#include <iostream>
-#include <fuse.h>
-#include <fuse_opt.h>
#include <cstddef>
#include <errno.h>
#include <sstream>
Index: src/MtpNode.h
===================================================================
--- src/MtpNode.h (revision 5445)
+++ src/MtpNode.h (working copy)
@@ -25,7 +25,7 @@
#include "MtpMetadataCache.h"
#include "MtpFilesystemPath.h"
#include "MtpDevice.h"
-#include <fuse.h>
+#include "FuseHeader.h"
#include <time.h>
#include <vector>
#include <string>
Index: src/FuseHeader.h
===================================================================
--- src/FuseHeader.h (revision 0)
+++ src/FuseHeader.h (revision 5447)
@@ -0,0 +1,30 @@
+/*
+ * FuseHeader.h
+ *
+ * Author: Jason Ferrara
+ *
+ * This software is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * version 3 as published by the Free Software Foundation.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02111-1301, USA.
+ * [email protected]
+ */
+
+#ifndef FUSEHEADER_H_
+#define FUSEHEADER_H_
+
+#define FUSE_USE_VERSION 26
+#include <fuse.h>
+#include <fuse_opt.h>
+
+
+#endif /* FUSEHEADER_H_ */
Index: src/MtpLocalFileCopy.cpp
===================================================================
--- src/MtpLocalFileCopy.cpp (revision 5445)
+++ src/MtpLocalFileCopy.cpp (working copy)
@@ -22,6 +22,7 @@
#include "mtpFilesystemErrors.h"
#include <sys/stat.h>
#include <iostream>
+#include <unistd.h>
MtpLocalFileCopy::MtpLocalFileCopy(MtpDevice& device, uint32_t id) :
m_device(device), m_remoteId(id), m_needWriteBack(false)
I released a version that builds and runs correctly under Mac OS X.
If you follow the link in my first post you'll now see a link to download the new version at the top of the blog post.
J F said:
I released a version that builds and runs correctly under Mac OS X.
If you follow the link in my first post you'll now see a link to download the new version at the top of the blog post.
Click to expand...
Click to collapse
Awesome! I didn't expect such a quick response. I got it working with gcc 4.7 and fuse4x installed using homebrew. I still can't copy/move anything due to permission errors. I tried running with sudo but it wouldn't mount at all. I also caught a couple of crashes: http://pastebin.com/JFgc0n5s http://pastebin.com/1d8FgvVX
Great work!
I'll try it on Archlinux 64 as soon as I get home
New release 0.4 with improved Mac OS X compatibility. Follow the link in my first post.
Apparently if you don't lie to the Finder and tell it MTP supports chmod and utime, the Finder throws a fit.
I'm also using the user that started jmtpfs for the uid and gid for the files. This fixes the permissions problems in OS X. And I report the combined free space of all the storage devices as the free space of the mount point. If I report 0 (which is the truth, since the mount point is read only and only contains directory entries for the storage devices, and its each subdirectory of the mount point which is read/write and has its own free space) then the finder assumes there is no free space in any directory under the mount point and refused to copy over files.
J F said:
New release 0.4 with improved Mac OS X compatibility. Follow the link in my first post.
Apparently if you don't lie to the Finder and tell it MTP supports chmod and utime, the Finder throws a fit.
I'm also using the user that started jmtpfs for the uid and gid for the files. This fixes the permissions problems in OS X. And I report the combined free space of all the storage devices as the free space of the mount point. If I report 0 (which is the truth, since the mount point is read only and only contains directory entries for the storage devices, and its each subdirectory of the mount point which is read/write and has its own free space) then the finder assumes there is no free space in any directory under the mount point and refused to copy over files.
Click to expand...
Click to collapse
0.4 compiled with the addition of "#include <unistd.h>" to jmtpfs.cpp and it worked! I was able to send/receive files! Thanks a lot for your efforts. At last we have a viable alternative to Android File Transfer.
Here is a little toturial for less techsavvy Mac owners:
1. Get Xcode from App Store if you haven't already. Open it and go to Preferences>Downloads and install "Command Line Tools".
2. Install homebrew
3. In terminal, run "brew doctor" to check for any issues. Then run "brew update && brew upgrade" to get the latest database.
4. Run this to get gcc 4.7 with C++ support:
Code:
brew install https://raw.github.com/Homebrew/homebrew-dupes/master/gcc.rb
5. Run "brew install fuse4x libmtp libmagic".
6. Run the following to install the fuse kernel extentions:
Code:
sudo cp -rfX /usr/local/Cellar/fuse4x-kext/0.9.0/Library/Extensions/fuse4x.kext /Library/Extensions && sudo chmod +s /Library/Extensions/fuse4x.kext/Support/load_fuse4x
7. Now you should have all the pre requisites installed. Download (fixed) jmtpfs from here and extract it.
8. cd to the extracted directory and run:
Code:
CXX=g++-4.7 CXXFLAGS="-D FUSE_USE_VERSION=25" ./configure --prefix=/usr/local/Cellar/jmptfs/0.4 && make && make install && brew link jmptfs
9. Run "mkdir ~/Android" to create a directory in your homefolder.
10. Finally, run "jmtpfs ~/Android". At this point, you should see a mountpoint called "fuse4x volume 0 jmtpfs" in your home directory, which you can treat as any external harddrive.
This is very interesting, but I can't seem to get it to work on Ubuntu Precise 12.04.
This is what I get on the "make" command:
[email protected]:~/Downloads/jmtpfs$ make
Making all in src
make[1]: Entering directory `/home/betto/Downloads/jmtpfs/src'
g++ -g -O2 -std=c++0x -lmagic -o jmtpfs jmtpfs-jmtpfs.o jmtpfs-MtpDevice.o jmtpfs-ConnectedMtpDevices.o jmtpfs-Mutex.o jmtpfs-MtpFilesystemPath.o jmtpfs-MtpMetadataCache.o jmtpfs-MtpNode.o jmtpfs-MtpRoot.o jmtpfs-MtpLibLock.o jmtpfs-MtpStorage.o jmtpfs-MtpFolder.o jmtpfs-MtpFile.o jmtpfs-TemporaryFile.o jmtpfs-MtpLocalFileCopy.o -L/usr/local/lib -lmtp -lusb -pthread -lfuse -lrt -ldl
jmtpfs-MtpDevice.o: In function `MtpDevice':
/home/betto/Downloads/jmtpfs/src/MtpDevice.cpp:69: undefined reference to `magic_open'
/home/betto/Downloads/jmtpfs/src/MtpDevice.cpp:72: undefined reference to `magic_load'
/home/betto/Downloads/jmtpfs/src/MtpDevice.cpp:73: undefined reference to `magic_error'
jmtpfs-MtpDevice.o: In function `MtpDevice::SendFile(LIBMTP_file_struct*, int)':
/home/betto/Downloads/jmtpfs/src/MtpDevice.cpp:242: undefined reference to `magic_buffer'
collect2: ld returned 1 exit status
make[1]: *** [jmtpfs] Error 1
make[1]: Leaving directory `/home/betto/Downloads/jmtpfs/src'
make: *** [all-recursive] Error 1
Click to expand...
Click to collapse
I've installed the libmagic-dev package(or something like that. What are those undefined references? Am I missing some packages??
Hey, i have now w7, pls support for me.
Sent from my Galaxy Nexus using Tapatalk 2
Rimher said:
This is very interesting, but I can't seem to get it to work on Ubuntu Precise 12.04.
This is what I get on the "make" command:
I've installed the libmagic-dev package(or something like that. What are those undefined references? Am I missing some packages??
Click to expand...
Click to collapse
It looks like maybe you ran configure, installed libmagic-dev, and then ran make without rerunning configure.
Do "make distclean;./configure" and make sure configure doesn't report any errors. Then try make again.
If things go right at the final link command there should be a -lmagic at the end of the command line. The -lmagic you see near the beginning of the command line is because of a mistake I made in configure.ac (the LDFLAGS="$LDFLAGS -lmagic" line shouldn't be there), but it has no effect because it comes before the object files that need it.
J F said:
It looks like maybe you ran configure, installed libmagic-dev, and then ran make without rerunning configure.
Do "make distclean;./configure" and make sure configure doesn't report any errors. Then try make again.
If things go right at the final link command there should be a -lmagic at the end of the command line. The -lmagic you see near the beginning of the command line is because of a mistake I made in configure.ac (the LDFLAGS="$LDFLAGS -lmagic" line shouldn't be there), but it has no effect because it comes before the object files that need it.
Click to expand...
Click to collapse
Seems to work correctly now! Thanks a lot =)
The weird thing is that some folders that are available into my Android are not visible through the file system. How's that possible?
Ubuntu 12
Hey OP,
When I run the ./configure command I get this output
:/home/jd/Downloads/jmtpfs-0.3# ./configure
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for g++... no
checking for c++... no
checking for gpp... no
checking for aCC... no
checking for CC... no
checking for cxx... no
checking for cc++... no
checking for cl.exe... no
checking for FCC... no
checking for KCC... no
checking for RCC... no
checking for xlC_r... no
checking for xlC... no
checking whether the C++ compiler works... no
configure: error: in `/home/jd/Downloads/jmtpfs-0.3':
configure: error: C++ compiler cannot create executables
See `config.log' for more details
After this when I try make and make install it says
make: *** No targets specified and no makefile found. Stop.
I also tried the latest jmtpfs package too with the same results, what am I doing wrong?
Is this because of the compiler errors above? Any help would really be great. I use Airdroid normally but I would love to try your method. Thank you.
You have to install g++
sudo apt-get install g++
I installed libmagic-dev, autoconf and automake. Before running ./configure, I ran autoreconf, and that also seemed to fix it.
You can do most operations much quicker than with mtpfs, but it's still silly-slow to do something like 'tree'. MTP really sucks in some use-cases. DON'T think of it as a filesystem!
jangutter said:
I installed libmagic-dev, autoconf and automake. Before running ./configure, I ran autoreconf, and that also seemed to fix it.
You can do most operations much quicker than with mtpfs, but it's still silly-slow to do something like 'tree'. MTP really sucks in some use-cases. DON'T think of it as a filesystem!
Click to expand...
Click to collapse
I agree. It's way slower than UMS. Granted, on mac, google's own Android File Transfer app works way faster than jmtpfs or mtpfs (it's very buggy and unreliable though)
Hey Rimher,
Thanks for that I installed g++
No when I try to run through the ./configure command I get this
checking for FUSE... no
configure: error: Package requirements (fuse >= 2.6) were not met:
No package 'fuse' found
Any ideas?
jd1001 said:
Hey Rimher,
Thanks for that I installed g++
No when I try to run through the ./configure command I get this
checking for FUSE... no
configure: error: Package requirements (fuse >= 2.6) were not met:
No package 'fuse' found
Any ideas?
Click to expand...
Click to collapse
it's pretty self explanatory. You need to install fuse, as mentioned in OP.
jd1001 said:
Hey Rimher,
Thanks for that I installed g++
No when I try to run through the ./configure command I get this
checking for FUSE... no
configure: error: Package requirements (fuse >= 2.6) were not met:
No package 'fuse' found
Any ideas?
Click to expand...
Click to collapse
sudo apt-get install libfuse-dev
sudo apt-get install libmagic-dev
you have to install a bunch of libraries, not sure if those two are enough, try it

Building AOSP 4.2: keystore_get.h: No such file or directory

Trying to compile AOSP 4.2 for the Galaxy Nexus. I can compile 4.1.2 just fine, but with 4.2 Im getting errors.
Code:
external/wpa_supplicant_8/hostapd/src/crypto/tls_openssl.c:49:35: fatal error: keystore/keystore_get.h: No such file or directory
compilation terminated.
Any ideas? This is on a fully updated Archlinux box.
Either you forgot to get the proprietary files from the device, or you just need to remove it from the makefile. Not at my pc atm, so can't look at it.
Sent from my Galaxy Nexus using xda premium
Untouchab1e said:
Trying to compile AOSP 4.2 for the Galaxy Nexus. I can compile 4.1.2 just fine, but with 4.2 Im getting errors.
Code:
external/wpa_supplicant_8/hostapd/src/crypto/tls_openssl.c:49:35: fatal error: keystore/keystore_get.h: No such file or directory
compilation terminated.
Any ideas? This is on a fully updated Archlinux box.
Click to expand...
Click to collapse
Arch Linux user here. I don't think you can build with python 3 yet. Not sure if that commit went in for JOP40C.
Still, what branch/tag are you building for? Did you merge 4.2 on top of 4.1.2 or they're on a different folder?
Sent from my i9250
bk201doesntexist said:
Arch Linux user here. I don't think you can build with python 3 yet. Not sure if that commit went in for JOP40C.
Still, what branch/tag are you building for? Did you merge 4.2 on top of 4.1.2 or they're on a different folder?
Sent from my i9250
Click to expand...
Click to collapse
I found this page googling , after geting the sae error. i am also on a fully updated arch machine(archbang to be exact). I have already configured my machine to use python 2.
Code:
[[email protected] ~]$ python -V
Python 2.7.3
This is my first attempt at compiling the android source. I am however fairly competent with android in general and have coded before in C. As it is my first attempt it was a fresh "repo sync".
Code:
[[email protected] firstTry]$ make -j3
============================================
PLATFORM_VERSION_CODENAME=AOSP
PLATFORM_VERSION=4.2.42.42.42
TARGET_PRODUCT=full_toro
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.6.6-1-ARCH-x86_64-with-glibc2.2.5
HOST_BUILD_TYPE=release
BUILD_ID=JB_MR1
OUT_DIR=out
============================================
figured this wuld be more valuable than just the branch/tag. Thanks in advance for the help
I resolved the issue. Archlinux is not to blame. I was building the master branch instead of 4.2. I noticed a commit that changes how the keystore header file is included and it breaks the build.. for me at least. Checked out the 4.2r1 branch and it compiled right away
Sent from my HTC One S using Tapatalk 2
sunjay118 said:
I found this page googling , after geting the sae error. i am also on a fully updated arch machine(archbang to be exact). I have already configured my machine to use python 2.
Code:
[[email protected] ~]$ python -V
Python 2.7.3
This is my first attempt at compiling the android source. I am however fairly competent with android in general and have coded before in C. As it is my first attempt it was a fresh "repo sync".
Code:
[[email protected] firstTry]$ make -j3
============================================
PLATFORM_VERSION_CODENAME=AOSP
PLATFORM_VERSION=4.2.42.42.42
TARGET_PRODUCT=full_toro
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.6.6-1-ARCH-x86_64-with-glibc2.2.5
HOST_BUILD_TYPE=release
BUILD_ID=JB_MR1
OUT_DIR=out
============================================
figured this wuld be more valuable than just the branch/tag. Thanks in advance for the help
Click to expand...
Click to collapse
You should probably change branches, like Untouchab1e did.
Untouchab1e said:
I resolved the issue. Archlinux is not to blame. I was building the master branch instead of 4.2. I noticed a commit that changes how the keystore header file is included and it breaks the build.. for me at least. Checked out the 4.2r1 branch and it compiled right away
Sent from my HTC One S using Tapatalk 2
Click to expand...
Click to collapse
Yeah, i figured that should be it. Most people don't want to build from the master branch. Glad you solved it.
Sent from my i9250
Thanks for getting back to me so quickly. I tried to follow your suggestion and it didnt pan out. As I said I am new to android development(and git and repo) so I assume it was a stupid mistake on my part. I triedto use repo to in the same directory i was using before:
Code:
[[email protected] firstTry]$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.2_r1
remote: Counting objects: 310, done
remote: Finding sources: 100% (3/3)
remote: Getting sizes: 100% (1/1)
remote: Total 3 (delta 1), reused 3 (delta 1)
Unpacking objects: 100% (3/3), done.
From https://android.googlesource.com/platform/manifest
5a09f80..fbb30a8 tradefed -> origin/tradefed
.repo/manifests/: discarding 1 commits
Your identity is: Jason S******* <js********[email protected]>
If you want to change this, please re-run 'repo init' with --config-name
repo initialized in /home/jason/android/firstTry
I then ran envsetup.sh again with no issue.
Then lunch again with no issue.
But when I then tried to compile I got the same error as before. I tried running repo branch and it returned "(no branches)" I was under the impression my repo command before would have added the 4.2_r1 branch. I tried git branch because this page also suggested it(source.android.com/source/version-control.html) it returned "fatal: Not a git repository (or any of the parent directories): .git" I assume its because I never set up anything with git since i undertook this project. I dont really know ow to move forward at this point. Like I said I assume I'm missing something simple. Thanks in advance.

[CLK]Android 4.3.1 (CM10.2) and how to build your own version -

First you can use my source or my roms to build your own rom only say thanks in your own thread.
I like to share my way to compile Android 4.3.1 for the HTC LEO.
First thanks to mark1706, sportsstar89, evervolv team, devs that make CLK possible and tytung.
YOU CAN FIND "MY" CM-10.2 build here: DEV-HOST
Kernel soure and leo files: GITHUB
This "how to build your own Android" will work with a updated 2.6.35 kernel by mark1706. It use some parts of sportsstar89 kernel.
First setup your 64bit Linux.
I use Linux-Mint (the DEBIAN 7 based version)
You have to install Oracle Java 7: http://www.webupd8.org/2012/06/how-to-install-oracle-java-7-in-debian.html
After Java install follow this how to: https://www.techsomnia.net/2012/11/building-android-on-debian-7/
!! BUT do not install OPEN JDK (sudo apt-get install openjdk-6-jdk) !!
And stop at this point: "Now, prepare the repo:"
Next step get adb working: http://bernaerts.dyndns.org/linux/75-debian/280-debian-wheezy-android-tools-adb-fastboot-qtadb
Now we can start to sync the Android source. (based on this
To install Repo:
Make sure you have a bin/ directory in your home directory and that it is included in your path:
Code:
mkdir ~/bin
PATH=~/bin:$PATH
Download the Repo tool and ensure that it is executable:
Code:
curl [URL]http://commondatastorage.googleapis.com/git-repo-downloads/repo[/URL] > ~/bin/repo
chmod a+x ~/bin/repo
After installing Repo, set up your client to access the Android source repository:
Create an empty directory to hold your working files. If you're using MacOS, this has to be on a case-sensitive filesystem. Give it any name you like:
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
Run repo init to bring down the latest version of Repo with all its most recent bug fixes. You must specify a URL for the manifest, which specifies where the various repositories included in the Android source will be placed within your working directory.
Code:
repo init -u git://github.com/CyanogenMod/android.git -b cm-10.2
To pull down the Android source tree to your working directory
Code:
repo sync
We have to load the leo device tree, vendor files and the leo kernel.
Attached you find my local.xml View attachment local_manifests.zip.
Put this file at this place:
Code:
WORKING_DIRECTORY/.repo/local_manifests/...
Now sync again:
Code:
repo sync
Next you have to connect your Leo with running Android and Adb to your PC
We need to download some special files (This will fixed in future)
Go to this folder:
Code:
Working_Directory/device/htc/leo
and run the this script
Code:
sh extract_files.sh
We have to clean the kernel folder:
Go to this folder:
Code:
Working_Directory/kernel/htc/leo
and run this command
Code:
make mrproper
One step more:
Go to this folder: Working_Directory/vendor/cm
and run the this script
Code:
sh get-prebuilts
It is time to start compiling:
Make sure you are in this folder "Working_Directory"
run this commands:
Code:
. build/envsetup.sh
brunch leo
[SIZE=3]** you can use brunch leo -jX too X = numbers of cpu core (or threads) **[/SIZE]
Now wait and you will find your working Android 4.3.1 in this folder:
Working_Directory/out/target/product/leo
Problems with this Android builds:
- auto select GSM network
- mobile data not working well
- switch between wifi and mobile data
- AGPS (GPS works)
You can fix this problems by using files from tytungs NexusHD2 rom.
(AGPS, auto select GSM network)
Auto select GSM network is a telephony_common.jar framework problem.
But there are no source how it was fixed in tytungs rom. Maybe someone find a way to fix it again.
If you like to use 3.x kernel change this in local_manifest.xml:
Code:
<project path="kernel/htc/leo" name="walter79/android_kernel_htc_leo_2.6.35-mark1706-based" remote="github" revision="cm-10.2" />
to
<project path="kernel/htc/leo" name="walter79/android_kernel_htc_leo" remote="github" revision="cm-10.2" />
@walter79
- Can i use your instruction to built Slimroms for HD2??
- How to compile slimroms for HD2??
---------- Post added at 05:24 PM ---------- Previous post was at 05:17 PM ----------
walter79 said:
Auto select GSM network is a telephony_common.jar framework problem.
But there are no source how it was fixed in tytungs rom. Maybe someone find a way to fix it again.
Click to expand...
Click to collapse
You can ask Macs18max. I used telephony_common.jar of Macs18max's compile and it work great with 4.3.1!!
You can use it for slimrom but you need to edit /device/htc/leo/cm.mk. Check working devices for slimrom and you will see what changes are needed.
walter79 said:
You can use it for slimrom but you need to edit /device/htc/leo/cm.mk. Check working devices for slimrom and you will see what changes are needed.
Click to expand...
Click to collapse
Many thannks. I will try i now! I'm beginner so i will learn and learn so much more, i hope you can help me in the next time!
walter79 said:
Problems with this Android builds:
- auto select GSM network
- mobile data not working well
- switch between wifi and mobile data
- AGPS (GPS works)
You can fix this problems by using files from tytungs NexusHD2 rom.
(AGPS, auto select GSM network)
Auto select GSM network is a telephony_common.jar framework problem.
But there are no source how it was fixed in tytungs rom. Maybe someone find a way to fix it again.
If you like to use 3.x kernel change this in local_manifest.xml:
Code:
<project path="kernel/htc/leo" name="walter79/android_kernel_htc_leo_2.6.35-mark1706-based" remote="github" revision="cm-10.2" />
to
<project path="kernel/htc/leo" name="walter79/android_kernel_htc_leo" remote="github" revision="cm-10.2" />
Click to expand...
Click to collapse
I havent tried in 4.3.1 but in 4.2.2 I merge evervolvs telephony-common.jar. It was ril.java.. use meld-diff software to compare everolvs ril.java with your own. and merge required codes.. (Note I also used hardware/ril from evervolv)
big thanks. will check ril.java
Nice thread @walter79 !
I was wondering wether you ever had a similar error:
Code:
target thumb C: libhardware_legacy <= hardware/libhardware_legacy/power/power.c
target thumb C: libhardware_legacy <= hardware/libhardware_legacy/uevent/uevent.c
arm-linux-androideabi-gcc: error: ": No such file or directory
make: *** [/home/adam/android/pa43/out/target/product/leo/obj/SHARED_LIBRARIES/libhardware_legacy_intermediates/power/power.o] Error 1
make: *** Waiting for unfinished jobs....
arm-linux-androideabi-gcc: error: ": No such file or directory
make: *** [/home/adam/android/pa43/out/target/product/leo/obj/SHARED_LIBRARIES/libhardware_legacy_intermediates/uevent/uevent.o] Error 1
It has been bugging me for a week and I cannot find a solution... Do you have any idea about it? (I'm building PA 4.3)
Maybe this help try the carbon rom version.
/device/htc/qsd8k-common/BordConfigCommon.mk
Code:
# only for cyanogenmod
TARGET_KERNEL_CUSTOM_TOOLCHAIN := arm-eabi-4.4.3
# only for carbon rom
# TARGET_KERNEL_CUSTOM_TOOLCHAIN := arm-eabi-4.4.3/bin/arm-eabi-
walter79 said:
Maybe this help try the carbon rom version.
/device/htc/qsd8k-common/BordConfigCommon.mk
Code:
# only for cyanogenmod
TARGET_KERNEL_CUSTOM_TOOLCHAIN := arm-eabi-4.4.3
# only for carbon rom
# TARGET_KERNEL_CUSTOM_TOOLCHAIN := arm-eabi-4.4.3/bin/arm-eabi-
Click to expand...
Click to collapse
Thanks! Unfortunately, it's still the same. I tried it with nearly all possible toolchains...
NxStep said:
Nice thread @walter79 !
I was wondering wether you ever had a similar error:
Code:
target thumb C: libhardware_legacy <= hardware/libhardware_legacy/power/power.c
arm-linux-androideabi-gcc: error: ": No such file or directory
It has been bugging me for a week and I cannot find a solution... Do you have any idea about it? (I'm building PA 4.3)[/QUOTE]
i'd open hardware/libhardware_legacy/power/power.c to find out if any dependancy is unmet (any missing file). i've never compiled a rom myself (hoping soon i will) but for the error you're getting (i'm not sure if it's from toolchain or because of missing toolchain), maybe see if the toolchain path is hardcoded somewhere and try to change it:confused:
Click to expand...
Click to collapse
NxStep said:
Nice thread @walter79 !
I was wondering wether you ever had a similar error:
Code:
target thumb C: libhardware_legacy <= hardware/libhardware_legacy/power/power.c
target thumb C: libhardware_legacy <= hardware/libhardware_legacy/uevent/uevent.c
arm-linux-androideabi-gcc: error: ": No such file or directory
make: *** [/home/adam/android/pa43/out/target/product/leo/obj/SHARED_LIBRARIES/libhardware_legacy_intermediates/power/power.o] Error 1
make: *** Waiting for unfinished jobs....
arm-linux-androideabi-gcc: error: ": No such file or directory
make: *** [/home/adam/android/pa43/out/target/product/leo/obj/SHARED_LIBRARIES/libhardware_legacy_intermediates/uevent/uevent.o] Error 1
It has been bugging me for a week and I cannot find a solution... Do you have any idea about it? (I'm building PA 4.3)
Click to expand...
Click to collapse
Check you local.xml
I used wrong repo for toolchain. Replace it
Code:
<!-- Toolchain -->
<project path="prebuilts/gcc/linux-x86/arm" name="walter79/toolchains" remote="github" revision="master" />
I will upload later a new local.xml
mistake since two days
since yesterday i we have a compiling mistake and have no idea for this problem.
Code:
[COLOR="DarkRed"]target thumb C: wpa_supplicant <= external/wpa_supplicant_8/wpa_supplicant/src/drivers/driver_wext.c
target thumb C: wpa_supplicant <= external/wpa_supplicant_8/wpa_supplicant/src/l2_packet/l2_packet_linux.c
external/wpa_supplicant_8/wpa_supplicant/src/drivers/driver_wext.c: In function 'wpa_driver_wext_set_key_ext':
external/wpa_supplicant_8/wpa_supplicant/src/drivers/driver_wext.c:1708:14: error: 'IW_ENCODE_ALG_AES_CMAC' undeclared (first use in this function)
external/wpa_supplicant_8/wpa_supplicant/src/drivers/driver_wext.c:1708:14: note: each undeclared identifier is reported only once for each function it appears in
external/wpa_supplicant_8/wpa_supplicant/src/drivers/driver_wext.c: In function 'wpa_driver_wext_associate':
external/wpa_supplicant_8/wpa_supplicant/src/drivers/driver_wext.c:2135:11: error: 'IW_AUTH_MFP_DISABLED' undeclared (first use in this function)
external/wpa_supplicant_8/wpa_supplicant/src/drivers/driver_wext.c:2138:11: error: 'IW_AUTH_MFP_OPTIONAL' undeclared (first use in this function)
external/wpa_supplicant_8/wpa_supplicant/src/drivers/driver_wext.c:2141:11: error: 'IW_AUTH_MFP_REQUIRED' undeclared (first use in this function)
external/wpa_supplicant_8/wpa_supplicant/src/drivers/driver_wext.c:2144:42: error: 'IW_AUTH_MFP' undeclared (first use in this function)
make: *** [/home/pixelfreak/htc-leo/carbon/4.3/out/target/product/leo/obj/EXECUTABLES/wpa_supplicant_intermediates/src/drivers/driver_wext.o] Error 1
make: *** Waiting for unfinished jobs....[/COLOR]
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
target StaticLib: libc_nomalloc (/home/pixelfreak/htc-leo/carbon/4.3/out/target/product/leo/obj/STATIC_LIBRARIES/libc_nomalloc_intermediates/libc_nomalloc.a)
[email protected] ~/htc-leo/carbon/4.3 $
pixelfreak
Because now we have ION Kernel, why dont you guys compile a Rom that use ION????
re
aazzam16661 said:
Because now we have ION Kernel, why dont you guys compile a Rom that use ION????
Click to expand...
Click to collapse
the ion system not work 100%... we have test the ion and we go back to Linux kernel version: 2.6.35.14....
pixelfreak
-pixelfreak- said:
the ion system not work 100%... we have test the ion and we go back to Linux kernel version: 2.6.35.14....
pixelfreak
Click to expand...
Click to collapse
There is no ION for HD2 2.6 kernel, its only available in 3.0 kernel
and what do you mean by ion system not work 100%
re
aazzam16661 said:
There is no ION for HD2 2.6 kernel, its only available in 3.0 kernel
and what do you mean by ion system not work 100%
Click to expand...
Click to collapse
no we have test the 3.xx kernel with ion and this not work. so we go back to 2.6
pixelfreak
aazzam16661 said:
Because now we have ION Kernel, why dont you guys compile a Rom that use ION????
Click to expand...
Click to collapse
3.x kernel does not support working bluetooth yet. Display did not work with ion yet.
If you have working display for ion you can tell how to enable it.
walter79 said:
Display did not work with ion yet.
Click to expand...
Click to collapse
And how i'm i using Sense 5 Right Now on my HD2.....It Use ION man...The ION kernel for HD2 Was created for The Sense 5
And yes, the display works
OR, your taking about cm10.2 build have display not working????
walter79 said:
3.x kernel does not support working bluetooth yet. Display did not work with ion yet.
If you have working display for ion you can tell how to enable it.
Click to expand...
Click to collapse
I think more and more people use Bluetooth...but want more smooth....
so i also suggest Kernel 3.0 and it support NativeSD better!
Thanks!

Issues building CM13 recovery

I'm trying to port CM13 over to this awesome device, and I am having some trouble. The porting guide on the CM wiki says that a kernel binary should have been created when I run mkvendor.sh on a boot image (which I extracted from a recent CM nightly .zip). However, it has not. Here's the output I obtained from mkvendor.sh:
Code:
[email protected]:~/android/system$ ./build/tools/device/mkvendor.sh amazon jem ~/Downloads/boot.img
Arguments: amazon jem /home/chris/Downloads/boot.img
Output will be in /home/chris/android/system/device/amazon/jem
unpackbootimg: error while loading shared libraries: libc++.so: cannot open shared object file: No such file or directory
gzip: ../boot.img-ramdisk.gz: No such file or directory
cpio: premature end of archive
cat: /tmp/chris/bootimg/boot.img-base: No such file or directory
cat: /tmp/chris/bootimg/boot.img-cmdline: No such file or directory
cat: /tmp/chris/bootimg/boot.img-pagesize: No such file or directory
cp: cannot stat ‘/tmp/chris/bootimg/boot.img-zImage’: No such file or directory
Creating initial git repository.
~/android/system/device/amazon/jem ~/android/system
Initialized empty Git repository in /home/chris/android/system/device/amazon/jem/.git/
[master (root-commit) cc6cf31] mkvendor.sh: Initial commit of jem
7 files changed, 93 insertions(+)
create mode 100644 AndroidBoard.mk
create mode 100644 AndroidProducts.mk
create mode 100644 BoardConfig.mk
create mode 100644 cm.mk
create mode 100644 device_jem.mk
create mode 100644 recovery.fstab
create mode 100644 system.prop
~/android/system
Done!
Use the following command to set up your build environment:
lunch cm_jem-eng
[email protected]:~/android/system$
I initially had the 'unpackbootimg not found.' message when running mkvendor.sh, and the fix in the CM wiki's porting guide did not help, so I copied all the binaries in ~/android/system/out/host/linux-x86/bin to ~/bin as directed in this XDA developers post (and while that post addresses building ClockWorkMod specifically, I felt that the instructions also applied to CM building). After trying that, the 'unpackbootimg' message disappeared, and mkvendor.sh produced the output I included earlier.
Additionally, when I try to run lunch cm_jem-eng or lunch cm_jem-userdebug (after adding cm_jem-userdebug to the lunch menu), I get this output:
Code:
[email protected]:~/android/system$ lunch cm_jem-userdebug
Trying dependencies-only mode on a non-existing device tree?
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=6.0
CM_VERSION=13.0-20151203-UNOFFICIAL-jem
TARGET_PRODUCT=cm_jem
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=cortex-a7
TARGET_2ND_ARCH=
TARGET_2ND_ARCH_VARIANT=
TARGET_2ND_CPU_VARIANT=
HOST_ARCH=x86_64
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.2.0-19-generic-x86_64-with-Ubuntu-15.10-wily
HOST_BUILD_TYPE=release
BUILD_ID=MDB08M
OUT_DIR=/home/chris/android/system/out
============================================
[email protected]:~/android/system$
I'm not exactly sure what I'm doing wrong, and I think I might need to pull down the device-specific code for CM 12.1 from CM's GitHub. Any ideas? Thanks in advance.
Hey! , glad to see your trying this! i've managed to get this up and going a while back, i can get a successful build but its not always that easy, as mine will bootloop. but ive gotten passed alot of the errors that your possibly facing you can check them out here https://github.com/BuQQzz?tab=activity
hit me up on hangouts if you want to team up on this ,much faster communication ! Hangouts: [email protected]
BuQQzz said:
Hey! , glad to see your trying this! i've managed to get this up and going a while back, i can get a successful build but its not always that easy, as mine will bootloop. but ive gotten passed alot of the errors that your possibly facing you can check them out here https://github.com/BuQQzz?tab=activity
hit me up on hangouts if you want to team up on this ,much faster communication ! Hangouts: [email protected]
Click to expand...
Click to collapse
Thanks! I'll definitely message you on hangouts, and I'll compile a build or two soon to see if it works.

Categories

Resources