Here is example of what i have done with codenameandroid source.
First thanks to Trojan38 for helping with this.
I created folder CNA in my home folder.
repo init -u https://github.com/CNA/android_manifest.git -b jellybean
repo sync
After repo is synced i copied local_manifest.xml from cm10 to include galaxysmtd into source three.
This file can be found in .repo folder.When u open you repo folder you have to enable Show hidden files.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_samsung_galaxysmtd" path="device/samsung/galaxysmtd" remote="github" revision="jellybean" />
<project name="CyanogenMod/android_packages_apps_SamsungServiceMode" path="packages/apps/SamsungServiceMode" remote="github" revision="jellybean" />
<project name="CyanogenMod/android_device_samsung_aries-common" path="device/samsung/aries-common" remote="github" revision="jellybean" />
<project name="CyanogenMod/android_kernel_samsung_aries" path="kernel/samsung/aries" remote="github" revision="jellybean" />
<project name="CyanogenMod/android_hardware_samsung" path="hardware/samsung" remote="github" revision="jellybean" />
</manifest>
Also you have to copy these 2 folders from cm10 repo:
/vendor/samsung/aries-common
/vendor/samsung/galaxysmtd
Then go to folder /vendor/cna
Open file vendorsetup.sh
Add lunch combo for galaxysmtd like on code bellow:
Code:
add_lunch_combo cna_crespo-userdebug
add_lunch_combo cna_crespo4g-userdebug
add_lunch_combo cna_grouper-userdebug
add_lunch_combo cna_maguro-userdebug
add_lunch_combo cna_stingray-userdebug
add_lunch_combo cna_stingray_cdma-userdebug
add_lunch_combo cna_toro-userdebug
add_lunch_combo cna_toroplus-userdebug
add_lunch_combo cna_umts_everest-userdebug
add_lunch_combo cna_wingray-userdebug
add_lunch_combo cna_d2att-userdebug
add_lunch_combo cna_d2spr-userdebug
add_lunch_combo cna_d2tmo-userdebug
add_lunch_combo cna_d2usc-userdebug
add_lunch_combo cna_d2vzw-userdebug
add_lunch_combo cna_i9300-userdebug
add_lunch_combo cna_galaxysmtd-userdebug
Then go to folder /vendor/cna/products
Create file cna_galaxysmtd.mk
File should look like this
Code:
$(call inherit-product, device/samsung/galaxysmtd/full_galaxysmtd.mk)
# Inherit some common stuff.
$(call inherit-product, vendor/cna/config/common_full_phone.mk)
# Inherit some common stuff.
$(call inherit-product, vendor/cna/config/gsm.mk)
PRODUCT_COPY_FILES += \
vendor/cna/prebuilt/hdpi/bootanimation.zip:system/media/bootanimation.zip
# Release name
PRODUCT_RELEASE_NAME := GT-I9000
PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=GT-I9000 BUILD_FINGERPRINT="samsung/GT-I9000/GT-I9000:2.3.5/GINGERBREAD/XXJVT:user/release-keys" PRIVATE_BUILD_DESC="GT-I9000-user 2.3.5 GINGERBREAD XXJVT release-keys"
PRODUCT_NAME := cna_galaxysmtd
PRODUCT_DEVICE := galaxysmtd
PRODUCT_BRAND := samsung
PRODUCT_MODEL := GT-I9000
PRODUCT_MANUFACTURER := samsung
In that same folder open file AndroidProducts.mk
File should look like this
Code:
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/cna_crespo.mk \
$(LOCAL_DIR)/cna_crespo4g.mk \
$(LOCAL_DIR)/cna_grouper.mk \
$(LOCAL_DIR)/cna_maguro.mk \
$(LOCAL_DIR)/cna_stingray.mk \
$(LOCAL_DIR)/cna_stingray_cdma.mk \
$(LOCAL_DIR)/cna_toro.mk \
$(LOCAL_DIR)/cna_toroplus.mk \
$(LOCAL_DIR)/cna_umts_everest.mk \
$(LOCAL_DIR)/cna_wingray.mk \
$(LOCAL_DIR)/cna_d2att.mk \
$(LOCAL_DIR)/cna_d2spr.mk \
$(LOCAL_DIR)/cna_d2tmo.mk \
$(LOCAL_DIR)/cna_d2usc.mk \
$(LOCAL_DIR)/cna_d2vzw.mk \
$(LOCAL_DIR)/cna_i9300.mk \
$(LOCAL_DIR)/cna_galaxysmtd.mk \
Then do another repo sync.
Then build like this:
. build/envsetup.sh
lunch (choose galaxysmtd)
mka squish
This is how my manifest file looks like.It includes some part of code from CM10.
You can download it from this location.File is default.xml
https://drive.google.com/#folders/0Bw09xjTGhT_HeHF1OVpNYnNwTmM
Want to include something from source into your builds?
For example i want to include DSPManager form CM10 into CNA build.
I will open default.xml file(manifest file) on this location .repo/manifests
Add this line into file
Code:
<project path="packages/apps/DSPManager" name="CyanogenMod/android_packages_apps_DSPManager" remote="github" revision="jellybean" />
Go to folder /build/target/product and open file core.mk
Add DSPManager like in code bellow at beggining of the file.
Code:
PRODUCT_BRAND := generic
PRODUCT_DEVICE := generic
PRODUCT_NAME := core
PRODUCT_PROPERTY_OVERRIDES := \
ro.config.notification_sound=Proxima.ogg \
ro.config.alarm_alert=Cesium.ogg
PRODUCT_PACKAGES := \
ApplicationsProvider \
BackupRestoreConfirmation \
Browser \
Contacts \
ContactsProvider \
DSPManager \
DefaultContainerService \
DownloadProvider \
DownloadProviderUi \
Like this all your builds for all devices will have DSP Manager included.
GUIDES!
Want to build from source?
Want to build CM10 from source.Here it is:
http://forum.xda-developers.com/showthread.php?t=1813924
This is good start for everyone.In link above you have a everything you need to set up your android enviroment.
Things that are not in this guide is:
Do not log on to machine as root.Use account created during install and use sudo commands in terminal.
Place all your work in home folder.
For example this is how i set my build machine.
In my home folder i created folder android.In that folder i create folders:aokp and cm10.
Yes,you can have different repo's on one machine.
Want to build AOKP from source.Here it is:
Create separate folder (for example AOKP).
Go to terminal and navigate to that folder.
Then type:
repo init -u https://github.com/AOKP/platform_manifest.git -b jb-mr1
repo sync
Download files local_manifest.xml and galaxysmtd.mk and folder aries-common from here http://rootaxbox.no-ip.org/malcho/AOKP%20Beast/
Local_manifest.xml goes to .repo folder(you have to enable Show hidden files and folders).
galaxysmtd.mk file goes to vendor/aokp/products
aries -common folder goes to vendor/aokp/overlay
In folder vendor/aokp/products add this to AndroidProducts.mk file.
$(LOCAL_DIR)/galaxysmtd.mk
In folder vendor/aokp add this to vendorsetup.sh file.
add_lunch_combo aokp_galaxysmtd-userdebug
repo sync
. build/envsetup.sh
lunch
choose galaxysmtd
make bacon
ROM wil be in folder /out/target/product/galaxysmtd
Want to build BAKED from source.Here it is:
Create separate folder (for example BAKED).
Go to terminal and navigate to that folder.
Then type:
repo init -u https://github.com/TeamBAKED/platform_manifest.git -b jb
repo sync
. build/envsetup.sh && lunch baked_galaxysmtd-userdebug && mka bacon
TeamBaked Github for tracking changes:
https://github.com/TeamBAKED
Want to build PARANOID from source.Here it is:
Create separate folder (for example paranoid).
Go to terminal and navigate to that folder.
Then type:
repo init -u git://github.com/ParanoidAndroid/manifest.git -b jellybean
Go to folder.On drop menu select menu View and option Show hidden files and folders.
Then folder .repo will appear.Go to folder manifests.
Open file default.xml with gedit.
Erase bolded line(Paranoid preference)
<project path="packages/apps/PackageInstaller" name="CyanogenMod/android_packages_apps_PackageInstaller" />
<project path="packages/apps/ParanoidPreferences" name="android_packages_apps_paranoidpreferences" remote="paranoid" revision="jellybean" />
<project path="packages/apps/ParanoidWallpapers" name="ParanoidAndroid/android_packages_apps_ParanoidWallpapers" />
Go back to folder .repo.
Copy local_manifest.xml from cm10 repo.This needs to be done to sync galaxys files.
repo sync
./rom-build.sh galaxysmtd
ParanoidAndroid github for tracking changes:
https://github.com/ParanoidAndroid
Want to build SLIM from source.Here it is:
Create separate folder (for example slimroms).
Go to terminal and navigate to that folder.
repo init -u git://github.com/SlimRoms/platform_manifest.git -b jb
repo sync
Do initial build for galaxysmtd
. build/envsetup.sh
lunch
choose galaxys i think number 16
make -j4 bacon
Error will appear.
Go to folder
/slimroms/kernel/samsung/ics-ramdisk from terminal
tar zxvf jb_combo.tar.gz
tar zxvf jb_combo_c.tar.gz
tar zxvf jb_combo_v.tar.gz
go to folder
/slimroms/kernel/samsung/samsung-kernel-aries/arch/arm/configs
Open file semaphore_galaxys_defconfig with text editor
type in terminal id enter in file your ID and GID.
Make shure the path is correct to your jbcombo.
CONFIG_INITRAMFS_SOURCE="~/android/slimroms/kernel/samsung/ics-ramdisk/jb_combo_c/"
CONFIG_INITRAMFS_ROOT_UID=1000
CONFIG_INITRAMFS_ROOT_GID=1000
Go back to your root folder slimroms.
. build/envsetup.sh
lunch
choose galaxys i think number 16
make -j4 bacon
SlimRoms github for tracking changes:
https://github.com/SlimRoms
EXAMPLE HOW TO TRACK CHANGES:
All patches and changes for cm10 rom goes to this site:
http://review.cyanogenmod.com/#/q/statuspen,n,z
These patch have status open and goes to review.When file is reviewed and approved it goes to status merged.That means that file is now at this site:
https://github.com/CyanogenMod
All patches and changes for aokp rom goes to this site:
http://gerrit.sudoservers.com/#/q/status:open,n,z
These patch have status open and goes to review.When file is reviewed and approved it goes to status merged.That means that file is now at this site:
https://github.com/AOKP
When u do repo sync you practicaly download all files from github site.
Example of my build script.Script do sync repo's and build.
Code:
cd ~/android/cm10
repo sync
cd ~/android/aokp
repo sync
cd ~/android/cm10
rm -rf ~/android/cm10/out/target/product/galaxysmtd
. build/envsetup.sh && brunch galaxysmtd
cd ~/android/aokp
rm -rf ~/android/aokp/out/target/product/galaxysmtd
. build/envsetup.sh && brunch galaxysmtd
You can run script with bash -x parametar to see output.
bash -x reposyncbulid.sh
CHERRY PICKING GUIDE IN PDF IN ATTACHMENT!
TEST ROMS BUILT FROM SOURCE
DISCONTINUED!!!!
Credits and thanks to:teamkang for source and guide,perka for guide,mialwe,stratosk,DerTeufel1980,lippol94,sixstingsgs,kasper_h,
kosako17,pmos69,prbassplayer,krarvind,aways,droidjam and all others on XDA from which i learned alot!Special thanks to bhu1 and franzyroy!
I love this thread... Thanks!!
only 3 ROMs ?... add more...
i flash 3 roms in a day...that`s nothing...
post cm7, miui, aosp and the other newly added
Give GingerReal a try too. It's great and keeps me coming back.
Yet another variant on the best rom thread! Zzzzz
Insanity cm 014/glitch
ROM, I like darky's rom at froyo time but now at gb time, I prefer either juwe's for performance or tweaky's for features.
Kernel, speedmod for froyo. Talon for gb.Talon's under dev but has been using 1.2kmhz for weeks and vy stable n vy fast.
Sent from my GT-I9000 using XDA Premium App
First I was a big fan of darky's roms, but I just got sick of all the green themes.
The perfect rom for me?
Juwe's smart edition 5.0
As the OP says, It's just great. Fast, Long battery life and looks great
Using it with the semaphore kernel.
I've been testing stock roms for a long time with custom kernels, specially Speedmod or Fugu. Now I'm fully on Cyanogenmod 7 with stock kernel. The stock rom provides stability and standard perfomance, CM7 provides full power over the phone at the cost of some bug or glitches.
I'm also back to stock Ramad JVP deodexed rom.Last night i've flashed Galaxian kernel to see how it works.Had some trouble with bluetooth and GPS butt now it's solved.
Damn,this kernel is fast.I choose default in voltage control(1000Mhz) and applied all tweaks.Phone is flying.
I prefer tweaky's features n apps, juwe's speed n battery life. I am using talon's kernel, its great.
Sent from my GT-I9000 using XDA Premium App
Like many others I tried many custom roms and kernels before concluding that the fastest and most stable with great battery life and speed are brotuck s rom and damian s kernel. On jvp and getting scores of 3500 with quadrant, about 800 higher than any other combination of custom mix and about 2000 points higher than just stock jvp.
Sent from my GT-I9000 using XDA App
I'm missing the speedmod kernel...
I think it's a great kernel, you should try it!
Maybe i will try speedmod why not.I'm returned now to semaphore from galaxian i had a problems with wifi and bluetooth.
Followed your advice; additional questions
Hi Malcho,
I followed your advice and installed EDB 1.2. First impressions are good (but they were good also with F1 Galaxy S2 V6 ....).
A few questions/remarks:
- how do you get 4 days of battery life? Thats about double of what i ever got by hardly using the phone at all.... I'm highly suspicious about this claim and will find out in the next couple of days
- how do i "... remove darky ram script and implemented juwe ram scripts" and what has been the benefit in your experience?
General remark: in my experience the performance of the various Roms (i've tried Stock JVP, F1 Galaxy, EDB with kernels Darky, Speedmod, Galaxian, Fugu) is getting more and more equal in terms of speed and feel. Of course Galaxian seems flying, but running at 1.4 Ghz is foul play in that respect
In my opinion we seem to have come to a point where ROMs have reached their optimum. Whats your opinion?
I turn of wifi and data connections when i don't using it.GPS is allways off.I turn off Auto sync in google account i manually sync contacts and gmail.I turn off back my data in Privacy tab.I use 2G instead off 3G.And i keep my brightness at 10%.Thats it.
If your phone is rooted use root explorer and navigate to folder /etc/init.d.I that folder you have a script under number S98 i think.Remove it.You have to mount that folder as rw.
Then download juwe script and flash it through CWM.You will notice speed of the phone.
I agree with you the roms are in the optimum butt we can except improvements in modems,kernels and other stuffs maybe themes.
I hope that this is the good answer for you.
Hi Malcho, thanks al lot for the quick answer. Now i know what init.d support means in kernels
Regarding battery: i lost 55% in 8 hours, but that is not a surprise considering:
- i have 3G, Wifi, Bluetooth, GPS turned on all the time
- auto sync is off, and is turned on every 4 hours for 5 minutes with the help of Tasker
- 50% of the battery usage is Display on auto-brightness (running time 42 minutes). Auto brightness levels have increased considerably since Gingerbread in my experience,
- 19% of the battery usage in tallk time (22 minutes)
- Wifi is 7%, Android is 7%, Mobile is 6%
So it's display that uses the most power, when i was using Speedmod kernels with lowered brightness, my average battery life was much higher, no wonder. Turning off GPS has never made a difference for me, turning off BT hardly. I do experience larger drains on 3G compared to Wifi.
Plus i have a feeling i need to calibrate the battery , havent done so in +10 ROM/Kernels flashes.
Like in most of linux distribution /etc/init.d is folder for startup scripts..
With your setting yours battery life is ok.As expected.I have a friend how use the same setting as you he says that he can be two days on battery.
Yes you should recalibrate battery.
I recently installed F1 JVP which comes with speedmod-kernel.
Phone went terribly slow and laggy (with lagfix enabled) very soon.
Also I had the Android OS-battery drain issue (speedmod is JVH-based).
So I flashed DarkCore-2.7.3 (since it's based on the JVP-kernel).
Battery-drain is gone, and the phone is fast again.
WRT to AndroidOS-battery-drain-bug, in 2.3.3 only DarkCore and Fugu got it fixed afaik.
In 2.3.4 (JVP+) it seems to be fixed for good. So I'd never use any 2.3.3-based kernel anymore.
Related
After a read the impatience of a lot of people claiming for updates and news builds without checking before that devs got's a life, I decide to start the thread that will explain step by step how to compile CM10 from asn sources for the GSM version of the HTC Wildfire S, that means no love for marvelc.
Excuse me the incoherences and the incomprehensible stuff of my bad english.
Before you start doing nothing you agree that you're going to experiment, and that I'm not the culprit if you lose all of your files on the computer, or if you broke it.
¿Your first build?
1 - You need to download and install an .iso image of an Linux distribution, in this case we're going to use Ubuntu 12.04, so I recommend it, you can donwload from here:
http://www.ubuntu.com/download/desktop
P.D: DON'T USE THE WINDOWS DOWNLOADER
If you don't know how to install the .iso file after downloading I recomment you this tutorial:
http://howtoubuntu.org/how-to-install-ubuntu-12-04-precise-pangolin/
You've already Ubuntu installed and you're ready, so let's start with fun!
2 - We need to install a few packages that are needed to compile, so you must to start Terminal, which is the command line program for Ubuntu, like CMD is on Windows, then type this:
Code:
sudo apt-get install git-core gnupg flex bison gperf libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool g++-multilib lib32z1-dev lib32ncurses5-dev libc6-dev ia32-libs x11proto-core-dev lib32z-dev mingw32 tofrodos python-markdown python python-lunch libxml2-utils xsltproc libx11-dev:i386
This will need about 10 min more or less.
3 - Now we need to dowload and install JDK 6 from Sun Java webpage, and then install it, I recommend to follow this tutorial:
http://www.printandweb.ca/2012/04/manually-install-oracle-jdk-6-for.html
Okay, we got all the libraries that we need to compile the sources, but... Where's the source?
This is the most annoying part of the procces, the code size is about 7 or 8 GB, so if you didn't got the NASA widthband, you might need to be patience, on my computer at 300 kbps it needs about 6 or 7 hours to download all.
Okey, let's stop speaking and start working.
4 - Type this on terminal, this'll download the repo script that you need to manage and get all the proyects that compose Jellybean:
Code:
mkdir ~/bin; curl [url]https://dl-ssl.google.com/dl/googlesource/git-repo/repo[/url] > ~/bin/repo; chmod a+x ~/bin/repo;sudo gedit .bashrc
It'll ask your Ubuntu password (if you got one) and then an text file'll be open, add in the bottom of it this line:
Code:
export PATH=${PATH}:~/bin
5 - Now, we need to create a working directory to place the source and our builds, I recommend to keep a good folder organization, so type this on terminal:
Code:
mkdir -p ~/building/cyanogenmod/jellybean; cd ~/building/cyanogenmod/jellybean
6 - Now we need to specify whith what version of android we're going to work, in this case jellybean so type this:
Code:
PATH=~/bin:$PATH; repo init -u git://github.com/CyanogenMod/android.git -b jellybean
7 - Now there's only one step before start the download of the code, type this:
Code:
gedit .repo/local_manifest.xml
Now an empty file'll appear, you must to copy and paste this inside it:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="cryptomilk"
fetch="git://git.cryptomilk.org/" />
<project name="projects/marvel/kernel_htc_msm7227.git" path="kernel/htc/msm7227" remote="cryptomilk" />
<project name="CyanogenMod/android_device_htc_common" path="device/htc/common" revision="refs/heads/gingerbread" />
<project name="projects/marvel/android_device_htc_msm7x27-recovery.git" path="device/htc/msm7x27-recovery" remote="cryptomilk" />
<project name="projects/marvel/android_device_htc_msm7x27-common.git" path="device/htc/msm7x27-common" remote="cryptomilk" />
<project name="projects/marvel/android_device_htc_marvel-common.git" path="device/htc/marvel-common" remote="cryptomilk" />
<project name="projects/marvel/android_device_htc_marvel.git" path="device/htc/marvel" remote="cryptomilk" />
<project name="projects/marvel/android_vendor_qcom_msm7x27.git" path="vendor/qcom/msm7x27" remote="cryptomilk" />
<project name="projects/marvel/android_vendor_htc_marvel.git" path="vendor/htc/marvel" remote="cryptomilk" />
</manifest>
8 - Now type this on terminal:
Code:
gedit .repo/manifest.xml
Another text file will appear, you should find this line:
Code:
<project path="hardware/qcom/display" name="CyanogenMod/android_hardware_qcom_display" />
And replace for this one:
Code:
<project path="hardware/qcom/display" name="LibertyICS/android_hardware_qcom_display" />
9 - Now type this on terminal:
Code:
repo sync
This'll download all the code, so go out and enjoy the day
¿Building again?
Now I'm sure that you got all the source and wants to build NOW
1 - So let's go, you only need to copy and paste this into a terminal emulator, after going into the folder where we locate the source, in this case it's ~/building/cyanogenmod/jellybean:
Code:
cd ~/building/cyanogenmod/jellybean;repo sync;./vendor/cm/get-prebuilts;cd bionic;git fetch http://review.cyanogenmod.com/CyanogenMod/android_bionic refs/changes/31/14631/1 && git cherry-pick FETCH_HEAD;cd ..;cd hardware/msm7k;git fetch http://review.cyanogenmod.com/CyanogenMod/android_hardware_msm7k refs/changes/58/15058/3 && git cherry-pick FETCH_HEAD;cd ..;cd ..;source build/envsetup.sh; lunch cm_marvel-eng;export USE_CCACHE=1
The lasts line will resync all the changes from upstream, get all prebuilts apps, patch camera and gps fixes on upstream and prepare the source to build for our phone.
2 - Now, we only need to type one line more, and the build might start then:
Code:
make -jx bacon
You should replace the x from -jx for number of cores in your CPU by two, for example if you got an 4 core machine (like me):fingers-crossed: you should put "make -j8 bacon".
3 - Now the build will start, it normally takes one hour and half, so be patience.
When it's finished you get something like this:
Code:
Package complete: /home/oliver/building/cyanogenmod/jellybean/out/target/product/marvel/update-cm-10.0.0-RC0-marvel-UNOFFICIAL-signed.zip
Happy compiling!:laugh:
This is mine!:silly:
This too!
how about windows like using putty? Just like dudeman1996
I respect your work.Thanks
OliverG96 said:
After a read the impatience of a lot of people claiming for updates and news builds without checking before that devs got's a life, I decide to start the thread that will explain step by step how to compile CM10 from asn sources for the GSM version of the HTC Wildfire S, that means no love for marvelc.
Excuse me the incoherences and the incomprehensible stuff of my bad english.
Before you start doing nothing you agree that you're going to experiment, and that I'm not the culprit if you lose all of your files on the computer, or if you broke it.
¿Your first build?
1 - You need to download and install an .iso image of an Linux distribution, in this case we're going to use Ubuntu 12.04, so I recommend it, you can donwload from here:
http://www.ubuntu.com/download/desktop
P.D: DON'T USE THE WINDOWS DOWNLOADER
If you don't know how to install the .iso file after downloading I recomment you this tutorial:
http://howtoubuntu.org/how-to-install-ubuntu-12-04-precise-pangolin/
You've already Ubuntu installed and you're ready, so let's start with fun!
2 - We need to install a few packages that are needed to compile, so you must to start Terminal, which is the command line program for Ubuntu, like CMD is on Windows, then type this:
Code:
sudo apt-get install git-core gnupg flex bison gperf libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool g++-multilib lib32z1-dev lib32ncurses5-dev libc6-dev ia32-libs x11proto-core-dev lib32z-dev mingw32 tofrodos python-markdown python python-lunch libxml2-utils xsltproc libx11-dev:i386
This will need about 10 min more or less.
3 - Now we need to dowload and install JDK 6 from Sun Java webpage:
http://www.oracle.com/technetwork/java/javase/downloads/jdk6-downloads-1637591.html
Select jdk-6u34-linux-i586.bin if you got an x86 machine, or select jdk-6u34-linux-x64.bin if you got an x64 machine.
Then you must to move into the directory where's the bin file you've downloaded using the Terminal, an type this:
Code:
chmod +x jdk-6u34-linux-x64.bin
./jdk-6u34-linux-x64.bin
sudo chown root. -R jdk1.6.0_34/
sudo mv jdk1.6.0_34/ /usr/lib/jvm/
sudo update-alternatives --install "/usr/bin/java" "java" \
"/usr/lib/jvm/jdk1.6.0_34/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" \
"/usr/lib/jvm/jdk1.6.0_34/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" \
"/usr/lib/jvm/jdk1.6.0_34/bin/javaws" 1
sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config javaws
Okay, we got all the libraries that we need to compile the sources, but... Where's the source?
This is the most annoying part of the procces, the code size is about 7 or 8 GB, so if you didn't got the NASA widthband, you might need to be patience, on my computer at 300 kbps it needs about 6 or 7 hours to download all.
Okey, let's stop speaking and start working.
4 - Type this on terminal, this'll download the repo script that you need to manage and get all the proyects that compose Jellybean:
Code:
mkdir ~/bin; curl [url]https://dl-ssl.google.com/dl/googlesource/git-repo/repo[/url] > ~/bin/repo; chmod a+x ~/bin/repo;sudo gedit .bashrc
It'll ask your Ubuntu password (if you got one) and then an text file'll be open, add in the bottom of it this line:
Code:
export PATH=${PATH}:~/bin
5 - Now, we need to create a working directory to place the source and our builds, I recommend to keep a good folder organization, so type this on terminal:
Code:
mkdir -p ~/building/cyanogenmod/jellybean; cd ~/building/cyanogenmod/jellybean
6 - Now we need to specify whith what version of android we're going to work, in this case jellybean so type this:
Code:
PATH=~/bin:$PATH; repo init -u git://github.com/CyanogenMod/android.git -b jellybean
7 - Now there's only one step before start the download of the code, type this:
Code:
gedit .repo/local_manifest.xml
Now an empty file'll appear, you must to copy and paste this inside it:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="cryptomilk"
fetch="git://git.cryptomilk.org/" />
<project name="projects/marvel/kernel_htc_msm7227.git" path="kernel/htc/msm7227" remote="cryptomilk" />
<project name="CyanogenMod/android_device_htc_common" path="device/htc/common" revision="refs/heads/gingerbread" />
<project name="projects/marvel/android_device_htc_msm7x27-recovery.git" path="device/htc/msm7x27-recovery" remote="cryptomilk" />
<project name="projects/marvel/android_device_htc_msm7x27-common.git" path="device/htc/msm7x27-common" remote="cryptomilk" />
<project name="projects/marvel/android_device_htc_marvel-common.git" path="device/htc/marvel-common" remote="cryptomilk" />
<project name="projects/marvel/android_device_htc_marvel.git" path="device/htc/marvel" remote="cryptomilk" />
<project name="projects/marvel/android_vendor_qcom_msm7x27.git" path="vendor/qcom/msm7x27" remote="cryptomilk" />
<project name="projects/marvel/android_vendor_htc_marvel.git" path="vendor/htc/marvel" remote="cryptomilk" />
</manifest>
8 - Now type this on terminal:
Code:
gedit .repo/manifest.xml
Another text file will appear, you should find this line:
Code:
<project path="hardware/qcom/display" name="CyanogenMod/android_hardware_qcom_display" />
And replace for this one:
Code:
<project path="hardware/qcom/display" name="LibertyICS/android_hardware_qcom_display" />
9 - Now type this on terminal:
Code:
repo sync
This'll download all the code, so go out and enjoy the day
¿Building again?
Now I'm sure that you got all the source and wants to build NOW
1 - So let's go, you only need to copy and paste this into a terminal emulator, after going into the folder where we locate the source, in this case it's ~/building/cyanogenmod/jellybean:
Code:
cd ~/building/cyanogenmod/jellybean;repo sync;./vendor/cm/get-prebuilts;cd bionic;git fetch http://review.cyanogenmod.com/CyanogenMod/android_bionic refs/changes/31/14631/1 && git cherry-pick FETCH_HEAD;cd ..;cd hardware/msm7k;git fetch http://review.cyanogenmod.com/CyanogenMod/android_hardware_msm7k refs/changes/58/15058/3 && git cherry-pick FETCH_HEAD;cd ..;cd ..;source build/envsetup.sh; lunch cm_marvel-eng;export USE_CCACHE=1
The lasts line will resync all the changes from upstream, get all prebuilts apps, patch camera and gps fixes on upstream and prepare the source to build for our phone.
2 - Now, we only need to type one line more, and the build might start then:
Code:
make -jx bacon
You should replace the x from -jx for number of cores in your CPU by two, for example if you got an 4 core machine (like me):fingers-crossed: you should put "make -j8 bacon".
3 - Now the build will start, it normally takes one hour and half, so be patience.
When it's finished you get something like this:
Code:
Package complete: /home/oliver/building/cyanogenmod/jellybean/out/target/product/marvel/update-cm-10.0.0-RC0-marvel-UNOFFICIAL-signed.zip
Happy compiling!:laugh:
Click to expand...
Click to collapse
i have already ubuntu installed so its cool.but is this have same all CM10 bugs?or its 100% working rom?
davidang said:
how about windows like using putty? Just like dudeman1996
Click to expand...
Click to collapse
Have no idea of how to set up putty
Enviado desde mi Wildfire S A510e usando Tapatalk 2
crossfire77 said:
i have already ubuntu installed so its cool.but is this have same all CM10 bugs?or its 100% working rom?
Click to expand...
Click to collapse
Ot's like any other cm10 rom, the same issues.
Enviado desde mi Wildfire S A510e usando Tapatalk 2
OliverG96 said:
Ot's like any other cm10 rom, the same issues.
Enviado desde mi Wildfire S A510e usando Tapatalk 2
Click to expand...
Click to collapse
oh thats sad.what meaning of that much hassle? haha thnx.
OliverG96 said:
¿Building again?
Now I'm sure that you got all the source and wants to build NOW
1 - So let's go, you only need to copy and paste this into a terminal emulator, after going into the folder where we locate the source, in this case it's ~/building/cyanogenmod/jellybean:
Code:
cd ~/building/cyanogenmod/jellybean;repo sync;./vendor/cm/get-prebuilts;cd bionic;git fetch http://review.cyanogenmod.com/CyanogenMod/android_bionic refs/changes/31/14631/1 && git cherry-pick FETCH_HEAD;cd ..;cd hardware/msm7k;git fetch http://review.cyanogenmod.com/CyanogenMod/android_hardware_msm7k refs/changes/58/15058/3 && git cherry-pick FETCH_HEAD;cd ..;cd ..;source build/envsetup.sh; lunch cm_marvel-eng;export USE_CCACHE=1
The lasts line will resync all the changes from upstream, get all prebuilts apps, patch camera and gps fixes on upstream and prepare the source to build for our phone.
Click to expand...
Click to collapse
it's all done without single error, but when I put command above into terminal:
firt seems it's all ok,
"Fetching projects: 100% (321/321), done.
bionic/: discarding 1 commits
hardware/msm7k/: discarding 1 commits
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 142 100 142 0 0 223 0 --:--:-- --:--:-- --:--:-- 297
100 310k 100 310k 0 0 270k 0 0:00:01 0:00:01 --:--:-- 270k
Archive: ./vendor/cm/proprietary/Term.apk
inflating: ./vendor/cm/proprietary/lib/armeabi/libjackpal-androidterm4.so
From http://review.cyanogenmod.com/CyanogenMod/android_bionic
* branch refs/changes/31/14631/1 -> FETCH_HEAD
[detached HEAD 6cf80c4] bionic: Add NASTY_PTHREAD_CREATE_HACK
Author: Steve Kondik <[email protected]>
3 files changed, 15 insertions(+)
From http://review.cyanogenmod.com/CyanogenMod/android_hardware_msm7k
* branch refs/changes/58/15058/3 -> FETCH_HEAD
[detached HEAD 9198a41] librpc: Don't mask lower bytes on program version 0x00020002
Author: Ricardo Cerqueira <[email protected]>
1 file changed, 2 insertions(+), 2 deletions(-)
including device/generic/armv7-a-neon/vendorsetup.sh
including device/generic/armv7-a/vendorsetup.sh
including device/htc/marvel/vendorsetup.sh
including device/ti/panda/vendorsetup.sh
including vendor/cm/vendorsetup.sh
including sdk/bash_completion/adb.bash"
and next line error:
build/core/config.mk:348: *** Error: could not find jdk tools.jar, please install JDK6, which you can download from java.sun.com. Stop.
Device marvel not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Repository for marvel not found in the CyanogenMod Github repository list. If this is in error, you may need to manually add it to your local_manifest.xml.
build/core/config.mk:348: *** 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: 'cm_marvel'
** Do you have the right repo manifest?
Click to expand...
Click to collapse
I did everything as U wrote, what I need to do, I want to try this, please ?
thank U,
cheers !
j00k3r said:
it's all done without single error, but when I put command above into terminal:
firt seems it's all ok,
"Fetching projects: 100% (321/321), done.
bionic/: discarding 1 commits
hardware/msm7k/: discarding 1 commits
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 142 100 142 0 0 223 0 --:--:-- --:--:-- --:--:-- 297
100 310k 100 310k 0 0 270k 0 0:00:01 0:00:01 --:--:-- 270k
Archive: ./vendor/cm/proprietary/Term.apk
inflating: ./vendor/cm/proprietary/lib/armeabi/libjackpal-androidterm4.so
From http://review.cyanogenmod.com/CyanogenMod/android_bionic
* branch refs/changes/31/14631/1 -> FETCH_HEAD
[detached HEAD 6cf80c4] bionic: Add NASTY_PTHREAD_CREATE_HACK
Author: Steve Kondik <[email protected]>
3 files changed, 15 insertions(+)
From http://review.cyanogenmod.com/CyanogenMod/android_hardware_msm7k
* branch refs/changes/58/15058/3 -> FETCH_HEAD
[detached HEAD 9198a41] librpc: Don't mask lower bytes on program version 0x00020002
Author: Ricardo Cerqueira <[email protected]>
1 file changed, 2 insertions(+), 2 deletions(-)
including device/generic/armv7-a-neon/vendorsetup.sh
including device/generic/armv7-a/vendorsetup.sh
including device/htc/marvel/vendorsetup.sh
including device/ti/panda/vendorsetup.sh
including vendor/cm/vendorsetup.sh
including sdk/bash_completion/adb.bash"
and next line error:
I did everything as U wrote, what I need to do, I want to try this, please ?
thank U,
cheers !
Click to expand...
Click to collapse
Try to type on terminal:
java -version
And give me the output.
Enviado desde mi Wildfire S A510e usando Tapatalk 2
OliverG96 said:
Try to type on terminal:
java -version
And give me the output.
Enviado desde mi Wildfire S A510e usando Tapatalk 2
Click to expand...
Click to collapse
********@********-System-Product-Name:~$ java -version
The program 'java' can be found in the following packages:
* default-jre
* gcj-4.6-jre-headless
* openjdk-6-jre-headless
* gcj-4.5-jre-headless
* openjdk-7-jre-headless
Try: sudo apt-get install <selected package>
********@********-System-Product-Name:~$
hope it will help, thank U for Your effort.
cheers !
j00k3r said:
********@********-System-Product-Name:~$ java -version
The program 'java' can be found in the following packages:
* default-jre
* gcj-4.6-jre-headless
* openjdk-6-jre-headless
* gcj-4.5-jre-headless
* openjdk-7-jre-headless
Try: sudo apt-get install <selected package>
********@********-System-Product-Name:~$
hope it will help, thank U for Your effort.
cheers !
Click to expand...
Click to collapse
Can you do 3 step of installing jdk again and give me every output that you got?
It's the problem that you haven't got java installed correctly.
Enviado desde mi Wildfire S A510e usando Tapatalk 2
OliverG96 said:
Can you do 3 step of installing jdk again and give me every output that you got?
It's the problem that you haven't got java installed correctly.
Enviado desde mi Wildfire S A510e usando Tapatalk 2
Click to expand...
Click to collapse
it's a huge list so i will not c/p cos it will look like wtf
i put it in .txt so U have it in attachment.
cheers !
j00k3r said:
it's a huge list so i will not c/p cos it will look like wtf
i put it in .txt so U have it in attachment.
cheers !
Click to expand...
Click to collapse
Have no idea of what are you doing vrong, but I've a found a tutorial which I follow a few months ago to install it, so I'll edit the 3 step and add the link for it instead of all the commands.
http://www.printandweb.ca/2012/04/manually-install-oracle-jdk-6-for.html
hey Oliver, what do U think is there any chance that problem is x64 version of ubuntu that i'm using ?
maybe U write commands for x86, i don't know, don't have any other idea...
i intsalled latest version followed tut what U give as U can see:
java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01, mixed mode)
Click to expand...
Click to collapse
cheers !
j00k3r said:
hey Oliver, what do U think is there any chance that problem is x64 version of ubuntu that i'm using ?
maybe U write commands for x86, i don't know, don't have any other idea...
i intsalled latest version followed tut what U give as U can see:
cheers !
Click to expand...
Click to collapse
Are you getting the same issues?
Enviado desde mi Wildfire S A510e usando Tapatalk 2
damn yes.
the main problem now is, hmm, I am very stubborn and will not stop until this **** works ! :laugh:
j00k3r said:
damn yes.
the main problem now is, hmm, I am very stubborn and will not stop until this **** works ! :laugh:
Click to expand...
Click to collapse
The issue you got is this again?
Code:
build/core/config.mk:348: *** Error: could not find jdk tools.jar, please install JDK6, which you can download from java.sun.com. Stop.
Device marvel not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Repository for marvel not found in the CyanogenMod Github repository list. If this is in error, you may need to manually add it to your local_manifest.xml.
build/core/config.mk:348: *** 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: 'cm_marvel'
** Do you have the right repo manifest?
i try every single thing from the start, fresh, and again, yes, that's D error, to bad, no luck for me...
Ubuntu Touch Preview for the SGH-T889 Note II
I am posting this so others that are interested in building Ubuntu Touch for the SGH-T889 can have a better starting point.. As of right now this will not build a booting ROM as it is still a work in progress, but it should build. I have some edititng I need to do to the guide but knot able to do just yet, I will get this done as soon as possible.
Edit: For download link, instructions on how to flash and what is working go to the second post.
Thanks!
Thanks to CyanogenMod, Canonical Ltd, drapalyuk, chasmodo, Gerrett,codeworkx, GhostOfTheNet, mgale88, and a special thanks to my friend DragunKorr. Sorry if I missed anyone, if I find I have I will update the thanks section.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Official Porting guide
How to build
To start with we you should be running Ubuntu 10.04 or higher. You might be able to use another Linux distro, but I have not seen anyone posting they were running a different Linux distro and building for the Preview. You also need to have a android build environment already set up. Now start by getting the additional packages you will need. Open a terminal by holding ctrl+Alt+t and paste the below command into the terminal.
Code:
$ sudo apt-get install git gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386 schedtool
Next you need to get the phablet-tools package.
Code:
$ sudo add-apt-repository ppa:phablet-team/tools
$ sudo apt-get update
$ sudo apt-get install phablet-tools android-tools-adb android-tools-fastboot
Next you need to create a folder to sync your Android source tree too. You can name this folder anything you like. But for the purpose of this guide it will be named UPP (UbuntuPhonePort).
Code:
$ mkdir UPP
Now you need to set up the .repo in your UPP folder. To do this you need to cd to your UPP folder and run the following command in terminal.
Code:
$ phablet-dev-bootstrap UPP
Enter your name and email when pronpted for them then answer yes and press enter. This will set up your repo and start your sync. Be prepared this will take a good while. If you stop for some reason you can resume your sync by using the following command. (You probably will have to)
Code:
$ phablet-dev-bootstrap -c UPP
When your sync is done you need to set up your device tree for this you can either use CyanogenMod repositories on github or you can use my github repositories. I forked all of my repositories straight from CM and have made edits to allow it to compile.
You will have to be in your UPP folder in your file explorer and press ctrl+h to see the .repo folder. You will need to add the following lines to the manifest.xml in the .repo folder by opening the manifest.xml with a text editor. For this guide I am using my repositories but you can easily see how to use any other repositories here. Doing this will let the repositories you use sync if you do a resync of your work tree.
Code:
<project path="device/samsung/t0lte" name="T-Macgnolia/android_device_samsung_t0lte" remote="github" revision="cm-10.1" />
<project path="kernel/samsung/smdk4412" name="T-Macgnolia/android_kernel_samsung_smdk4412" remote="github" revision="cm-10.1" />
<project path="hardware/samsung" name="T-Macgnolia/android_hardware_samsung" remote="github" revision="cm-10.1" />
<project path="device/samsung/smdk4412-common" name="T-Macgnolia/android_device_samsung_smdk4412-common" remote="github" revision="cm-10.1" />
Alternatively you can clone your device repositories. For each folder you need to cd to where the folder needs to go. For example if you was cloning the device folder you would type in the following to get to the correct directory.
Code:
$ cd UPP/device/samsung
Here is the clone commands for all for of my repositories.
Code:
git clone git://github.com/T-Macgnolia/android_device_samsung_t0lte.git -b cm-10.1 t0lte
git clone git://github.com/T-Macgnolia/android_device_samsung_smdk4412-common.git -b cm-10.1 smdk4412-common
git clone git://github.com/T-Macgnolia/android_kernel_samsung_smdk4412.git -b cm-10.1 smdk4412
git clone git://github.com/T-Macgnolia/android_hardware_samsung.git -b cm-10.1 samsung
Last step before building is to flash a CM nightly to your device so you can pull your proprietary files from your device. You can pull them from a stock ROM but stock ROMs do not have all the files where as CM or others source built ROMs will. Because of a problem with the new mali driver r3p1I suggest you use this CM nightly build as it is the only official CM build before the 22nd of Febuary. Now you need to cd to your device folder like so.
Code:
$ cd UPP/device/samsung/t0lte
Now connect your device via USB to your computer, make sure you have ADB Debugging on in settings and that you allow the device to communicate with your computer. Now run the following command.
Code:
$ ./extract-files.sh
Now if you used my repositories you can jump ahead to the bottom of this post for the build commands. If you did not you may want to keep reading..
These changes are per the official guide.
Go to device/samsung/t0lte/rootdir/fstab.smdk4x12 and remove the "nosuid" from the following line.
Code:
/dev/block/mmcblk0p16 /data ext4 noatime,nosuid,nodev,discard,noauto_da_alloc,journal_async_commit,errors=panic
Go to kernel/samsung/smdk4412/arch/arm/configs/ cyanogenmod_t0lte_defconfig and add the following to the file in the "# Userspace binary formats" section of the file at line 750.
Code:
CONFIG_SYSVIPC=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_DEVTMPFS=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
CONFIG_FSNOTIFY=y
CONFIG_SWAP=y
# CONFIG_ANDROID_PARANOID_NETWORK is not set
Go to device/samsung/t0lte/init.smdk4x12.rc and add the following beneath line 185.
Code:
chmod 0666 /sys/class/backlight/panel/brightness
Changes I made to get to build.
In device/samsung/t0lte/t0lte.mk I commited line 50 like below.
Code:
#PRODUCT_PACKAGES += \
GalaxyNote2Settings
Also in device/samsung/t0lte/t0lte.mk removed below line from PRODUCT_COPY_FILES += \
Code:
packages/apps/Nfc/migrate_nfc.txt:system/etc/updatecmds/migrate_nfc.txt \
Remove libandroid_runtime \ from the line 33 of hardware/samsung/exynos/multimedia/openmax/osal/Android.mk.
Last remove lines 2671 and 2674 in device/samsung/t0lte/audio/audio_hw.c. below is what it should look like before and after.
Before:
Code:
// Wideband AMR
ret = str_parms_get_str(parms, "wb_amr", value, sizeof(value));
if (ret >= 0) {
if (csd_wide_voice == NULL) {
ALOGE("dlsym: Error:%s Loading csd_wide_voice", dlerror());
} else {
if (strcmp(value, "on") == 0) {
ALOGE("%s: enabling csd_wide_voice", __func__);
csd_wide_voice(VX_WB_SAMPLING_RATE);
} else {
ALOGE("%s: disabling csd_wide_voice", __func__);
csd_wide_voice(VX_NB_SAMPLING_RATE);
After:
Code:
// Wideband AMR
ret = str_parms_get_str(parms, "wb_amr", value, sizeof(value));
if (ret >= 0) {
if (csd_wide_voice == NULL) {
ALOGE("dlsym: Error:%s Loading csd_wide_voice", dlerror());
} else {
if (strcmp(value, "on") == 0) {
ALOGE("%s: enabling csd_wide_voice", __func__);
} else {
ALOGE("%s: disabling csd_wide_voice", __func__);
Missing Lib Files
This is a list of the missing lib files, where to get them, and where to pit them.
Code:
After pulling proprietary files from my device I went to system/lib of the CM ROM and copied and pasted the following lib files to vendor/samsung/t0lte/proprietary/system/lib of my work tree.
libandroid_runtime.so
libdvm.so
libharfbuzz.so
libhwui.so
libnativehelper.so
libmali.so
libUMP.so
libfimc.so
In system/lib/hw in the CM ROM copied and pasted the following lib files to vendor/samsung/t0lte/proprietary/system/lib/hw of my work tree.
camera.exynos4.so
gps.goldfish.so
In /system/lib/ of a stock ROM copied and pasted the following lib file to vendor/samsung/t0lte/proprietary/system/lib of my work tree.
libfactoryutil.so
In systemlib/egl of the CM ROM copied of and pasted the following lib files to vendor/samsung/t0lte/proprietary/system/lib/egl of my work tree.
libEGL_mali.so
libGLESv1_CM_mali.so
libGLESv2_mali.so
In system/vendor/lib of the CM ROM copied and pasted the following lib files to vendor/samsung/t0lte/proprietary/system/vendor/lib of my work tree.
libpn544_fw.so
mfc_fw.bin
In system/cameradata of the CM ROM copied and pasted the following files to vendor/samsung/t0lte/proprietary/system/cameradata of my work tree.
datapattern_420sp.yuv
datapattern_front_420sp.yuv
In system/bin of the CM ROM copied and pasted the following files to vendor/samsung/t0lte/proprietary/system/bin of myr work tree.
bcm4334.hcd
bcm4334_murata.hcd
bcm4334_semcosh.hcd
How to make to make the compiler use the added lib files. The lines highlighted are the ones I added.
Code:
# Copyright (C) 2013 The CyanogenMod Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
LOCAL_PATH := vendor/samsung/t0lte
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/proprietary/system/bin/at_distributor:system/bin/at_distributor \
$(LOCAL_PATH)/proprietary/system/bin/efsks:system/bin/efsks \
$(LOCAL_PATH)/proprietary/system/bin/gsiff_daemon:system/bin/gsiff_daemon \
$(LOCAL_PATH)/proprietary/system/bin/ks:system/bin/ks \
$(LOCAL_PATH)/proprietary/system/bin/netmgrd:system/bin/netmgrd \
$(LOCAL_PATH)/proprietary/system/bin/qcks:system/bin/qcks \
$(LOCAL_PATH)/proprietary/system/bin/qmiproxy:system/bin/qmiproxy \
$(LOCAL_PATH)/proprietary/system/bin/qmuxd:system/bin/qmuxd \
$(LOCAL_PATH)/proprietary/system/bin/rild:system/bin/rild \
$(LOCAL_PATH)/proprietary/system/bin/sec-ril:system/bin/sec-ril \
$(LOCAL_PATH)/proprietary/system/bin/sensorhubservice:system/bin/sensorhubservice \
$(LOCAL_PATH)/proprietary/system/bin/smdexe:system/bin/smdexe \
$(LOCAL_PATH)/proprietary/system/etc/Diag.cfg:system/etc/Diag.cfg \
$(LOCAL_PATH)/proprietary/system/etc/Diag_zero.cfg:system/etc/Diag_zero.cfg \
$(LOCAL_PATH)/proprietary/system/lib/libakm.so:system/lib/libakm.so \
$(LOCAL_PATH)/proprietary/system/lib/libatparser.so:system/lib/libatparser.so \
$(LOCAL_PATH)/proprietary/system/lib/libcsd-client.so:system/lib/libcsd-client.so \
$(LOCAL_PATH)/proprietary/system/lib/libdiag.so:system/lib/libdiag.so \
$(LOCAL_PATH)/proprietary/system/lib/libdsi_netctrl.so:system/lib/libdsi_netctrl.so \
$(LOCAL_PATH)/proprietary/system/lib/libdsutils.so:system/lib/libdsutils.so \
$(LOCAL_PATH)/proprietary/system/lib/libfactoryutil.so:system/lib/libfactoryutil.so \
$(LOCAL_PATH)/proprietary/system/lib/libgps.so:system/lib/libgps.so \
$(LOCAL_PATH)/proprietary/system/lib/libgps.utils.so:system/lib/libgps.utils.so \
$(LOCAL_PATH)/proprietary/system/lib/libidl.so:system/lib/libidl.so \
$(LOCAL_PATH)/proprietary/system/lib/libloc_adapter.so:system/lib/libloc_adapter.so \
$(LOCAL_PATH)/proprietary/system/lib/libloc_api_v02.so:system/lib/libloc_api_v02.so \
$(LOCAL_PATH)/proprietary/system/lib/libloc_eng.so:system/lib/libloc_eng.so \
$(LOCAL_PATH)/proprietary/system/lib/libnetmgr.so:system/lib/libnetmgr.so \
$(LOCAL_PATH)/proprietary/system/lib/libomission_avoidance.so:system/lib/libomission_avoidance.so \
$(LOCAL_PATH)/proprietary/system/lib/libqcci_legacy.so:system/lib/libqcci_legacy.so \
$(LOCAL_PATH)/proprietary/system/lib/libqdi.so:system/lib/libqdi.so \
$(LOCAL_PATH)/proprietary/system/lib/libqdp.so:system/lib/libqdp.so \
$(LOCAL_PATH)/proprietary/system/lib/libqmi.so:system/lib/libqmi.so \
$(LOCAL_PATH)/proprietary/system/lib/libqmi_cci.so:system/lib/libqmi_cci.so \
$(LOCAL_PATH)/proprietary/system/lib/libqmi_client_qmux.so:system/lib/libqmi_client_qmux.so \
$(LOCAL_PATH)/proprietary/system/lib/libqmi_common_so.so:system/lib/libqmi_common_so.so \
$(LOCAL_PATH)/proprietary/system/lib/libqmi_csi.so:system/lib/libqmi_csi.so \
$(LOCAL_PATH)/proprietary/system/lib/libqmi_encdec.so:system/lib/libqmi_encdec.so \
$(LOCAL_PATH)/proprietary/system/lib/libqmiservices.so:system/lib/libqmiservices.so \
$(LOCAL_PATH)/proprietary/system/lib/libril.so:system/lib/libril.so \
$(LOCAL_PATH)/proprietary/system/lib/libril-qc-qmi-1.so:system/lib/libril-qc-qmi-1.so \
$(LOCAL_PATH)/proprietary/system/lib/libril-qcril-hook-oem.so:system/lib/libril-qcril-hook-oem.so \
$(LOCAL_PATH)/proprietary/system/lib/libsecnativefeature.so:system/lib/libsecnativefeature.so \
$(LOCAL_PATH)/proprietary/system/lib/libsecril-client.so:system/lib/libsecril-client.so \
$(LOCAL_PATH)/proprietary/system/lib/libsensorhubservice.so:system/lib/libsensorhubservice.so \
$(LOCAL_PATH)/proprietary/system/lib/hw/vendor-camera.exynos4.so:system/lib/hw/vendor-camera.exynos4.so \
$(LOCAL_PATH)/proprietary/system/lib/hw/gps.default.so:system/lib/hw/gps.default.so \
$(LOCAL_PATH)/proprietary/system/lib/hw/sensorhubs.smdk4x12.so:system/lib/hw/sensorhubs.smdk4x12.so \
$(LOCAL_PATH)/proprietary/system/lib/hw/sensors.smdk4x12.so:system/lib/hw/sensors.smdk4x12.so \
$(LOCAL_PATH)/proprietary/system/usr/idc/sec_e-pen.idc:system/usr/idc/sec_e-pen.idc \
$(LOCAL_PATH)/proprietary/system/usr/keylayout/sec_e-pen.kl:system/usr/keylayout/sec_e-pen.kl \
$(LOCAL_PATH)/proprietary/system/usr/keylayout/sec_touchkey.kl:system/usr/keylayout/sec_touchkey.kl \
$(LOCAL_PATH)/proprietary/system/vendor/firmware/SlimISP_GK.bin:system/vendor/firmware/SlimISP_GK.bin \
$(LOCAL_PATH)/proprietary/system/vendor/firmware/SlimISP_ZK.bin:system/vendor/firmware/SlimISP_ZK.bin[COLOR="Red"] \
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/proprietary/system/lib/libandroid_runtime.so:system/lib/libandroid_runtime.so \
$(LOCAL_PATH)/proprietary/system/lib/libdvm.so:system/lib/libdvm.so \
$(LOCAL_PATH)/proprietary/system/lib/libharfbuzz.so:system/lib/libharfbuzz.so \
$(LOCAL_PATH)/proprietary/system/lib/libhwui.so:system/lib/libhwui.so \
$(LOCAL_PATH)/proprietary/system/lib/libnativehelper.so:system/lib/libnativehelper.so \
$(LOCAL_PATH)/proprietary/system/lib/libMali.so:system/lib/libMali.so \
$(LOCAL_PATH)/proprietary/system/lib/libUMP.so:system/lib/libUMP.so \
$(LOCAL_PATH)/proprietary/system/lib/lib/libfimc.so:system/lib/libfimc.so \
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/proprietary/system/lib/hw/camera.exynos4.so:system/lib/hw/camera.exynos4.so \
$(LOCAL_PATH)/proprietary/system/lib/hw/gps.goldfish.so:system/lib/hw/gps.goldfish.so \
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/proprietary/system/lib/egl/libEGL_mali.so:system/lib/egl/libEGL_mali.so \
$(LOCAL_PATH)/proprietary/system/lib/egl/libGLESv1_CM_mali.so:system/lib/egl/libGLESv1_CM_mali.so \
$(LOCAL_PATH)/proprietary/system/lib/egl/libGLESv2_mali.so:system/lib/egl/libGLESv_mali.so \
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/proprietary/system/vendor/firmware/libpn544_fw.so:system/vendor/firmware/libpn544_fw.so \
$(LOCAL_PATH)/proprietary/system/vendor/firmware/mfc_fw.bin:system/vendor/firmware/mfc_fw.bin \
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/proprietary/system/cameradata/datapattern_420sp.yuv:system/cameradata/datapattern_420sp.yuv \
$(LOCAL_PATH)/proprietary/system/cameradata/datapattern_front_420sp.yuv:system/cameradata/datapattern_front_420sp.yuv \
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/proprietary/system/bin/bcm4334.hcd:system/bin/bcm4334.hcd \
$(LOCAL_PATH)/proprietary/system/bin/bcm4334_murata.hcd:system/bin/bcm4334_murata.hcd \
$(LOCAL_PATH)/proprietary/system/bin/bcm4334_semcosh.hcd:system/bin/bcm4334_semcosh.hcd
[/COLOR]
BUILD COMMANDS
Code:
$ . build/envsetup.sh
$ brunch full_t0lte-userdebug
It will make a cm.zip and a full_t0lte-ota-eng. username.zip in UPP/out/target/product/t0lt. You can use either one, I was told that the full_t0lte zip is not optimized but to be honest I do not know why it makes two zip files.
Thanks to mgale88 we now have a build that will boot, it is still very rough and very much pre alpha but it does boot.Here is a link to his github.
What is working:
It boots that is pretty much it. (still has graphics issues)
What does not work:
No cellular service
No WiFi
No Bluetooth
The list goes on and on
Downloads
cm-10.1-20130317-UTOUCH2-t0lte.zip
quantal-preinstalled-phablet-armhf.zip
How to install
To install you need to download the cm-10.1-20130317-UTOUCH2-t0lte.zip latest quantal-preinstalled-phablet-armhf.zip. Then preforme a full wipe of cache, delvik cache, factory reset, and system. Then flash the two files in the order given below.
1.cm-10.1-20130317-UTOUCH2-t0lte.zip
2.quantal-preinstalled-phablet-armhf.zip
3.Reboot
Reserved 2
Looks absolutely sickkk!
Re: Ubuntu Touch Preview for the SGH-T889 Note II
I will test it when it is bootable
Sent from my SGH-T889 using xda premium
Re: Ubuntu Touch Preview for the SGH-T889 Note II
Does anyone know how often the ubuntu touch source is going to be updated and when it is will that mean having to rebuild everything from scratch to port it over?
Sent from my T889V on WIND Mobile using xda app-developers app
tppickles said:
Does anyone know how often the ubuntu touch source is going to be updated and when it is will that mean having to rebuild everything from scratch to port it over?
Sent from my T889V on WIND Mobile using xda app-developers app
Click to expand...
Click to collapse
Going by what I know unless Canonical makes some changes to the .mk and config files for the parts of Android that it uses you should not have to make any changes to the device tree when they start rolling out updates because you get the actual Ubuntu part comes from them, you do not compile. It. See the Ubu tu Touch runs in a container in Android right now. The Android parts you have to compile is just there to make it easier to port to Android devices right now at least that is my opinion. But Canonical has put hints in the Android source and the official porting giude they have that they do have plans on changing things up some in the future.
id probably try this out but it looks too much like miui to me.
fix-this! said:
id probably try this out but it looks too much like miui to me.
Click to expand...
Click to collapse
Updated the op with more details on what changes to make per the official guide and per what I did to get it to build.
Re: Ubuntu Touch Preview for the SGH-T889 Note II
Following with interest...
Sent from my GT-N7105 using xda app-developers app
Re: Ubuntu Touch Preview for the SGH-T889 Note II
Definitely following this but not 100% sure about switching to it yet looks like alot to switch over to and switching back?
Sent from my SGH-T889 using xda premium
Building a brand new build from a new sync. Took 9 hours for a fresh sync, a little over 8 hours of getting my working folder set up to build. XDA Senior Member Gerrett made a great post today about the work that is going on for the n7000 Note II. I went through his updated get hub and made all the changes I needed to match his git hub. The two devices are very close to the same so this should work. It is still building right now. I hope to post back later with a booting build. Wish me luck.
Re: Ubuntu Touch Preview for the SGH-T889 Note II
T-Macgnolia said:
Building a brand new build from a new sync. Took 9 hours for a fresh sync, a little over 8 hours of getting my working folder set up to build. XDA Senior Member Gerrett made a great post today about the work that is going on for the n7000 Note II. I went through his updated get hub and made all the changes I needed to match his git hub. The two devices are very close to the same so this should work. It is still building right now. I hope to post back later with a booting build. Wish me luck.
Click to expand...
Click to collapse
I hope it works
Sent from my SGH-T889 using xda premium
Bummer it stopped compiling right after I had posted my last post but I got that error fixred and started building again. It compiled for a good while very close to the end and stopped again. Only this time I do not know why because it is calling for a file in prebuilt/gcc in my build folder but I do not have a prebuilt/gcc, not even in my old work folder that will still compile. I will have to come back tomorrow and see if I can get it figured out. Thought for sure I had it this go around.
I am going to bed tonight no all nighter for me tonight. I will work on it some more tomorroow.
maaany questions
T-Macgnolia said:
Bummer it stopped compiling right after I had posted my last post but I got that error fixred and started building again. It compiled for a good while very close to the end and stopped again. Only this time I do not know why because it is calling for a file in prebuilt/gcc in my build folder but I do not have a prebuilt/gcc, not even in my old work folder that will still compile. I will have to come back tomorrow and see if I can get it figured out. Thought for sure I had it this go around.
I am going to bed tonight no all nighter for me tonight. I will work on it some more tomorroow.
Click to expand...
Click to collapse
oh man that sucks, for some reasons mine still doesn't want to work... I guess its because I trying it on a VM, but it should work the same. I will post my output from terminal tomorrow...
---------- Post added at 08:30 AM ---------- Previous post was at 08:06 AM ----------
Code:
device/samsung/smdk4412-common/camerawrapper/CameraWrapper.cpp: In function 'char* camera_fixup_setparams(int, const char*)':
device/samsung/smdk4412-common/camerawrapper/CameraWrapper.cpp:130:16: error: 'KEY_CITYID' is not a member of 'android::CameraParameters'
device/samsung/smdk4412-common/camerawrapper/CameraWrapper.cpp: In function 'int camera_device_open(const hw_module_t*, const char*, hw_device_t**)':
device/samsung/smdk4412-common/camerawrapper/CameraWrapper.cpp:514:134: warning:
suggest parentheses around assignment used as truth value [-Wparentheses]
make: *** [/home/petruv/UPP/out/target/product/t0lte/obj/SHARED_LIBRARIES/camera .exynos4_intermediates/CameraWrapper.o] Error 1
make: *** Waiting for unfinished jobs....
external/sqlite/dist/sqlite3.c: In function 'fts3SnippetFunc':
external/sqlite/dist/sqlite3.c:129881:11: warning: 'iS' may be used uninitialized in this function [-Wmaybe-uninitialized]
external/sqlite/dist/sqlite3.c:129873:13: note: 'iS' was declared here
make: *** wait: No child processes. Stop.
[email protected]:~/UPP$
That is what I get when I try to make the built. I followed this guide
I had to do this:
Code:
$ cd device/samsung/t0lte
$ cp t0lte.mk full_t0lte.mk
so I can get passed the error where it says its missing "full_t0lte.mk".
Also, I did:
Code:
$ brunch t0lte
instead of
Code:
$ brunch full_t0lte-userdebug
because it was saying it couldn't find this device and was trying to get them from CyanogenMod github.
I don't know if this actually helped anyone or if anyone had the same problem, but I'd love to have some feedback from you guys. Thanks. :good:
pettrel said:
oh man that sucks, for some reasons mine still doesn't want to work... I guess its because I trying it on a VM, but it should work the same. I will post my output from terminal tomorrow...
---------- Post added at 08:30 AM ---------- Previous post was at 08:06 AM ----------
Code:
device/samsung/smdk4412-common/camerawrapper/CameraWrapper.cpp: In function 'char* camera_fixup_setparams(int, const char*)':
device/samsung/smdk4412-common/camerawrapper/CameraWrapper.cpp:130:16: error: 'KEY_CITYID' is not a member of 'android::CameraParameters'
device/samsung/smdk4412-common/camerawrapper/CameraWrapper.cpp: In function 'int camera_device_open(const hw_module_t*, const char*, hw_device_t**)':
device/samsung/smdk4412-common/camerawrapper/CameraWrapper.cpp:514:134: warning:
suggest parentheses around assignment used as truth value [-Wparentheses]
make: *** [/home/petruv/UPP/out/target/product/t0lte/obj/SHARED_LIBRARIES/camera .exynos4_intermediates/CameraWrapper.o] Error 1
make: *** Waiting for unfinished jobs....
external/sqlite/dist/sqlite3.c: In function 'fts3SnippetFunc':
external/sqlite/dist/sqlite3.c:129881:11: warning: 'iS' may be used uninitialized in this function [-Wmaybe-uninitialized]
external/sqlite/dist/sqlite3.c:129873:13: note: 'iS' was declared here
make: *** wait: No child processes. Stop.
[email protected]:~/UPP$
That is what I get when I try to make the built. I followed this guide
I had to do this:
Code:
$ cd device/samsung/t0lte
$ cp t0lte.mk full_t0lte.mk
so I can get passed the error where it says its missing "full_t0lte.mk".
Also, I did:
Code:
$ brunch t0lte
instead of
Code:
$ brunch full_t0lte-userdebug
because it was saying it couldn't find this device and was trying to get them from CyanogenMod github.
I don't know if this actually helped anyone or if anyone had the same problem, but I'd love to have some feedback from you guys. Thanks. :good:
Click to expand...
Click to collapse
I will come back and look at your problem more later I am going to bed. I should have went earlier like I saiad I was. Cause now I have a device that will not go into recovery. I think it is soft bricked
I can not even bott to recovery via "adb reboot recovery". :crying:
T-Macgnolia said:
I will come back and look at your problem more later I am going to bed. I should have went earlier like I saiad I was. Cause now I have a device that will not go into recovery. I think it is soft bricked
I can not even bott to recovery via "adb reboot recovery". :crying:
Click to expand...
Click to collapse
As long as you can get in "Download Mode", you're good to go.
So... I went in different folders and edited some .mk files (commented out any line that have to do with camera), I don't remember which ones, but I got it to build... now I am transferring my files to my phone and will give it a try to see if it boots.
If Ubuntu is being ported to android phones, does that mean other linux distros will be able to be ported as well? Like Linux Mint for example. I think that would look super sexy on a phone.
pettrel said:
oh man that sucks, for some reasons mine still doesn't want to work... I guess its because I trying it on a VM, but it should work the same. I will post my output from terminal tomorrow...
---------- Post added at 08:30 AM ---------- Previous post was at 08:06 AM ----------
Code:
device/samsung/smdk4412-common/camerawrapper/CameraWrapper.cpp: In function 'char* camera_fixup_setparams(int, const char*)':
device/samsung/smdk4412-common/camerawrapper/CameraWrapper.cpp:130:16: error: 'KEY_CITYID' is not a member of 'android::CameraParameters'
device/samsung/smdk4412-common/camerawrapper/CameraWrapper.cpp: In function 'int camera_device_open(const hw_module_t*, const char*, hw_device_t**)':
device/samsung/smdk4412-common/camerawrapper/CameraWrapper.cpp:514:134: warning:
suggest parentheses around assignment used as truth value [-Wparentheses]
make: *** [/home/petruv/UPP/out/target/product/t0lte/obj/SHARED_LIBRARIES/camera .exynos4_intermediates/CameraWrapper.o] Error 1
make: *** Waiting for unfinished jobs....
external/sqlite/dist/sqlite3.c: In function 'fts3SnippetFunc':
external/sqlite/dist/sqlite3.c:129881:11: warning: 'iS' may be used uninitialized in this function [-Wmaybe-uninitialized]
external/sqlite/dist/sqlite3.c:129873:13: note: 'iS' was declared here
make: *** wait: No child processes. Stop.
[email protected]:~/UPP$
That is what I get when I try to make the built. I followed this guide
I had to do this:
Code:
$ cd device/samsung/t0lte
$ cp t0lte.mk full_t0lte.mk
so I can get passed the error where it says its missing "full_t0lte.mk".
Also, I did:
Code:
$ brunch t0lte
instead of
Code:
$ brunch full_t0lte-userdebug
because it was saying it couldn't find this device and was trying to get them from CyanogenMod github.
I don't know if this actually helped anyone or if anyone had the same problem, but I'd love to have some feedback from you guys. Thanks. :good:
Click to expand...
Click to collapse
It looks like you did not clone your device folder because that is where the t0lte.mk and the full_t0lte.mk is located in device/samsung/t0lte.
Go to device/samsung and delete the tolte folder you have if it is one there and open a terminal and do the following .
Code:
cd UPP/device/samsung
git clone git://github.com/T-Macgnolia/android_device_samsung_t0lte.git -b cm-10.1 t0lte
pettrel said:
As long as you can get in "Download Mode", you're good to go.
Click to expand...
Click to collapse
That is the problem it will not go to download mode either. I just ordered a JIG from MobileTechVideos.com. Hopefully when I get it in a couple of days I will be able to get to download mode and flash via Odin.
pettrel said:
So... I went in different folders and edited some .mk files (commented out any line that have to do with camera), I don't remember which ones, but I got it to build... now I am transferring my files to my phone and will give it a try to see if it boots.
Click to expand...
Click to collapse
Glad you got it to build man, did you get it to boot. Also as a good rulle of thumb always document what changes you make when trying to get a build to complete or any added mods you add to your work tree.
acideater said:
If Ubuntu is being ported to android phones, does that mean other linux distros will be able to be ported as well? Like Linux Mint for example. I think that would look super sexy on a phone.
Click to expand...
Click to collapse
Canonical Ltd made put together this mobile version of Ubuntu. From what they (Canonical Ltd) have said about it they have plans to do nothing but improve on this platform if it gains popularity. They mentioned such features as having a full desktop Ubuntu if you dock your device. But as far as other linux distros coming out with a mobile version i can not say yes or no. But I can say it will probably depend on how popular this first Ubuntu phone OS becomes.
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!
Project Developer
Welcome
This is a guide for all those who want to build for their Xperia M Device but do not neccesasarily have the knowledge or experience.
This is an unofficial guide for the building of custom ROMs and other mods for the Xperia M. This is a work in progress, with additions being made as often as possible. This thread has already grown with the help of the devs established in this forum. BMP777 began this project a year ago when I was using a Samsung GS II Skyrocket. BMP777 started another alike thread called PR II in the LGOG forum a while back as well. I have since moved on to a ONE, but both threads remain to this day. and Started by Me on Xperia Arc The point is this: everyone who uses this site has a desire for modding, customizing, and/or otherwise altering their device. Unfortunately, many have no idea how to go about doing these things for themselves. As such, there is a lot of dissatisfaction among developers about receiving constant demands, suggestions, and requests for updates. This thread is meant to give those who want to step up and build for themselves the means to do so. It is an ever-changing thread, with all assistance welcomed.
READ ME:
On one hand, it should go without saying that if you have no knowledge and/or experience with building, java, C++, and various other tools, you probably shouldn't begin here. At the same time, it is possible to learn to build, provided you can read, follow directions, and aren't too lazy to RESEARCH.
OH YEAH, and you better have patience. This isn't easy. It will be work. The quickest way to get flamed is to show yourself to be lazy. If you think that with a couple clicks, you can have your own flashy ROM, forget it. But, if you do want to learn, this is a good place to get started. I have no ego about this; I started the same way and just want to help everyone learn to build their own ROM. But, everyone will struggle to get to a successful point, and lazy, unmotivated people just irritate those who have had to learn from scratch too. Tutorials will be posted for any new thing learned and built as time and space allow. ALL ARE WELCOME AND ALL QUESTIONS ARE TOO. But, seriously, if it's a really ridiculous one, I/we reserve the right to screw with you about it.
ALWAYS REMEMBER:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Thread Disclaimer:
The instructions and extras posted here are to be used at your own risk. I am working hard to provide good, workable tutorials that will make successful building much easier. Nevertheless, I am not responsible if you lose your files, brick your device, or inadvertently cause a nuclear war. If you are seeking absolute perfection, RUN NOW WHILE YOU STILL CAN!!
Thread Navigation :
# 2 > Setting Up Build enviorment
# 3 > Building instructions & How To Build Using Linaro Toolchain
# 4 > Kernel building and CCACHE
# 5 > reserved for future
XDA:DevDB Information
Project Developer, a Tool/Utility for the Sony Xperia Z
Contributors
officiallysonyrebel, car vs driver , BMP777, @Saki3d , @FXP , @kali , @codeworkx , @cdesai
Version Information
Status: Testing
Created 2013-11-29
Last Updated 2013-12-03
Necessary Files for Xperia M :
Tip :For Building any Rom for Xperia Z u need these specific device files
1 . first is "sony.xml"
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<!-- Nicki bits -->
<project path="device/sony/nicki" name="CyanogenMod/android_device_sony_nicki" remote="github" revision="cm-11.0" />
<project path="kernel/sony/msm8x27" name="CyanogenMod/android_kernel_sony_msm8x27" remote="github" revision="cm-11.0" />
<!-- common sony bits -->
<project path="device/sony/qcom-common" name="CyanogenMod/device_sony_qcom-common" remote="github" revision="cm-11.0" />
<project path="device/sony/common" name="CyanogenMod/device_sony_common" remote="github" revision="cm-11.0" />
<project path="hardware/sony/DASH" name="CyanogenMod/android_hardware_sony_DASH" remote="github" revision="cm-11.0" />
<!-- sony vendor bits -->
<project path="vendor/sony" name="TheMuppets/proprietary_vendor_sony" remote="github" revision="cm-11.0" />
</manifest>
Build Enviorment Set up :
This is a combination of the steps offered in the threads 'Compile JB on Ubuntu' and TeamChopsticks CyanogenMod.
Special thanks to dastin1015 and TeamChopsticks.
Tip: Allocate at least 75 gigs of space for the building of ONE ROM. If you install ccache, you will want 90. A complete build directory can use as much as 100 gigs, so make sure you have plenty of room. One of the ways to fail out a build is too use all of your partition before acquiring all the necessary files.
Here are the steps from those 2 tutorials in correct order:
0.1 ))
Install Gedit
Code:
# gedit
sudo apt-get install gedit
1) You need the following:
-JDK 6 if you wish to build Jellybean.
Code:
[COLOR="Black"]$ sudo apt-get oracle-java7-installer
-Python 2.4 -- 2.7, which you can download from python.org.[/COLOR]
Or:
Code:
[COLOR="black"]$ sudo apt-get install python
-Git 1.7 or newer. You can find it at git-scm.com.[/COLOR]
Or:
Code:
[COLOR="black"]$ sudo apt-get install git-core[/COLOR]
-Android SDK:
Download the SDK here: http://developer.android.com/sdk/index.html
Extract the SDK and place it in your home directory.
I renamed my SDK to android-sdk to make it easier to navigate to – this tutorial assumes you've done that as well.
Go to your home folder, press Ctrl+H to show hidden files, and open up your .bashrc file.
Add these lines at the bottom of the file:
Code:
[COLOR="black"]# Android tools
export PATH=${PATH}:~/android-sdk/tools
export PATH=${PATH}:~/android-sdk/platform-tools
export PATH=${PATH}:~/bin[/COLOR]
Find your .profile file and add this at the bottom of the file:
Code:
[COLOR="black"]PATH="$HOME/android-sdk/tools:$HOME/android-sdk/platform-tools:$PATH"
You have now successfully installed the Android SDK.[/COLOR]
To check for updates issue this into your terminal:
Code:
[COLOR="black"]$ android[/COLOR]
2) Install required packages. 64-bit (recommended)
Code:
[COLOR="black"]$ sudo 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 lib32readline-gplv2-dev lib32z-dev
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown
libxml2-utils lzop schedtool[/COLOR]
On newer versions of Ubuntu such as 11.10 you may need to do the following:
Code:
[COLOR="black"]$ sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so[/COLOR]
Code:
[COLOR="black"]$ sudo apt-get install git-core gnupg flex bison gperf build-essential
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386
libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk tofrodos
python-markdown libxml2-utils xsltproc zlib1g-dev:i386
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so[/COLOR]
3) Configure your USB.
Code:
[COLOR="black"]$ gksudo gedit /etc/udev/rules.d/51-android.rules[/COLOR]
Inside of this blank text file insert:
Code:
[COLOR="black"]#Acer
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666"
#ASUS
SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666"
#Dell
SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666"
#Foxconn
SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666"
#Garmin-Asus
SUBSYSTEM=="usb", ATTR{idVendor}=="091E", MODE="0666"
#Google
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666"
#HTC
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666"
#Huawei
SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666"
#K-Touch
SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0666"
#KT Tech
SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666"
#Kyocera
SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666"
#Lenevo
SUBSYSTEM=="usb", ATTR{idVendor}=="17EF", MODE="0666"
#LG
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666"
#Motorola
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666"
#NEC
SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666"
#Nook
SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666"
#Nvidia
SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666"
#OTGV
SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666"
#Pantech
SUBSYSTEM=="usb", ATTR{idVendor}=="10A9", MODE="0666"
#Philips
SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666"
#PMC-Sierra
SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0666"
#Qualcomm
SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666"
#SK Telesys
SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0666"
#Samsung
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666"
#Sharp
SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666"
#Sony Ericsson
SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666"
#Toshiba
SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666"
#ZTE
SUBSYSTEM=="usb", ATTR{idVendor}=="19D2", MODE="0666"[/COLOR]
4) Save the file and close it and then issue this command:
Code:
[COLOR="black"]$ sudo chmod a+r /etc/udev/rules.d/51-android.rules[/COLOR]
5) Install the repo:
Code:
[COLOR="black"]$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo[/COLOR]
Create your work directory:
Code:
[COLOR="black"]mkdir ~/"your directory name here" For example: mkdir ~/cm10
cd ~/cm10[/COLOR]
Setup local manifest:
Code:
[COLOR="Black"]mkdir .repo/local_manifests
touch .repo/local_manifests/sony.xml
gedit .repo/local_manifests/sony.xml[/COLOR]
Building Instructions : For CyanogenMod :: AOKP :: Carbon roms :: Beanstalk
Unofficial
To get started with Android/CyanogenMod, you'll need to get familiar with Git and Repo.
To initialize your local repository using the CyanogenMod trees, use a command like this:
first create folder named " cm "
Code:
mkdir cm
enter into cm
Code:
cd ~/cm
For CM - 11.0 kitkat 4.4.x
Code:
[COLOR="black"]repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0[/COLOR]
Then to sync up:
Code:
[COLOR="black"]repo sync[/COLOR]
Please see the CyanogenMod Wiki for building instructions.
For more information on this Github Organization and how it is structured, please read the wiki article.
Create and edit semc.xml in .repo:
Code:
[COLOR="black"]gedit .repo/local_manifests/sony.xml[/COLOR]
Add this to the semc.xml:
For CM 11.0 KitKat 4.4.x
copy paste semc.xml for kikat 4.4 from above
then
Code:
[COLOR="Black"]repo sync[/COLOR]
Code:
[COLOR="black"]. build/envsetup.sh (notice the period and space)
vendor/cm/get-prebuilts
[/COLOR]
then
Code:
brunch c1905
Special thanks to scott.hart.bti for his hard work -
From terminal
1. type
Code:
[COLOR="black"]cd[/COLOR]
.
This will bring you to your root folder.
2. type
Code:
[COLOR="black"]mkdir beanstalk[/COLOR]
.
This will create a folder named beanstalk.
3. type
Code:
[COLOR="black"]cd beanstalk[/COLOR]
.
This will take you to the beanstalk directory created from previous step
4. type
Code:
[COLOR="black"]repo init -u git://github.com/scotthartbti/android.git -b kk44[/COLOR]
.
This will setup the folders to be synced.
5. For Beanstalk KitKat 4.4.x
copy paste sony.xml for kikat 4.4 from above
then
Code:
[COLOR="Black"]repo sync[/COLOR]
apply patches for 4.4
9. Outside of terminal, navigate to beanstalk/vendor/cm. Double click on the get-prebuilts file and select run in terminal. This will fetch necessary files needed to build and place them where they need to be.
10. Type
Code:
[COLOR="Black"]. build/envsetup.sh && brunch c1905 [/COLOR]
11. Previous step will start building beanstalk for your device. The process takes anywhere from 1 - 3 hours depending on your computer.
12. Once completed, it will say package complete and you will have a beanstalk named zip file in your out folder.
Unofficial
Special thanks to spleef and ktempleman for laying this out
This set of instructions is unverified. If you build successfully or have build issues, please post here so we can confirm or fix what isn't working
First:
Code:
[COLOR="Black"]mkdir aokp[/COLOR]
then
Code:
[COLOR="black"]cd aokp[/COLOR]
then
Code:
[COLOR="black"]repo init -u https://github.com/AOKP/platform_manifest.git -b kitkat[/COLOR]
after it does its thing
Code:
[COLOR="black"]mkdir .repo/local_manifests
touch .repo/local_manifests/sony.xml
gedit .repo/local_manifests/sony.xml[/COLOR]
copy paste semc.xml for kikat 4.4 from above
save and exit then
Code:
[COLOR="black"]repo sync[/COLOR]
after everything syncs
Code:
[COLOR="black"]gedit vendor/aokp/vendorsetup.sh[/COLOR]
and add this to the bottom:
Code:
[COLOR="black"]add_lunch_combo aokp_c1905 -userdebug[/COLOR]
save and exit.. then
Code:
[COLOR="black"]. build/envsetup.sh[/COLOR]
Code:
[COLOR="black"]brunch c1905 [/COLOR]
For more on AOKP building, try here: http://aokp.co/learn/so-you-want-to-build-aokp-jb-ubuntu-1204
And Here: https://github.com/AOKP
Unofficial
Getting Started
To get started with the Carbon-Dev sources, you'll need to get familiar with Git and Repo.
Create the Directories
You will need to set up some directories in your build environment.
To create them run:
Code:
[COLOR="black"]mkdir -p ~/carbon[/COLOR]
Install the Repository
You may need to reboot for these changes to take effect. Now enter the following to initialize the repository:
Code:
[COLOR="black"]cd ~/carbon[/COLOR]
Repositories:
Before you continue --> run this in the terminal
Code:
[COLOR="black"]repo init -u https://github.com/CarbonDev/android.git -b kk[/COLOR]
after it does its thing
Code:
[COLOR="black"]mkdir .repo/local_manifests
touch .repo/local_manifests/sony.xml
gedit .repo/local_manifests/sony.xml[/COLOR]
copy paste sony.xml for kikat 4.4 from above
save and exit then
Code:
[COLOR="black"]repo sync[/COLOR]
after everything syncs
Code:
[COLOR="black"]gedit vendor/carbon/vendorsetup.sh[/COLOR]
and add this to the bottom:
Code:
[COLOR="black"]add_lunch_combo carbon_c1905 -userdebug[/COLOR]
save and exit.. then
Code:
[COLOR="black"]. build/envsetup.sh[/COLOR]
Code:
[COLOR="black"]brunch c1905 [/COLOR]
To get started with AORP, you'll need to get familiar with Git and Repo.
To initialize your local repository using the AORP trees, use a command like this:
first create folder named " AORP "
Code:
mkdir AORP
enter into AORP
Code:
cd ~/AORP
For kitkat 4.4.x
Code:
[COLOR="black"]repo init -u git://github.com/AORP/android.git -b kk[/COLOR]
Then to sync up:
Code:
[COLOR="black"]repo sync[/COLOR]
Please see the CyanogenMod Wiki for building instructions.
For more information on this Github Organization and how it is structured, please read the wiki article.
Create and edit sony.xml in .repo:
Code:
[COLOR="black"]gedit .repo/local_manifests/semc.xml[/COLOR]
Add this to the semc.xml:
For KitKat 4.4.x
copy paste sony.xml for kikat 4.4 from above
then
Code:
[COLOR="Black"]repo sync[/COLOR]
Code:
[COLOR="black"]. build/envsetup.sh (notice the period and space)
vendor/cm/get-prebuilts
[/COLOR]
then
Code:
brunch c1905
Next Tutorial is Strictly Not for beginners
Building with Linaro 4.8 toolchain
Go into Terminal and navigate to the root folder of your source tree, then:
Code:
[COLOR="Black"]prebuilts/gcc/linux-x86/arm/[/COLOR]
Run:
Code:
[COLOR="black"]wget http://releases.linaro.org/13.06/components/toolchain/gcc-linaro/4.8/gcc-linaro-4.8-2013.06.tar.bz2[/COLOR]
Run:
Code:
[COLOR="black"]bunzip2 *.tar.bz2[/COLOR]
Run:
Code:
[COLOR="black"]tar -xvf *.tar[/COLOR]
Using your file manager, navigate to the root folder of your source tree again.
Navigate To "/build", in your root folder.
Run:
Code:
[COLOR="black"]gksudo gedit envsetup.sh[/COLOR]
change the line in bold, to look exactly like this one:
Code:
[COLOR="black"]case $ARCH in
x86) toolchaindir=x86/i686-linux-android-4.6/bin
;;
[B]arm) toolchaindir=arm/gcc-linaro-4.8-2013.06[/B] [COLOR="Red"]<--------[/COLOR]
;;
mips) toolchaindir=mips/mipsel-linux-android-4.6/bin
;;
*)
echo "Can't find toolchain for unknown architecture: $ARCH"
toolchaindir=xxxxxxxxx
;;
esac
[/COLOR]
Exit out and open new. Initialize and build. That's it! Makes you wonder why you never did it before, right?
Not so fast. You may have build issues, you may not. I had a few lengthy sets of errors in gsm calltracker and another .java file that was solved by using Meld and making it look exactly like a successful build's file. More as I learn.......
Thanks to infected_ for this tut; his post can be found here: [/COLOR]
http://forum.xda-developers.com/showpost.php?p=42976693&postcount=12
This is a work in progress. Many more pieces of information will be added and this is meant to be an ever-changing thread. If you see something that is outdated or incorrect, please let me know ASAP, so I can make the correction. Also, make sure that any info offered can be and has been confirmed as functional.
Thanks to:
CyanogenMod
scott.hart.bti
Team Carbon
david279
MallardDuck
ktempleton
AdhvanIt
matthew0776
spleef
M4570D0N
car vs driver
PecanCM
BMP777
Kernel Building and Ccache
Building your first kernel
:
This is a set of steps to get you building your first kernel. Special thanks to thewadegeek for putting this tutorial together. His thread can be found here: http://forum.xda-developers.com/showthread.php?t=1748297
Step 1. Build Environment
A. Install Ubuntu 12.04(Not holding your hand here, if you can't do this you shouldn't be messing with kernels)
B. Required packages: git-core, gnupg, flex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev, build-essential, zip, curl, libncurses5-dev, zlib1g-dev, ia32-libs, lib32z1-dev, lib32ncurses5-dev, gcc-multilib, g++-multilib, and Adb.
C. Open a terminal
D. Type
Code:
[COLOR="black"]mkdir android[/COLOR]
E. Type
Code:
[COLOR="black"]cd android[/COLOR]
G.Type
Code:
[COLOR="black"]mkdir kernel[/COLOR]
Step 2. Your Source
A. Open your Terminal Prompt
B. Type
Code:
[COLOR="black"]cd android/kernel[/COLOR]
C. Type
Code:
[COLOR="black"]git clone git://github.com/DooMLoRD/android_prebuilt_toolchains.git toolchains[/COLOR]
D. Now comes the tricky part, you need to have some-type of source for your kernel. Check the following two sites for your device as appropriate. Once you have it download it is extracted/cloned into a folder in your kernel directory.
http://developer.sonymobile.com/wpor...ads/opensource
Step 3. Modifications
This is the part people are curious about, they want to make modifications to the kernel to make it "special". Start all these from the root directory of your kernel source.
Mod 1. Applying a patch
A. Download the patch you wish to apply, in this case this one should work.
B. Save that file as "kernelPatch" in your kernel directory.
C. Open a Terminal
D. Move into the root directory of the kernel you wish to patch.
E. Type
Code:
[COLOR="black"]patch -p1 < ../kernelPatch[/COLOR]
Mod 2. Adding a Governor Alone
A. Open "drivers/cpufreq/Kconfig"
B. Add the following lines in appropriate spot amongst the other govenor's
Code:
[COLOR="Black"]config CPU_FREQ_DEFAULT_GOV_SMARTASS
bool "smartass"
select CPU_FREQ_GOV_SMARTASS
select CPU_FREQ_GOV_PERFORMANCE
help
Use the CPUFreq governor 'smartass' as default.
[/COLOR]
Code:
[COLOR="Black"]config CPU_FREQ_GOV_SMARTASS
tristate "'smartass' cpufreq governor"
depends on CPU_FREQ
help
smartass' - a "smart" optimized governor!
If in doubt, say N.[/COLOR]
C. Open "drivers/cpufreq/Makefile"
D. Add the following line in the appropriate spot.
Code:
[COLOR="Black"] obj-$(CONFIG_CPU_FREQ_GOV_SMARTASS) += cpufreq_smartass.o[/COLOR]
E. Create a file called "drivers/cpufreq/cpufreq_smartass.c"
F. Put the following code in that file.
http://pastebin.com/f0Bk9kVZ
G. open "include/linux/cpufreq.h"
H. Under the "Cpufreq Default" section add
Code:
[COLOR="Black"]#elif defined(CONFIG_CPU_FREQ_DEFAULT_GOV_SMARTASS)
extern struct cpufreq_governor cpufreq_gov_smartass;
#define CPUFREQ_DEFAULT_GOVERNOR (&cpufreq_gov_smartass)[/COLOR]
Ok there is a governor added, do the exact same steps for any other one's you would like to add.
Step 4. Getting a Config file
Option A. Pulling a config file from a kernel.
A. Hook up a device that is using a kernel similar to one you are using as your base.
B. Open a terminal
C. Change to your root kernel directory
D. Type
Code:
[COLOR="black"]adb pull /proc/config.gz[/COLOR]
E. Type
Code:
[COLOR="black"]gunzip config.gz[/COLOR]
F. Type
Code:
[COLOR="black"]mv config arch/arm/configs/<your_config_name>_defconfig[/COLOR]
Option B. Using the manufacturers config.
Unfortunately as stated above, not all kernels support the "/proc/config.gz" method. You can typically find a manufacturer's configuration file in "arch/arm/configs". I believe the one for my HTC Flyer was called "flyer_hc_defconfig", so look for a layout similar to that one. Also read the README to get a better idea of how to modify it. I would personally make a copy of it called "<your_config_name>_defconfig" and use that as my base.
Step 5. Building
Time to start the real "build" section of this tutorial.
Part A. Pre-build Steps
A. Open terminal and change to the root of your kernel directory
B. Type
Code:
[COLOR="black"]export ARCH=arm[/COLOR]
C. Type
Code:
[COLOR="black"]export CROSS_COMPILE=~/android/kernel/toolchains/arm-eabi-linaro-4.6.2/bin/arm-eabi-[/COLOR]
Part B. The First Build
A. Type
Code:
[COLOR="black"]make <your_config_name>_defconfig[/COLOR]
B. Type
Code:
[COLOR="black"]make menuconfig[/COLOR]
and make the required changes to use any modules you added or similar changes.
C. Type
Code:
[COLOR="black"]make -j<maximum number of jobs>[/COLOR]
Part C. Re-Builds
A. Type
Code:
[COLOR="black"]make clean[/COLOR]
B. Type
Code:
[COLOR="black"]make oldconfig[/COLOR]
C. Type
Code:
[COLOR="black"]make -j<maximum number of jobs>[/COLOR]
Part D. Building Modules
You have two options:
A. Type
Code:
[COLOR="black"]make modules[/COLOR]
B. Type
Code:
[COLOR="black"]make path/to/your/module.ko[/COLOR]
The above steps explained:
Part A.(These steps are required every time you close your terminal and re-open it to build again.)
A. Ok shouldn’t need to explain this.
B. This command sets your target architecture.
C. Defines the path to the toolchain we are going to use to compile our kernel. You can change this to point towards whatever toolchain you have downloaded or feel like using, the way it is currently configured it will use the Linaro toolchain that we downloaded above.
Part B.(These only need to be run the first time you build a kernel.)
A. Load's your configuration file from earlier.
B. Open up a menu to configure your kernel. It will use the config file you loaded in the previous step as a base.
C. Viola start the build. I typically allow 1 job per core, so on my quad core machine I put "make -j4". Just raising that number will not make your build faster, your processor needs to be able to support the number of jobs you are assigning it.
Part C. (Use the command's when you are building any-time outside of the first)
A. This command gets rid of any old/outdated binaries or modules you compiled before, and let's start fresh. I like to run it every I build unless my changes are really small and localized.
B. A very awesome command, it parses through what has changed and only prompts you about new options.
C. See the explanation for the above "Part C.".
Part D.(Use these for just building kernel modules.)
A. This will re-build all modules.
B. Will rebuild just the module you need. Very useful when you need to rebuild a WiFi module.
Step 6. Now what
Ok we have now started our build and we are waiting for it to finish, so there are two possible outcomes:
Outcome A. Build Succeeds
W00t!! You have a kernel built by your self from source. There are a couple things you need in-order to use this kernel on your device any ".ko" modules and the zImage binary. If you pay attention to the output of your compiler then you will see the location of those objects. However the following commands will make your life a bit easier(Thanks Recognized Developer Hacre):
A. Open a terminal
B. Change to your root kernel directory
C. Type
Code:
[COLOR="black"]mkdir ../<your_kernel>_output[/COLOR]
D. Type
Code:
[COLOR="black"]cp arch/arm/boot/zImage ../<your_kernel>_output/zImage[/COLOR]
E. Type
Code:
[COLOR="black"]find . -name "*.ko" -exec cp {} ../<your_kernel>_output \;[/COLOR]
The above steps explained:
A-C. Self-Explanatory
D. Move our kernel binary into our output folder
E. This handy bit of magic finds all ".ko" modules and also copies them into your output file.
You will also need to assemble a kernel image containing a initramfs for your device, along with the kernel binary and such. That however is beyond the scope of this tutorial. To get started though try searching the following phrases.
Code:
[COLOR="Black"]building android kernel image
xda build kernel image
xda unpack boot.img[/COLOR]
Outcome B. Build Fails
Oh dear. It failed. Well guess what...this is going to happen..a LOT. Get used to it, and get used to googling and experimenting with different solutions. The following are some tips that will help you with debugging your issues.
Running a "Clean" build
A. Backup your config file - Type
Code:
[COLOR="black"]cp .config ../backupConfig[/COLOR]
B. Re-run the build process using just your defconfig from earlier.
Limiting Output(Thanks Hacre.)
A. Another good tip is to run "make -j1" to get the error, as it will limit the amount of text you need to scroll through.[/COLOR]
[/CENTER]
Building TWRP recovery - http://forum.xda-developers.com/showthread.php?t=1943625
Building CWM recovery - http://forum.xda-developers.com/showthread.php?t=1866545
CCACHE
Here is a brief tutorial on the installation of Ccache, which can shorten build times drastically :
If you have room on your build system you can speed
your builds up considerably by using ccache. ccache is a compiler
cache. It speeds up re-compilation of C/C++ code by caching
previous compiles and detecting when the same compile is
being done again.
Install it with apt-get:
Code:
[COLOR="Black"]sudo apt-get install ccache[/COLOR]
Set environment vars for Android use:
(I put these exports in my .bashrc)
Code:
[COLOR="Black"]export USE_CCACHE=1
export NDK_CCACHE=ccache[/COLOR]
Set a cache size of 10G for optimal results:
Code:
[COLOR="black"]ccache -M 10G[/COLOR]
Check the status of your cache with the command:
Code:
[COLOR="black"]ccache -s [/COLOR]
Returns:
Code:
[COLOR="black"]
cache directory /home/jocala/.ccache
cache hit 106673
cache miss 18379
called for link 3758
preprocessor error 5
not a C/C++ file 4425
unsupported compiler option 678
no input file 4565
files in cache 36758
cache size 3.2 Gbytes
max cache size 10.0 Gbytes[/COLOR]
Really Useful things
Here are some relevant topics/tutorials/sites:
Download | Ubuntu - www.ubuntu.com/download
Official Ubuntu Documentation: Help for all versions. - https://help.ubuntu.com/
How To Windows Dual Boot: - https://help.ubuntu.com/community/WindowsDualBoot
How To Use The Terminal: Commandline stuff. - https://help.ubuntu.com/community/UsingTheTerminal/
[HOW TO] Beginners Guide to Android ROM Development - http://forum.xda-developers.com/showthread.php?t=1272270 (courtesy of isidromxz)
[Tutorial] Compile JB on Ubuntu - http://forum.xda-developers.com/showthread.php?t=1762641 (courtesy of dastin1015)
[CM10] [PPA] Cyanogenmod Compiler v0.6 - http://forum.xda-developers.com/showthread.php?t=1789190 (courtesy of lithid-cm)
[Wiki] How to: Gerrit - http://wiki.cyanogenmod.com/wiki/Howto:_Gerrit
[Wiki] How to: Git - http://wiki.cyanogenmod.com/wiki/Howto:_Git
[Wiki] How to: Connect to device with SSH - http://wiki.cyanogenmod.com/wiki/Howto:_Connect_to_Device_with_SSH
Here is an easy-to-use page on common Linux commands: - http://www.pixelbeat.org/cmdline.html
Linux Newbie Guide : - http://www.unixguide.net/linux/linuxshortcuts.shtml
Also, Team Chopsticks has a good page with some useful tips as well, located here:
http://www.teamchopsticks.org/p/contributing.html (thanks to bdusmc for the tip)
Here is a link to LIFEHACKER's command line tutorials. Very good stuff!! : http://lifehacker.com/5743814/become-a-command-line-ninja-with-these-time+saving-shortcuts
CyanogenMod git : - https://github.com/CyanogenMod
PecanCM git : - https://github.com/RonGokhale
Original Beanstalk thread : - http://forum.xda-developers.com/showthread.php?t=2091900
Beanstalk git : - https://github.com/scotthartbti?tab=repositories
The Muppets git : - https://github.com/TheMuppets
rebelos said:
Necessary Files for Xperia M :
Tip :For Building any Rom for Xperia Z u need these specific device files
1 . first is "sony.xml"
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="device/sony/qcom-common" name="CyanogenMod/android_device_sony_qcom-common" remote="github" revision="cm-11.0" />
<project path="device/sony/common" name="CyanogenMod/android_device_sony_common" remote="github" revision="cm-11.0" />
<project path="device/sony/c1905" name="RonGokhale/android_device_sony_c1905" remote="github" revision="cm-11.0" />
<project path="vendor/sony" name="RonGokhale/proprietary_vendor_sony" remote="github" revision="cm-11.0" />
<project path="kernel/sony/nicki" name="RonGokhale/android_Kernel_sony_nicki" remote="github" revision="cm-11.0" />
<project path="hardware/sony/DASH" name="CyanogenMod/android_hardware_sony_DASH" remote="github" revision="cm-11.0" />
</manifest>
Click to expand...
Click to collapse
bro small mistake
use this <project path="vendor/sony/c1905" name="RonGokhale/android_vendor_sony_c1905" remote="github" revision="cm-11.0" />
not <project path="vendor/sony" name="RonGokhale/proprietary_vendor_sony" remote="github" revision="cm-11.0" />
and i think u should add this
<project path="vendor/sony" name="TheMuppets/proprietary_vendor_sony" remote="github" revision="cm-11.0" />
am i ri8 or wrong?
bcoz there is no RonGokhale/proprietary_vendor_sony
and frameworks/av patch to fix camera hal loading : https://gist.github.com/RonGokhale/8129635
how to add this patch...
ansebovi said:
bro small mistake
use this <project path="vendor/sony/c1905" name="RonGokhale/android_vendor_sony_c1905" remote="github" revision="cm-11.0" />
not <project path="vendor/sony" name="RonGokhale/proprietary_vendor_sony" remote="github" revision="cm-11.0" />
and i think u should add this
<project path="vendor/sony" name="TheMuppets/proprietary_vendor_sony" remote="github" revision="cm-11.0" />
am i ri8 or wrong?
bcoz there is no RonGokhale/proprietary_vendor_sony
and frameworks/av patch to fix camera hal loading : https://gist.github.com/RonGokhale/8129635
how to add this patch...
Click to expand...
Click to collapse
fixed it thanks using ron's version jus forgot a derp
to use diff patch u need to download patch file and
patch -p1 < name.diff
nive tutorial...
i have xm dual... can u make guide to port rom like aokp cm etc to duall sim?
n spec pc to build rom
like 64bit/32bit
ram 4gb up
Internet connection
and how many bandwith needed?
many thanks
Minions_Army said:
nive tutorial...
i have xm dual... can u make guide to port rom like aokp cm etc to duall sim?
n spec pc to build rom
like 64bit/32bit
ram 4gb up
Internet connection
and how many bandwith needed?
many thanks
Click to expand...
Click to collapse
dunno but cm 10 with dual sim support can be ported easily "u must know what u are doing first "
and
64 bit
4 gb (atleast)
trust me u donot want to do it on a 512 kbps connection
I am facing some weird errors while building carbon.
first of all it says carbon.mk not found but when i rename cm.mk to carbon.mk its says videopackage2.mk not found any help here?
icoolguy1995 said:
I am facing some weird errors while building carbon.
first of all it says carbon.mk not found but when i rename cm.mk to carbon.mk its says videopackage2.mk not found any help here?
Click to expand...
Click to collapse
yes.. u need to properly edit device specific sources see
these commits here
https://github.com/CarbonDev/androi...mmit/61f7484bf7067262b3432a0a5bc585d8c5cc16dd
https://github.com/CarbonDev/androi...mmit/18ee3c6389088ed87a8febb328cb15f185fd0f4e
it will give u idea.. regarding building carbon
Edit:- Btw can u test slimroms for me i have a slimkat weekly 3.6 build available for XM if it boots i will add XM to Slim Official weeklies
rebelos said:
yes.. u need to properly edit device specific sources see
these commits here
https://github.com/CarbonDev/androi...mmit/61f7484bf7067262b3432a0a5bc585d8c5cc16dd
https://github.com/CarbonDev/androi...mmit/18ee3c6389088ed87a8febb328cb15f185fd0f4e
it will give u idea.. regarding building carbon
Edit:- Btw can u test slimroms for me i have a slimkat weekly 3.6 build available for XM if it boots i will add XM to Slim Official weeklies
Click to expand...
Click to collapse
If you don't personally have the device, then it isn't getting official Slim
cybojenix said:
If you don't personally have the device, then it isn't getting official Slim
Click to expand...
Click to collapse
i know
i m purchasing it this week only i will submit it to slim after i get my hands on it! and i feel it is stable for users
Sorry mate i can't, and btw thanks for the help.
tutorial updated with latest local_manifest.xml
Can guide me to compilie AOKP
it gives bunch of errors..
icoolguy1995 said:
Can guide me to compilie AOKP
it gives bunch of errors..
Click to expand...
Click to collapse
upload errors here ..
Does anyone have any tips/techniques for resolving "No rule to make target" errors?
I got the error:
Code:
make: *** No rule to make target 'libsrv_init', needed by '/home/buildbot/android/slim/out/target/product/maguro/obj/EXECUTABLES/pvrsrvinit_intermediates/pvrsrvinit.o'. Stop.
So to find the reference I did
Code:
find -type f -name "*.mk"|xargs grep pvrsrvinit
./device/samsung/tuna/BoardConfig.mk: pvrsrvinit.te \
./hardware/ti/omap4/common.mk: pvrsrvinit \
./hardware/ti/omap4/pvrsrvinit/Android.mk:LOCAL_SRC_FILES := pvrsrvinit.c
./hardware/ti/omap4/pvrsrvinit/Android.mk:LOCAL_MODULE := pvrsrvinit
~/android/slim $ find -type f -name "*.mk"|xargs grep libsrv_init
./device/samsung/maguro/self-extractors/imgtec/staging/device-partial.mk: libsrv_init \
./device/samsung/maguro/self-extractors/imgtec/staging/proprietary/Android.mk:LOCAL_MODULE := libsrv_init
./device/samsung/maguro/self-extractors/imgtec/staging/proprietary/Android.mk:LOCAL_SRC_FILES := libsrv_init.so
./hardware/ti/omap4/pvrsrvinit/Android.mk:LOCAL_ADDITIONAL_DEPENDENCIES := libsrv_init libsrv_um
It is clear here that a blob is missing.
Searching online suggested adding another local manifest (is this the right one?)
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="DonkeyCoyote/proprietary_vendor_samsung" path="vendor/samsung" remote="github" revision="android-5.1" />
</manifest>
I suppose if it was a new device I would have to search the filesystem of the phone for the file right?
Has anyone got any tips of better ways of dealing with this situation?
As a side note: How did SlimLP compile without this extra repo in the manifest?
Or is it common that even for big ROMs that people are doing "dirty" compiles with local manifests and/or locally extracted files in place?
P.S. I am using Lollipop still because my new Chinese phone is still on Lollipop and I thought I would start by building SlimLP for my old maguro as a starting point since the maguro was supported at that point.
I wasn't expecting to get compile errors!
opticyclic said:
Does anyone have any tips/techniques for resolving "No rule to make target" errors?
I got the error:
Code:
make: *** No rule to make target 'libsrv_init', needed by '/home/buildbot/android/slim/out/target/product/maguro/obj/EXECUTABLES/pvrsrvinit_intermediates/pvrsrvinit.o'. Stop.
So to find the reference I did
Code:
find -type f -name "*.mk"|xargs grep pvrsrvinit
./device/samsung/tuna/BoardConfig.mk: pvrsrvinit.te \
./hardware/ti/omap4/common.mk: pvrsrvinit \
./hardware/ti/omap4/pvrsrvinit/Android.mk:LOCAL_SRC_FILES := pvrsrvinit.c
./hardware/ti/omap4/pvrsrvinit/Android.mk:LOCAL_MODULE := pvrsrvinit
~/android/slim $ find -type f -name "*.mk"|xargs grep libsrv_init
./device/samsung/maguro/self-extractors/imgtec/staging/device-partial.mk: libsrv_init \
./device/samsung/maguro/self-extractors/imgtec/staging/proprietary/Android.mk:LOCAL_MODULE := libsrv_init
./device/samsung/maguro/self-extractors/imgtec/staging/proprietary/Android.mk:LOCAL_SRC_FILES := libsrv_init.so
./hardware/ti/omap4/pvrsrvinit/Android.mk:LOCAL_ADDITIONAL_DEPENDENCIES := libsrv_init libsrv_um
It is clear here that a blob is missing.
Searching online suggested adding another local manifest (is this the right one?)
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="DonkeyCoyote/proprietary_vendor_samsung" path="vendor/samsung" remote="github" revision="android-5.1" />
</manifest>
I suppose if it was a new device I would have to search the filesystem of the phone for the file right?
Has anyone got any tips of better ways of dealing with this situation?
As a side note: How did SlimLP compile without this extra repo in the manifest?
Or is it common that even for big ROMs that people are doing "dirty" compiles with local manifests and/or locally extracted files in place?
P.S. I am using Lollipop still because my new Chinese phone is still on Lollipop and I thought I would start by building SlimLP for my old maguro as a starting point since the maguro was supported at that point.
I wasn't expecting to get compile errors!
Click to expand...
Click to collapse
Did you find a solution? I'm facing the same problem, any clue would be appreciated.
grab (link disallowed since i have less than 10 posts and they ****ing think it's spam... google driver binaries and sources for maguro and it's the imagination technologies file) then extract and execute at root of your source, and it should shove some binaries and a makefile that declares the missing dependency
Skip the "Extract proprietary blobs" step and instead use "TheMuppets"
Skip the "Extract proprietary blobs" step and instead use "TheMuppets", meaning, add the following lines to the file .repo/local_manifests/roomservice.xml:
Code:
<project name="TheMuppets/proprietary_vendor_samsung" path="vendor/samsung" depth="1" />
<project name="TheMuppets/proprietary_vendor_ti" path="vendor/ti" revision="master" depth="1" />
Rerun "repo sync" and the rest of the steps, excluding the "extract proprietary blobs" step. That should fix it.