Hi @retiredtab
First of all, thanks for all your help and hardwork in keeping Galaxy Tab A devices alive.
I am trying to build your sources to start development for my SM-P555 device and following the instructions detailed in your https://github.com/retiredtab/LineageOS-build-manifests/blob/main/191-build-instructions.txt
While executing https://github.com/retiredtab/LineageOS-build-manifests/blob/main/191-build-instructions.txt#L43, I am hitting this prompt and seeking your advice on what needs to be done.
{
"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"
}
Many thanks!
In order for line 43 to 64 to work, you need to be in the frameworks/av directory as show in line 41.
You then have to use the patch command exactly as shown if you have directories named the same.
I updated the build instructions for Sept 5th patches to reflect a compiler error. Be sure to use the new instructions.
retiredtab said:
In order for line 43 to 64 to work, you need to be in the frameworks/av directory as show in line 41.
You then have to use the patch command exactly as shown if you have directories named the same.
Click to expand...
Click to collapse
I have executed in the same folder, let me try again and confirm.
The patches have succeeded for now.
Please advise why is it reporting bad object
is it because the changes are already merged to the lineage ?
If you didn't do a repo sync earlier, you may not have the correct vendor/lineage repo.
If you
Bash:
cd vendor/lineage
git log
it should look like this (after applying the camera patch). Note it's on branch m/lineage-19.1, github/lineage-19.1
Code:
commit adac70126753c3c666396c08d068147c4226255d
Author: Kyle Harrison <[email protected]>
Date: Wed Oct 27 14:54:44 2021 +0100
soong: Update camera_in_mediaserver_defaults
- Add [email protected]
Change-Id: I1ad534d87ce3b35d0116bccdbc0ac7f70c799c00
commit cff7740aea7cb154f800a428be712e2833bd8b5a (m/lineage-19.1, github/lineage-19.1)
Author: Nicholas Merill <[email protected]>
Date: Thu Jul 7 03:43:12 2022 +0530
sensitive_pn: Updates to USA list
Change-Id: I4405a50d00d7bc3b0d70e5233104895aaecb4cde
# press q to quit
If I do a
Bash:
vendor/lineage$ git log 8f67d055b36d992f2f09aa6f733aa06ee3d5b917
commit 8f67d055b36d992f2f09aa6f733aa06ee3d5b917
Author: Han Wang <[email protected]>
Date: Sat Feb 26 17:54:17 2022 +0100
Remove libbfqio
* BFQ is not enabled in kernels for recent devices. Considering
that pre-MSM8998 devices are likely to be dropped, it is time
for this ricing to die.
Change-Id: I7fcf7afa7aa7c7aaab2e7ee917b1e2e8203d0abb
In addition, this commit was done April 18, 2022 has shown by
https://github.com/LineageOS/android_vendor_lineage/commit/8f67d055b36d992f2f09aa6f733aa06ee3d5b917
and it has the same commit hash.
retiredtab said:
If you didn't do a repo sync earlier, you may not have the correct vendor/lineage repo.
If you
Bash:
cd vendor/lineage
git log
it should look like this (after applying the camera patch). Note it's on branch m/lineage-19.1, github/lineage-19.1
Code:
commit adac70126753c3c666396c08d068147c4226255d
Author: Kyle Harrison <[email protected]>
Date: Wed Oct 27 14:54:44 2021 +0100
soong: Update camera_in_mediaserver_defaults
- Add [email protected]
Change-Id: I1ad534d87ce3b35d0116bccdbc0ac7f70c799c00
commit cff7740aea7cb154f800a428be712e2833bd8b5a (m/lineage-19.1, github/lineage-19.1)
Author: Nicholas Merill <[email protected]>
Date: Thu Jul 7 03:43:12 2022 +0530
sensitive_pn: Updates to USA list
Change-Id: I4405a50d00d7bc3b0d70e5233104895aaecb4cde
# press q to quit
If I do a
Bash:
vendor/lineage$ git log 8f67d055b36d992f2f09aa6f733aa06ee3d5b917
commit 8f67d055b36d992f2f09aa6f733aa06ee3d5b917
Author: Han Wang <[email protected]>
Date: Sat Feb 26 17:54:17 2022 +0100
Remove libbfqio
* BFQ is not enabled in kernels for recent devices. Considering
that pre-MSM8998 devices are likely to be dropped, it is time
for this ricing to die.
Change-Id: I7fcf7afa7aa7c7aaab2e7ee917b1e2e8203d0abb
In addition, this commit was done April 18, 2022 has shown by
https://github.com/LineageOS/android_vendor_lineage/commit/8f67d055b36d992f2f09aa6f733aa06ee3d5b917
and it has the same commit hash.
Click to expand...
Click to collapse
Thanks for your response.
my response for git log
Bash:
commit 86b2513158d87d7f9836248ad6e2ac5bf9ff91af (HEAD)
Author: Kyle Harrison <[email protected]>
Date: Wed Oct 27 14:54:44 2021 +0100
soong: Update camera_in_mediaserver_defaults
- Add [email protected]
Change-Id: I1ad534d87ce3b35d0116bccdbc0ac7f70c799c00
commit 8e451618f9766f17ef796d734d93216dd69122b2 (grafted, m/lineage-19.1, github/lineage-19.1)
Author: Aaron Kling <[email protected]>
Date: Wed Jun 22 15:08:04 2022 -0500
overlay: Use -television instead of -large-notouch for atv
Mobile builds on devices with no touch panel are also getting these
settings applied, which is not intended.
Change-Id: I0e0e1635ec21f0fbddcaef311b443b80f2da2b86
So the git reverse should work now. The git revert is required otherwise you will get compiler errors.
I am still getting the same error. is there anyway to delete and just resync this folder ?
Bash:
git revert 8f67d055b36d992f2f09aa6f733aa06ee3d5b917
Result
fatal: bad object 8f67d055b36d992f2f09aa6f733aa06ee3d5b917
git status
Result
HEAD detached from 8e451618
nothing to commit, working tree clean
psuryatej said:
I am still getting the same error. is there anyway to delete and just resync this folder ?
Click to expand...
Click to collapse
I see the problem now after doing an experiment. You did a repo init with --depth=1 which only shows the last git commit in the history. See below. With --depth=1, it will never show the older git commits. I didn't notice the "grafted" earlier in the post.
Bash:
$ git clone https://github.com/LineageOS/android_vendor_lineage -b lineage-19.1 --depth=1
Cloning into 'android_vendor_lineage'...
remote: Enumerating objects: 424, done.
remote: Counting objects: 100% (424/424), done.
remote: Compressing objects: 100% (281/281), done.
remote: Total 424 (delta 93), reused 286 (delta 53), pack-reused 0
Receiving objects: 100% (424/424), 32.08 MiB | 22.65 MiB/s, done.
Resolving deltas: 100% (93/93), done.
$ cd android_vendor_lineage/
$ git log
commit fa16b42ddd1eb341f201b8d810c717ea12afe1cb (grafted, HEAD -> lineage-19.1, origin/lineage-19.1, origin/HEAD)
Author: Luca Stefani <[email protected]>
Date: Mon Sep 12 17:55:12 2022 -0400
kernel: Allow passing empty DTB to mkbootimg via board-flag
* Boot Image header v2 demands a DTB be passed by default.
* We don't /need/ one at all, as we have and use a dedicated
DTB partition.
* Signing hates trying to find dtb.img anywhere for some magical
reason, so cheat and introduce a flag to include a blank one.
Change-Id: I889ce3815476a55829870b30de1b9210283a79ae
You can add those required files back by downloading
https://github.com/LineageOS/android_vendor_lineage/tree/lineage-18.1/libbfqio
into the appropriate directories. There's only 3 small files to download, but the directory structure has to match the above URL.
By doing the above, you don't have to do the git revert.
retiredtab said:
I see the problem now after doing an experiment. You did a repo init with --depth=1 which only shows the last git commit in the history. See below. With --depth=1, it will never show the older git commits. I didn't notice the "grafted" earlier in the post.
Bash:
$ git clone https://github.com/LineageOS/android_vendor_lineage -b lineage-19.1 --depth=1
Cloning into 'android_vendor_lineage'...
remote: Enumerating objects: 424, done.
remote: Counting objects: 100% (424/424), done.
remote: Compressing objects: 100% (281/281), done.
remote: Total 424 (delta 93), reused 286 (delta 53), pack-reused 0
Receiving objects: 100% (424/424), 32.08 MiB | 22.65 MiB/s, done.
Resolving deltas: 100% (93/93), done.
$ cd android_vendor_lineage/
$ git log
commit fa16b42ddd1eb341f201b8d810c717ea12afe1cb (grafted, HEAD -> lineage-19.1, origin/lineage-19.1, origin/HEAD)
Author: Luca Stefani <[email protected]>
Date: Mon Sep 12 17:55:12 2022 -0400
kernel: Allow passing empty DTB to mkbootimg via board-flag
* Boot Image header v2 demands a DTB be passed by default.
* We don't /need/ one at all, as we have and use a dedicated
DTB partition.
* Signing hates trying to find dtb.img anywhere for some magical
reason, so cheat and introduce a flag to include a blank one.
Change-Id: I889ce3815476a55829870b30de1b9210283a79ae
You can add those required files back by downloading
https://github.com/LineageOS/android_vendor_lineage/tree/lineage-18.1/libbfqio
into the appropriate directories. There's only 3 small files to download, but the directory structure has to match the above URL.
By doing the above, you don't have to do the git revert.
Click to expand...
Click to collapse
Many thanks for explaining the details.
I am using the fix from the link below to build lineage-19.1 on 8gb ram
Workarounds for building Android 12 on 8GB RAM
I am getting the error during the build process and sharing the full log in
Error log
please let me know your thoughts on this
I never had that error. For your error, I suggest you do a
Code:
make clean
brunch
If that doesn't work, perhaps your repo sync didn't work and one or more repos is out of sync. I would run repo sync again.
Where is your manifest.xml and source code for 19.1?
retiredtab said:
I never had that error. For your error, I suggest you do a
Code:
make clean
brunch
If that doesn't work, perhaps your repo sync didn't work and one or more repos is out of sync. I would run repo sync again.
Where is your manifest.xml and source code for 19.1?
Click to expand...
Click to collapse
Noted, Will try repo sync again.
I haven't started building sm-p555
Still using your manifest.xml and source code only.
Once the build succeeds, I will start mine.
psuryatej said:
Noted, Will try repo sync again.
I haven't started building sm-p555
Still using your manifest.xml and source code only.
Once the build succeeds, I will start mine.
Click to expand...
Click to collapse
make clean and repo sync didn't help
I am trying to download the full sources without depth=1 and see if that helps.
psuryatej said:
make clean and repo sync didn't help
I am trying to download the full sources without depth=1 and see if that helps.
Click to expand...
Click to collapse
I've followed those same instructions for the Aug 5th and Sept 5th security patches and it works. I also had someone else build 19.1 SM-T710 with similar instructions.
Mine was built using Lubuntu 20.04 and 22.04.
retiredtab said:
I've followed those same instructions for the Aug 5th and Sept 5th security patches and it works. I also had someone else build 19.1 SM-T710 with similar instructions.
Mine was built using Lubuntu 20.04 and 22.04.
Click to expand...
Click to collapse
I am building using
HOST_OS_EXTRA=Linux-5.13.0-52-generic-x86_64-Ubuntu-20.04.4-LTS
@retiredtab Thanks for all your response. Can you help to build SM-P555 using my repositories here ? Repo
psuryatej said:
@retiredtab Thanks for all your response. Can you help to build SM-P555 using my repositories here ? Repo
Click to expand...
Click to collapse
The 19.1 build instructions, manifest, device trees, commits are on my github. You have to replicate all those to your own trees. All the hard work has been already done by me.
Related
Hello,
I need to recompile the kernel to get the serial port through the usb plug (google: android serialport api htc )
The kernel shipped with cm-7.2.0-click is 2.6.35.14 (-Arco-Kalim) and I can't find this version on git for this phone (that would take /proc/config.gz with no modification by using make menuconfig+save).
Anybody has some clue ?
Thanks
david
deyv said:
Hello,
I need to recompile the kernel to get the serial port through the usb plug (google: android serialport api htc )
The kernel shipped with cm-7.2.0-click is 2.6.35.14 (-Arco-Kalim) and I can't find this version on git for this phone (that would take /proc/config.gz with no modification by using make menuconfig+save).
Anybody has some clue ?
Thanks
david
Click to expand...
Click to collapse
If you need to make just minor tweaks, use dsxda's kitchen to extract the kernel, make changes and then repack it
Hi deyv,
kernel source for tattoo and wildfire are into arco git:
https://github.com/arco/htc-kernel-msm7225
and here's the gingerbread branch config file for tattoo:
https://github.com/arco/htc-kernel-msm7225/blob/gingerbread/arch/arm/configs/click_defconfig
bye
yen
Thanks a lot !
Thanks to both of you I managed to recompile a kernel, and repack it in the official cm7.2 using dsixda.
I have now the serial port /dev/ttyMSM2 that appeared (which I still have to test) and this is great
But I have now the touchscreen which is totally broken (touch is working but gives random places, never under the thumb). I compared the two rom-zip files, and there is absolutely no difference between them, except a new binary /system/bin/wmdsi, and of course the kernel (no difference in ramdisk.img).
Here is the .config diff.
Do you have any clue ?
edit: screen and touchpad X and Y axis are reversed, (in both landscape and portrait mode)
Code:
--- click_defconfig 2012-07-25 08:56:38.219763553 +0200
+++ click_defconfig-noheadset-serialport 2012-07-26 01:43:44.190274884 +0200
@@ -2,5 +2,5 @@
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.35.14
-# Wed Feb 1 07:32:28 2012
+# Thu Jul 26 01:43:22 2012
#
CONFIG_ARM=y
@@ -363,6 +363,5 @@
# CONFIG_MICROP_COMMON is not set
# CONFIG_HTC_HEADSET_MGR is not set
-CONFIG_HTC_HEADSET_V1=y
-CONFIG_HTC_AUDIOJACK_V1=y
+# CONFIG_HTC_HEADSET_V1 is not set
# CONFIG_HTC_ONMODE_CHARGING is not set
# CONFIG_BUILD_CIQ is not set
@@ -1192,5 +1191,7 @@
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_MSM is not set
+CONFIG_SERIAL_MSM=y
+# CONFIG_SERIAL_MSM_CONSOLE is not set
+# CONFIG_SERIAL_MSM_CLOCK_CONTROL is not set
# CONFIG_SERIAL_MSM_HSL is not set
CONFIG_SERIAL_MSM_HS=y
Is not the L missing here?
Code:
# CONFIG_SERIAL_MSM_HSL is not set
CONFIG_SERIAL_MSM_HS=y
CONFIG_SERIAL_MSM_HS is flagged for 2.6.39 kernel onwards here http://cateee.net/lkddb/web-lkddb/SERIAL_MSM_HS.html
Other than this i suggest to extract kernel config from a working cm7 rom to check if it match that on github (just in case of)
To compile kernel do you have used toolchain shipped with cm?
bye
yen
The /proc/config.gz extracted from the original running cm7.2 matches the second link you wrote above.
and the two following lines are in it (you can check):
Code:
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.35.14
# Wed Feb 1 07:32:28 2012
[...]
# CONFIG_SERIAL_MSM_HSL is not set
CONFIG_SERIAL_MSM_HS=y
Yes, I have used the toolchain shipped with cm's git repository.
I'm using the remotes/origin/gingerbread branch of arco's kernel :
Code:
$ git branch -a
* (no branch)
ics
remotes/origin/HEAD -> origin/ics
remotes/origin/gingerbread
remotes/origin/ics
$ git diff -r remotes/origin/gingerbread
$
I had also compiled the entired android (not the kernel) with the same toolchain and it worked. I am now using the original CM distribution, not the one I compiled but with the new .config I described above.
Can it be a /proc/cmdline problem ? I can't see where it is stored, it's obviously not in the rom:
Code:
# bash
localhost / # cat /proc/cmdline
board_bahamas.disable_uart3=0 board_bahamas.usb_h2w_sw=0 board_bahamas.disable_sdcard=0 diag.enabled=0 board_bahamas.debug_uart=0 smisize=0 androidboot.baseband=3.35.07.20 androidboot.cid=ORANG202 androidboot.carrier=ORANGE-French androidboot.mid=CLIC10000 androidboot.keycaps=azerty androidboot.mode=normal androidboot.serialno=SH9BGLG00083 androidboot.bootloader=0.52.0001 no_console_suspend=1 console=null
localhost / #
Should I restart the process from scratch ?
So original kernel config & source and toolchain are all good, i got no (possibly) good idea at all.
Should I restart the process from scratch ?
Click to expand...
Click to collapse
last try should perhaps be to compile kernel inline with the rom (not tested if it's possible in cm7 too like for cm9)
bye
yen
Lets assume we've fetched the source tree
Code:
repo init -u git://github.com/omnirom/android.git -b android-4.4 && repo sync
.. committed some local project changes and then saved a snapshot
Code:
repo manifest -o ~/snapshot.xml -r
Will another 'repo sync' wipe the snapshot from our local tree or can we still revert to that snapshot later on?
Where to find reference to the snapshot in the local tree?
aguaz said:
Lets assume we've fetched the source tree
Code:
repo init -u git://github.com/omnirom/android.git -b android-4.4 && repo sync
.. committed some local project changes and then saved a snapshot
Code:
repo manifest -o ~/snapshot.xml -r
Will another 'repo sync' wipe the snapshot from our local tree or can we still revert to that snapshot later on?
Where to find reference to the snapshot in the local tree?
Click to expand...
Click to collapse
I would have expected that the snapshot build would be reproducible even after a 'repo sync' if:
- the local changes are committed to local topic/feature branches on your local clone(s) of the omnirom git repo(s)
My impression is, if you want to be sure that your manifest snapshot remains relevant, clone the upstream git repo(s) and commit your changes to your clone on a local branch. Use a local_manifest to specify your branch/revision rather than the default branch/revision that sync'ing with upstream will change or reset.
Hopefully someone else will offer a definitive answer.
Meanwhile I'm using btrfs copy-on-write feature to store snapshots:
Before syncing make a reference of the current-tree with
Code:
cp -a --reflink=always old-tree/ new-tree/
This "copy" won't take up disk space other than for the references themselves. You can now sync new-tree/ and always go back to the old one.
I guess it's pretty similar to using btrfs' snapshot feature.
Im sick of seeing guides around that tell you all about how to build a rom but never ever go into detail about the hardest part in my opinion which is obtaining device specific code, its ridiculous!? So im here to help.
Just a prior note, im no dev, ive never built from source before (hopefully this will change in few days ) and the real devs are people like Luk & Luca who built a lovely repos for us with lots of good documentation. So please go and give Luca & Luk a thanks on any one of there posts!
Also i would like to personally thank Luca for helping me when i asked for info regarding building.
Lets get started shall we!
1 - Pre-requisites
4+ GB RAM (I have 4GB)
Preferably a Quad-Core CPU (I have an i5)
At least 90GB of HDD/SSD space for the repo & ccache (SSD recommended for faster compile times, i have a 750GB HDD)
GPU - (not needed but may aswell throw it in here) GTX-740M & Intel HD 4000 (Optimus technology - not working on Linux though)
And lastly a Github account, please go make one (its free!)
2 - Installing Linux
We need a Linux based 64 bit OS, i use Lubuntu with my own tweaks
Download and install it, either dual-boot or use it as your primary OS like the bad-ass you are! (If you want help on doing this there at least +100000 guides in google and youtube alone)
3 - Grabbing build dependencies
Code:
sudo apt-get install git && cd ~/ && git clone https://github.com/DiamondBond/Scripts/ .init-scripts && cd ~/.init-scripts && ./dev_init.sh
Copy & Pasta that code above into your terminal and accept/press ok/press yes to any prompts that appear
That should get your system fit with all the necessary things to build and work with androids source, its about 900mb of a download! So sit back and relax...
4 - Preparing to download the massive source-code
I recommend downloading a small movie before doing this so you can relax while it all syncs! (just be sure to keep your eye on that sync window to make sure its still scrolling...)
Lets make a folder to hold all our stuff:
Code:
mkdir -p ~/android/titan/roms/cm && cd ~/android/titan/roms/cm
Now your inside the cm folder, you have to be in the cm directory every-time you want to start building!
Now initiate the cm repo: (one-time thing)
Code:
repo init -u git://github.com/CyanogenMod/android.git -b cm-12.1
Now it might give a small error at the end stating for some email and user id stuff.
So now is the time to add your github infos (run this in terminal):
Code:
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
EG:
Code:
git config --global user.email "[email protected]"
git config --global user.name "Diamond Bond"
We havnt yet downloaded the CM source, but we will in the next part...
(source code is roughly 35GB for CM12.1 , pure AOSP is slightly smaller)
5 - Downloading & waiting
Note: Straight after syncing official CM12.1 repo this is its size: (31GB)
{
"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"
}
It is time!, run one of the two commands below (depending on your networking speed) to initiate the long wait of syncing!)
Code:
repo sync
Finished? sweet, lets have a rave party!
6 - Building!
Now once youve downloaded all the source code you should be able to run your first build after init!
Thanks to some nice build scripts by Luca and Luk, running builds is super duper easy!
To initialize the last thing, run:
Code:
. build/envsetup.sh
then to build run
Code:
brunch titan
to build, ive read around and on my system it should only take 1.5 to 3 hours tops, and my system is mediocre + its a laptop so take in account that it may thermally throttle, if you have a desktop it should only take around 1-2 hours with relatively decent specs!
7 - Party Time!
If you want help please leave a comment in this thread and i/others will try to help.
Also if you do get a successful build done please share it with us, we would love to be a part of your victory party!
Thanks to this guide: http://forum.xda-developers.com/chef-central/android/guide-android-rom-development-t2814763
&
Luca & Luk again!
@Pizza_Dox
Replace
Code:
mkdir ~/titan/ && cd ~/titan/ && mkdir cm12 && cd ~/titan/cm12/
With
Code:
mkdir -p ~/titan/cm12 && cd ~/titan/cm12/
Also users don't need github account to just build the rom.
I would try this, but I don't have a cat. Thanks for sharing tho
Exactly what I was looking .
Thank you for sharing.
LuK1337 said:
@Pizza_Dox
Replace
Code:
mkdir ~/titan/ && cd ~/titan/ && mkdir cm12 && cd ~/titan/cm12/
With
Code:
mkdir -p ~/titan/cm12 && cd ~/titan/cm12/
Also users don't need github account to just build the rom.
Click to expand...
Click to collapse
Thanks updated.
hippy dave said:
I would try this, but I don't have a cat. Thanks for sharing tho
Click to expand...
Click to collapse
Haha welcome
CaptainCaptcha said:
Exactly what I was looking .
Thank you for sharing.
Click to expand...
Click to collapse
Enjoy!
LuK1337 said:
@Pizza_Dox
Replace
Code:
mkdir ~/titan/ && cd ~/titan/ && mkdir cm12 && cd ~/titan/cm12/
With
Code:
mkdir -p ~/titan/cm12 && cd ~/titan/cm12/
Also users don't need github account to just build the rom.
Click to expand...
Click to collapse
Oh right i know you dont need a github account but its better to have one
Updating this soon
Sent from my Motorola Titan
I dont know why but every time i repo sync it gets stuck here for quiet a long time and after sometimes ends up in error like below.. Is it that its downloading below package file again
koradiavatsal said:
I dont know why but every time i repo sync it gets stuck here for quiet a long time and after sometimes ends up in error like below.. Is it that its downloading below package file again
Click to expand...
Click to collapse
Sent from MicroTitan
There are some tricks to before compiling.
This is just the introduction to compile Cyanogenmod
Good job @Pizza_Dox :good:
klander said:
There are some tricks to before compiling.
This is just the introduction to compile Cyanogenmod
Good job @Pizza_Dox :good:
Click to expand...
Click to collapse
And they are? Please let us know
Sent from MicroTitan
Code:
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.4.4
CM_VERSION=
TARGET_PRODUCT=full
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a
TARGET_CPU_VARIANT=generic
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.16.0-4-amd64-x86_64-with-debian-8.0
HOST_BUILD_TYPE=release
BUILD_ID=KTU84Q
OUT_DIR=/data/deepak/titan/cm11/out
============================================
Checking build tools versions...
************************************************************
You are attempting to build with an unsupported JDK.
You use OpenJDK but only Sun/Oracle JDK is supported.
Please follow the machine setup instructions at
https://source.android.com/source/download.html
Continue at your own peril!
************************************************************
************************************************************
You are attempting to build with an unsupported version
of java.
Your version is: java version "1.7.0_75".
The correct version is: Java SE 1.6 or 1.7.
Please follow the machine setup instructions at
https://source.android.com/source/download.html
************************************************************
find: `bootable/recovery/res-720': No such file or directory
No private recovery resources for TARGET_DEVICE generic
Entire build directory removed.
Set cache size limit to 50.0 Gbytes
/tmp/hudson8243709547868758627.sh: line 13: ./resync.sh: No such file or directory
including device/generic/armv7-a-neon/vendorsetup.sh
including device/generic/goldfish/vendorsetup.sh
including device/generic/mips/vendorsetup.sh
including device/generic/x86/vendorsetup.sh
including vendor/cm/vendorsetup.sh
including sdk/bash_completion/adb.bash
including vendor/cm/bash_completion/git.bash
including vendor/cm/bash_completion/repo.bash
including vendor/cm/vendorsetup.sh
ls: cannot access device/*/titan/cm.mk: No such file or directory
build/core/product_config.mk:234: *** Can not locate config makefile for product "cm_titan". Stop.
Device titan not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_motorola_titan
Default revision: cm-11.0
Checking branch info
Default revision cm-11.0 not found in android_device_motorola_titan. Bailing.
Branches found:
cm-12.0
Use the ROOMSERVICE_BRANCHES environment variable to specify a list of fallback branches.
ls: cannot access device/*/titan/cm.mk: No such file or directory
build/core/product_config.mk:234: *** Can not locate config makefile for product "cm_titan". Stop.
** Don't have a product spec for: 'cm_titan'
** Do you have the right repo manifest?
No such item in brunch menu. Try 'breakfast'
real 0m17.121s
user 0m0.256s
sys 0m0.024s
Build step 'Execute shell' marked build as failure
Sending e-mails to: [email protected]
[BFA] Scanning build for known causes...
[BFA] Done. 0s
Finished: FAILURE
Can someone help please? or just list me with cm11 commands of repo initialisation and device trees?
klander said:
There are some tricks to before compiling.
This is just the introduction to compile Cyanogenmod
Good job @Pizza_Dox :good:
Click to expand...
Click to collapse
Oh okay, well thank you, ill try and add whatever more into this so more people can compile,
Quick steps for compiling cm11
I hope you dont mind adding to OP
repo init -u git://github.com/CyanogenMod/android -b cm-11.0
curl --create-dirs -L -o .repo/local_manifests/titan.xml -O -L https://raw.githubusercontent.com/motog2014devteam/roomservice/cm-11.0/manifest.xml
repo sync
Thanks @LuK1337
Sent from MicroTitan
koradiavatsal said:
Quick steps for compiling cm11
I hope you dont mind adding to OP
repo init -u git://github.com/CyanogenMod/android -b cm-11.0
curl --create-dirs -L -o .repo/local_manifests/titan.xml -O -L https://raw.githubusercontent.com/motog2014devteam/roomservice/cm-11.0/manifest.xml
repo sync
Thanks @LuK1337
Sent from MicroTitan
Click to expand...
Click to collapse
done
Great, I'll try this guide, thank you very much I was always curious about ROM development. In case, where can I ask questions about it ?
Regarding this guide : is necessary to create a bin folder in home directory ? Usually I put large binaries in /opt/. Is there any permission problem ?
davcri91 said:
Great, I'll try this guide, thank you very much I was always curious about ROM development. In case, where can I ask questions about it ?
Regarding this guide : is necessary to create a bin folder in home directory ? Usually I put large binaries in /opt/. Is there any permission problem ?
Click to expand...
Click to collapse
Thanks
Um I think its best to keep the binary as is since other things might link to it and etc... Questions can be asked here I or others will try to help! Glad this helps.
Is there a way to use these steps to similarly build a kernel? As Moto G2 lollipop kernel sources are out (http://www.androidpolice.com/2015/02/23/motorola-finally-posts-kernel-source-lollipop-2014-moto-x), I want to try building a stock kernel.
@LuK1337 Is this guide still work since titan switched to new kernel?
I get this errors while building
<code>
find: `dummy': No such file or directory
build/core/tasks/kernel.mk:130: **********************************************************
build/core/tasks/kernel.mk:131: * Kernel source found, but no configuration was defined *
build/core/tasks/kernel.mk:132: * Please add the TARGET_KERNEL_CONFIG variable to your *
build/core/tasks/kernel.mk:133: * BoardConfig.mk file *
build/core/tasks/kernel.mk:134: **********************************************************
make: *** No rule to make target 'bacon'. Stop.
</code>
koradiavatsal said:
@LuK1337 Is this guide still work since titan switched to new kernel?
I get this errors while building
<code>
find: `dummy': No such file or directory
build/core/tasks/kernel.mk:130: **********************************************************
build/core/tasks/kernel.mk:131: * Kernel source found, but no configuration was defined *
build/core/tasks/kernel.mk:132: * Please add the TARGET_KERNEL_CONFIG variable to your *
build/core/tasks/kernel.mk:133: * BoardConfig.mk file *
build/core/tasks/kernel.mk:134: **********************************************************
make: *** No rule to make target 'bacon'. Stop.
</code>
Click to expand...
Click to collapse
So
rm -rf out
rm -rf .repo/local_manifests
rm -rf build* resync.sh patches
And follow the guide
Or join irc hannel isntead of using thread xd
Hello everyone!
I am pretty busy with my own life,and will most likely keep being busy until summer.
Until then,I shall provide you with the formula which will enable you to create primarily CM builds from source!
In this case,related to rom builders- THE MORE,THE MERRIER!
Take notice,this guide is pretty compatible with other roms like PAC,Slim,Bliss,etc. with just a few little changes.
Of course,many thanks to Unjustified Dev for teaching me all the things needed to build roms.
Also,a big thanks to the thread located HERE
First of all,let's begin with setting up the build environment.
REQUIREMENTS
- a highly functional brain which features excessive determination and highly logical thinking
- any Ubuntu 15.10 64-bit distro
- minimally 4GB of RAM
- minimally 150 GB for 1 rom directory
1. Install Ubuntu
-it HAS TO BE a Ubuntu distribution(I personally prefer Ubuntu GNOME,but Lubuntu is good for general speed)
-although one can install and use Ubuntu on a Virtual Machine,it's advisable to dual-boot it with Windows
2. Install Java 7 JDK(version 7 is for Lollipop)
Code:
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-7-jdk
3. Install other necessary tools
Code:
sudo apt-get install git-core gnupg ccache lzop flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5 lib32z1 lib32ncurses5-dev x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 lib32z-dev libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib tofrodos python-markdown libxml2-utils xsltproc readline-common libreadline6-dev libreadline6 libncurses5-dev lib32readline6 libreadline-dev libreadline6-dev:i386 libreadline6:i386 bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev libsdl1.2-dev libesd0-dev squashfs-tools pngcrush schedtool python
4. Then THIS
Code:
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
Now we will initialize Repo.
Repo is a repository management tool that we built on top of Git. Repo unifies the many Git repositories when necessary, does the uploads to our revision control system and automates parts of the Android development workflow.
1.
Code:
mkdir ~/bin && curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo && chmod a+x ~/bin/repo
2.
Code:
sudo nano ~/.bashrc
This command SHOULD open up a text file(.bashrc) in order for it to be edited
Now,scroll to the bottom,press ENTER,and add these lines
Code:
export PATH=~/bin:$PATH
export USE_CCACHE=1
Now press CTRL+O,press ENTER, and press CTRL+X
3. Refresh .bashrc
Code:
source ~/.bashrc
OKAY,now we should initialize git on your PC!
We will use the credentials of your created git account,so here are the commands:
Code:
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
You are officially done setting your PC up!
{
"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"
}
Oooookay,now let's get down to business!
PART 1
First of all,we will have to create a directory for rom build folders.
Here is MY EXAMPLE,you can name your folders however you want!
Then,of course,let's get our hands on the CyanogenMod manifest.
A manifest is a part of a rom's github directory network which holds the information which one uses to intialize a certain rom's build directory on his PC.
In our case,we need the manifest from CyanogenMod 12.1,which is HERE
There you will find this:
Of course,after you cd-d into your cm build directory,type this command in:
Code:
repo init -u git://github.com/CyanogenMod/android.git -b cm-12.1
Then navigate to the CM build folder,make hidden folders visible and open the manifest.xml in the text editor.
Find the "darwin" line,and delete the lines containing the darwin directories(the ones in the picture,there are other ones as well-delete them too)
This will reduce the download time by a decent amount. Those lines are meant for the PC to download files for MacOS,which we don't even need.
Now,let's move on to making the PC sync all the files for OUR device.
For that we need to create a file named "local_manifest.xml"
We will input the lines which will pull files for our device files from the repositories Unjustified Dev had made.
The final product is visible in the picture.
You most likely see an extra line on the bottom. That line is a MUST for CM,otherwise it won't build...
Here is it all in code,so you can just paste it. You are very welcome,by the way ;P
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="device/alcatel/idol3" name="TeamRegular/android_device_alcatel_idol3" remote="github" revision="cm-12.1" />
<project path="vendor/alcatel/idol3" name="TeamRegular/android_vendor_alcatel_idol3" remote="github" revision="cm-12.1" />
<project path="kernel/alcatel/msm8916" name="TeamRegular/android_kernel_alcatel_msm8916" remote="github" revision="cm-12.1" />
<project path="device/qcom/common" name="CyanogenMod/android_device_qcom_common" remote="github" revision="cm-12.1" />
</manifest>
Okay,now we can perform a REPO SYNC.
Type in
Code:
repo sync -c
Now,depending on your internet download speed,all the files will be downloaded to your PC.
Now we will set up ccache and prebuilt Webview.
Ccache is a type of cache. Without tiring you with the details,I will make it simple.
You do understand that a lot of tools will be working while making your build,right?
Ccache stores the data those build tools need,so after the first time,those tools won't need to load all the data yet again.
This saves a lot of time!
Now,we already did one part of this set up while editing .bashrc,but this is the main attraction.
Make sure you are in your cm build directory when typing this command,or you will get an error saying "no directory"
Code:
prebuilts/misc/linux-x86/ccache/ccache -M 64G
Now,onto prebuilt Webview.
You see,this is only for those who have less than 8GB of RAM.
While being created,the Webview will hog around 7GB of RAM,overloading the PC and making it freeze for more than 8 hours until it force-stops the building or decides to pull it off after extra 6 hours,resulting in 14 hours for one single damn file.
Buuut,because
I will show you how to make the build finish in less than 12 hours at first,and then in less than 4 hours on "dirty"(aka stack builds).
1. Open up your manifest.xml
2. Find the line holding " webview ".
then,replace the line
Code:
<project path="frameworks/webview" name="CyanogenMod/android_frameworks_webview" />
with this line
Code:
<project path="frameworks/webview" name="arter97/android_frameworks_webview" remote="github" revision="cm-12.1" />
3. Go to " frameworks " folder and delete the " webview " folder
4. In the terminal(while in the CM folder,of course) type
Code:
repo sync -c --force-sync
and wait for it to do its magic
5. Open the newly appeared " webview " folder inside the " frameworks" folder, and open its " Readme.mkdn " file with a text editor
6. Follow its procedure,I present to you the pictures of things I changed!
7. Save the changes!
Woohoo,another step closer!
PART 2
Now the real party begins!
Make sure you are in your CM folder.
Type THIS command:
Code:
. build/envsetup.sh
Then THIS one:
Code:
lunch cm_idol3-userdebug
And finally,THIS one
Code:
mka bacon
Which, in the end, should look like THIS
The building procedure has begun. U.U
Reserved #2
Reserved #3
The Marionette said:
Reserved #3
Click to expand...
Click to collapse
Thanks for your Hard Work So i don't have time and i'm stopping to developping,when i have free time i will try to make newer builds...
Oookay...
It's complete as far as CM building goes.
When I get the time(not soon due to school and lots and lots of tests),I will maybe create a guide for the ones, who want to have a go at other roms and who want to experiment with the kernel.
The Marionette said:
Oookay...
It's complete as far as CM building goes.
When I get the time(not soon due to school and lots and lots of tests),I will maybe create a guide for the ones, who want to have a go at other roms and who want to experiment with the kernel.
Click to expand...
Click to collapse
After a lot of trying i tried with ubuntu 16,14,12 32 bit and 64 ,manjaro and other...but doesn't worked to set up the pc and i tried with gnome 64 bit today works so i'm going tomorrow to make new build with this guide because today i"m having the lowest speed of internet, at the moment i'm using the "old" pc WHO has 2gb ram 500 gb hdd and 2.2 ghz intel because my new pc was "dead":crying:Thanks for guide Alek Dev
2GB of RAM is not enough,it won't work.
Ubuntu 16.04 or any other 16.04 distro is broken,use 15.10.
Sent from my 6045K using Tapatalk
The Marionette said:
2GB of RAM is not enough,it won't work.
Ubuntu 16.04 or any other 16.04 distro is broken,use 15.10.
Sent from my 6045K using Tapatalk
Click to expand...
Click to collapse
What can problems i wil have if i try to build with 2gb ram
And tomorrow i will install 15.10
Alek Dev said:
What can problems i wil have if i try to build with 2gb ram
And tomorrow i will install 15.10
Click to expand...
Click to collapse
Try thinking logically.
No memory=errors/crashes
Sent from my 6045K using Tapatalk
The Marionette said:
Try thinking logically.
No memory=errors/crashes
Sent from my 6045K using Tapatalk
Click to expand...
Click to collapse
I will try tomorrow
So i'm started download sources...
hi marionette i do everything so i'm going to build but i get problem
[email protected]:~/roms/cm/12.1$ lunch cm_idol3-userdebug
build/target/product/core_minimal.mk:66: *** missing separator. Stop.
Device idol3 not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Repository for idol3 not found in the CyanogenMod Github repository list. If this is in error, you may need to manually add it to your local_manifests/roomservice.xml.
build/target/product/core_minimal.mk:66: *** missing separator. Stop.
Alek Dev said:
hi marionette i do everything so i'm going to build but i get problem
[email protected]:~/roms/cm/12.1$ lunch cm_idol3-userdebug
build/target/product/core_minimal.mk:66: *** missing separator. Stop.
Device idol3 not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Repository for idol3 not found in the CyanogenMod Github repository list. If this is in error, you may need to manually add it to your local_manifests/roomservice.xml.
build/target/product/core_minimal.mk:66: *** missing separator. Stop.
Click to expand...
Click to collapse
You messed up while editing core_minimal.mk .
I even gave out a picture with the edited lines... .-___-.
here's screenshoot
Alek Dev said:
here's screenshoot
Click to expand...
Click to collapse
Take a look at MY picture and YOUR picture
Take a close look,and try to notice something is missing in yours
The Marionette said:
Take a look at MY picture and YOUR picture
Take a close look,and try to notice something is missing in yours
Click to expand...
Click to collapse
solved. deleted the lines and write manually and works so i'm going to build it"
I'm waiting about 3 hours and 30 mins No errors or crashes ☺☺☺☺...when approximately will be finish??
It depends on you PC components.. From couple of hours to 2 days
Killa Beez
Here's my
2.2 ghz Intel
2Gb ram
500 gb HDD
At the moment i'm waiting about 4h and 40 min here's where i am
Target arm c: libavcodec_32 external/ffmpeg/libavcodec/....
---------- Post added at 17:14 ---------- Previous post was at 16:31 ----------
after a lot of waiting 5hrs i get the error
http://hastebin.com/itehawadal.hs
Dear friends,
I really need your help compiling PureNexus for Manta. Here is what I did:
1) set up the environment. I'm fairly sure that I did this right, on Ubuntu 16.04. I installed the required libs, openjdk7, android sdk, set the PATH, installed repo ofc.
2) created a folder for the project, did the repo init as specified in the github manifest:
Code:
repo init -u https://github.com/PureNexusProject/manifest.git -b mm2
Next, before doing a repo sync, I added a local manifest in .repo/local_manifests/local_manifest.xml, with the following content:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="gh" fetch="git://github.com/" />
<project path="kernel/samsung/manta" name="CyanogenMod/android_kernel_samsung_manta" remote="gh" revision="cm-13.0" />
<project path="device/samsung/manta" name="CyanogenMod/android_device_samsung_manta" remote="gh" revision="cm-13.0" />
<project path="vendor/samsung/manta" name="TheMuppets/proprietary_vendor_samsung" remote="gh" revision="cm-13.0" />
</manifest>
This is what I was able to find regarding manta. I added the device tree and kernel from Cyanogen's, and the vendor stuff from TheMuppets.
3) repo sync -j5 successfully downloaded everything, so it was build time!
4) As manta is not officially supported, I had to add and edit a few things here and there:
4.1) in vendor/nexus/products/AndroidProducts.mk I added this code:
Code:
ifeq (nexus_manta,$(TARGET_PRODUCT))
PRODUCT_MAKEFILES += $(LOCAL_DIR)/nexus_manta.mk
endif
4.2) next I actually created the nexus_manta.mk. I copied and adapted the flounder one, it ended up like this:
Code:
#Include Pure Nexus tablet configuration
include vendor/nexus/configs/nexus_tablet.mk
# Inherit AOSP device configuration for flounder
$(call inherit-product, device/samsung/manta/aosp_manta.mk)
# Override AOSP build properties
PRODUCT_NAME := nexus_manta
PRODUCT_BRAND := Google
PRODUCT_DEVICE := manta
PRODUCT_MODEL := Nexus 10
PRODUCT_MANUFACTURER := Samsung
# Device Fingerprint
PRODUCT_BUILD_PROP_OVERRIDES += \
PRODUCT_NAME=mantaray \
BUILD_FINGERPRINT=google/mantaray/manta:6.0.1/MOB30P/2960889:user/release-keys \
PRIVATE_BUILD_DESC="mantaray-user 6.0.1 MOB30P 2960889 release-keys"
4.3) finally i edited vendor/nexus/vendorsetup.sh to add this line at the end:
Code:
add_lunch_combo nexus_manta-user
5) After this I did:
Code:
. build/envsetup.sh
lunch
picked number 31, nexus_manta-user, all seemed fine.
6) Time to build, "brunch manta". This won't end up well, the current issue is:
Code:
make: * No rule to make target '/home/android/android/system/out/target/product/manta/obj/SHARED_LIBRARIES/libinvensense_hal_intermediates/export_includes', needed by '/home/android/android/system/out/target/product/manta/obj/SHARED_LIBRARIES//import_includes'. Stop.
make: * Waiting for unfinished jobs....
I must admit that manta and exynos 5 arent really popular, cause I often never found anything useful.
Anyway, I'm stuck there, but in the next post I'll add something that I tried to get started again, but didn't work out.
Thank you so much everyone,
TD
The error told you the issue
manta make file requested libinvensense_hal and your build has no Android.mk claiming to build such a thing
i published instructions a while go to build manta M, try following those to start with
dmitrygr said:
The error told you the issue
manta make file requested libinvensense_hal and your build has no Android.mk claiming to build such a thing
i published instructions a while go to build manta M, try following those to start with
Click to expand...
Click to collapse
Wow that is a completely different execution step by step.... Hopefully the mix of the two will produce something.... Thanks man!
dmitrygr said:
The error told you the issue
manta make file requested libinvensense_hal and your build has no Android.mk claiming to build such a thing
i published instructions a while go to build manta M, try following those to start with
Click to expand...
Click to collapse
Mate do you think that you can help me with this new error?
I can't really understand how it can happen, since it's not really on a part of code that is related to Manta, isn't it?
Code:
frameworks/av/media/libstagefright/codecs/mp3dec/SoftMP3.cpp:268:17: error: format specifies type 'unsigned long' but the argument has type 'OMX_U32'
(aka 'unsigned int') [-Werror,-Wformat]
Thank you so much,
TD
tylerdurden83 said:
Mate do you think that you can help me with this new error?
I can't really understand how it can happen, since it's not really on a part of code that is related to Manta, isn't it?
Code:
frameworks/av/media/libstagefright/codecs/mp3dec/SoftMP3.cpp:268:17: error: format specifies type 'unsigned long' but the argument has type 'OMX_U32'
(aka 'unsigned int') [-Werror,-Wformat]
Thank you so much,
TD
Click to expand...
Click to collapse
Did you ever manage to fix this? I'm having the same error trying to build AOSP6 for a different device (lt03wifi, Galaxy Note 10.1 2014).
it is just a type mismatch. this particular one is harmless on a 32-bit arm device (sizes are same)
fix it in source code (cast to int)