LineageOS build for H910 - LG V20 Questions & Answers

I am having issues building for the H910. I have followed all the steps in this guide (including extracting proprietary)
When I run the breakfast h910 command I get the following message
[email protected]:~/android/system$ breakfast h910
including vendor/cm/vendorsetup.sh
Looking for dependencies in device/lge/h910
Looking for dependencies in device/lge/v20-common
Looking for dependencies in device/lge/msm8996-common
Looking for dependencies in device/qcom/common
Dependencies file not
Dependencies file not found, bailing out.found, bailing out.
Looking for dependencies in device/lge/common
Click to expand...
Click to collapse
Does the hive have any resources for me to read to correct the issue?

Related

How to build busybox from sources?

I'm trying to build busybox from sources.
I use last NDK as toolchain.
I started building it from original sources checked out from official busybox's git. Some small fixes with includes/declarations and stuff. Didn't finish fixing these problems.
And found out that cyanogenmod already has it with fixes I made for my build, but wrapped in __BIONIC__ define.
I decided to build it from cyanogenmod git (http://github.com/cyanogen/android_external_busybox) cause it looks like it already solved all that small build problems.
But I can't invoke make properly.
It has Android.mk, If I invoke usual
Code:
make ARCH=arm CROSS_COMPILE="arm-eabi-" CFLAGS="-I/home/astar/android/android-ndk-r4/build/platforms/android-8/arch-arm/usr/include"
it doesn't use Android.mk makefile and fails with those small problems.
But if I invoke it with -f Android.mk It fails with error
Code:
$ make ARCH=arm CROSS_COMPILE="arm-eabi-" CFLAGS="-I/home/astar/android/android-ndk-r4/build/platforms/android-8/arch-arm/usr/include" -f Android.mk
cat: /busybox-full.sources: No such file or directory
make: *** CC=cc: No such file or directory. Stop.
cat: /busybox-full.links: No such file or directory
cat: /busybox-minimal.sources: No such file or directory
make: *** CC=cc: No such file or directory. Stop.
looking inside Android.mk i think, that it fails with setting LOCAL_PATH. Setting it manually inside Android.mk doesn't help.
Can anyone point me to proper guide/howto?
How do You build busybox?
I have really little knowledge about building parts of Android system, but I think that you can't build it using makefile directly. When you are building Android system, then building process begins with some initialization, macros are defined, etc. and then makefiles of subprojects are called. This is why you get errors - you run makefile of busybox directly, but building process isn't initialized properly.
On the other hand NDK does this initialization when you are building native application, but you don't use NDK properly. NDK apps aren't build using regular make command.
There's three build systems for android:
SDK - Java
NDK - C/C++
android-sources - unixy stuff
You might need the android-sources rather than NDK to build busybox. To do that you'll need to download the sources then source the build/envsetup.sh then run "mm" in the directory that has your Android.mk
I have some instructions here (for dropbear, not busybox, but should be similar):
http://teslacoilsw.com/dropbear
Check the Building section.
[email protected] said:
I have some instructions here (for dropbear, not busybox, but should be similar):
http://teslacoilsw.com/dropbear
Check the Building section.
Click to expand...
Click to collapse
Thank you very much. It is the magic I was looking for (crap, I spent 10 hours trying to find out how to do it):
Code:
export TOP=/path/to/android-sources
source "$TOP/build/envsetup.sh"
mm
I managed to build AOSP with java 1.6. Check this patch if you're interested in.
I tried to build cm's busybox with AOSP but it fails (I expected that). Currently I'm getting cm sources. Hope that it'll be ok.
Do you know if I have to build whole tree before external utils (=busybox)? Cause when I tried to do it before aosp build it failed with make dependencies.

Using Git in an unusual workflow

Hi people, this is my first post here, I think is the best place where I can discuss my programming issues. If this post isn't in the correct place, please move it and forgive my dumbness.
I'm working in some personal projects, android apps, in my house. There I have my PC with Eclipse and Git, at the end of the weekend I'm always commiting changes and uploading them to GitHub. When I go to my office, sometimes I have some spare time and I open Eclipse to start working, but of course I synchronize the GitHub repository data with my local data (in order to work with the latest changes I've made in my house), but I'm always having troubles with this action: I don't know how to discard my local old files, keep the files that haven't been modified and download the latest version of my modified files. I always end deleting the folder and cloning the repo again because I mess the files... I'm sure there is a better way.
So, I'd be delighted if you could assist me on how should I work with this feature of Git. I'd like too to take advice to improve my workflow. I've checked lots of sites and tutorials about Git but I haven't been able to get useful info to match with my workflow...
Thank you in advance
kyomuga said:
Hi people, this is my first post here, I think is the best place where I can discuss my programming issues. If this post isn't in the correct place, please move it and forgive my dumbness.
I'm working in some personal projects, android apps, in my house. There I have my PC with Eclipse and Git, at the end of the weekend I'm always commiting changes and uploading them to GitHub. When I go to my office, sometimes I have some spare time and I open Eclipse to start working, but of course I synchronize the GitHub repository data with my local data (in order to work with the latest changes I've made in my house), but I'm always having troubles with this action: I don't know how to discard my local old files, keep the files that haven't been modified and download the latest version of my modified files. I always end deleting the folder and cloning the repo again because I mess the files... I'm sure there is a better way.
So, I'd be delighted if you could assist me on how should I work with this feature of Git. I'd like too to take advice to improve my workflow. I've checked lots of sites and tutorials about Git but I haven't been able to get useful info to match with my workflow...
Thank you in advance
Click to expand...
Click to collapse
Hi, this should be the right section for talking git, don't worry
My understanding is that you have some local (uncommited) changes on your machine at work, and you want to pull the latest commits from your distant repository while avoiding merge conflicts, is that correct ?
If it is, then you have several solutions at your disposal:
The easiest and cleanest way is to stash your local changes, pull the new commits and then pop the stashed changes to commit them over the up-to-date repo later on:
(replace <remote> and <branch> with your actual remote and target branch, for example git pull origin master)
Code:
git stash
git pull <remote> <branch>
git stash pop
The branch is now up to date and your local changes are still there for you to commit or to continue modifying.
If instead you decide that you don't need the local changes you stashed anymore, instead of popping them you can clear the stash:
Code:
git stash clear
If you want to fetch remote changes for all the branches, replace the git pull with:
Code:
git fetch <remote>
If all you want is to get rid of your local changes and sync with upstream repo, you can use:
Code:
git checkout .
git pull <remote> <branch>
Hope this helps, let me know if you need further help, or if I didn't understand your question properly :silly:
Androguide.fr said:
If all you want is to get rid of your local changes and sync with upstream repo, you can use:
Code:
git checkout .
git pull <remote> <branch>
Click to expand...
Click to collapse
Thank you very much. This is what I need, or at least what fits best with my workflow, as I'm always starting programming from the point i've stopped working in another place, being like this:
When I get to work:
Code:
git checkout .
git pull <remote> <branch>
So I'm getting my updated code as I stopped programming at home
Minutes after going home:
Code:
git add .
git commit -m "another day, another commit"
git push origin master
When I get home:
Code:
git checkout .
git pull <remote> <branch>
So I'm getting my updated code as I stopped programming at work
Minutes after going to bed:
Code:
git add .
git commit -m "another day, another commit"
git push origin master
This is a correct workflow? or I'm misusing the benefits of Git?
kyomuga said:
Thank you very much. This is what I need, or at least what fits best with my workflow, as I'm always starting programming from the point i've stopped working in another place, being like this:
When I get to work:
Code:
git checkout .
git pull <remote> <branch>
So I'm getting my updated code as I stopped programming at home
Minutes after going home:
Code:
git add .
git commit -m "another day, another commit"
git push origin master
When I get home:
Code:
git checkout .
git pull <remote> <branch>
So I'm getting my updated code as I stopped programming at work
Minutes after going to bed:
Code:
git add .
git commit -m "another day, another commit"
git push origin master
This is a correct workflow? or I'm misusing the benefits of Git?
Click to expand...
Click to collapse
Yeah, this looks correct, as long as you don't need your local changes this is probably the best way.

[Q] Help with CM11 for i9500 building

Hi Guys,
I have been following @ALBERTO and the rest of the guys with huge interest over the last month.
I decided to have a go at building CM11 for my i9500 using the sources available so far.
I have my cm sources repo synced and I have the proprietary blobs pulled from the device.
What I am having trouble with is where to put the kernel sources and the device tree and what to run to get it all working.
I run $ . build/envsetup.sh && brunch i9500 and nothing happens.
Code:
build/envsetup.sh:2122: no matches found: vendor/*/*/vendorsetup.sh
including vendor/cm/vendorsetup.sh
ls: cannot access device/*/i9500/cm.mk: No such file or directory
build/core/product_config.mk:233: *** Can not locate config makefile for product "cm_i9500". Stop.
Device i9500 not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Could someone please just lay out the most high level stuff about where to clone which repos and im sure I can figure it out.
Kind Thanks
Clive

[DEV] Docker template for building CyanogenMod

Docker template for building CyanogenMod​
Building CyanogenMod requires quite a lot of work. You will need to install a large number of dependencies, and you will need to read through lots of documentation.
Docker is a rather new software to automate the deployment of applications inside a software container.
Here is a Docker container for running an environment which contains everything that is needed to compile CyanogenMod. It will be very easy to install, and it will just work! The Github page contains some further information on how to get started.
NOTE: You will need to install Docker to proceed: https://www.docker.io/gettingstarted/
How to run:
Code:
git clone https://github.com/stucki/docker-cyanogenmod.git
cd docker-cyanogenmod
./run.sh
How to build CyanogenMod for your device:
Code:
repo init -u git://github.com/CyanogenMod/android.git -b cm-13.0
repo sync
source build/envsetup.sh
brunch <device codename> # example: brunch grouper
Download:
Github URL: https://github.com/stucki/docker-cyanogenmod
ChangeLog:
see https://github.com/stucki/docker-cyanogenmod/blob/master/CHANGELOG.md
Questions and Answers:
see http://forum.xda-developers.com/android/help/qa-docker-template-building-cyanogenmod-t3173025
Any feedback is welcome. Enjoy!
michael_ch said:
Docker template for building CyanogenMod​
Building CyanogenMod requires quite a lot of work. You will need to install a large number of dependencies, and you will need to read through lots of documentation.
Docker is a rather new software to automate the deployment of applications inside a software container.
Here is a Docker container for running an environment which contains everything that is needed to compile CyanogenMod. It will be very easy to install, and it will just work! The Github page contains some further information on how to get started.
How to build:
Code:
git clone https://github.com/stucki/docker-cyanogenmod.git
cd docker-cyanogenmod
./build.sh
How to run:
Code:
cd docker-cyanogenmod
./run.sh
How to build CyanogenMod for your device:
Code:
repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
repo sync
source build/envsetup.sh
breakfast <device codename> # example: breakfast grouper
brunch <device codename> # example: brunch grouper
Download:
Github URL: https://github.com/stucki/docker-cyanogenmod
ChangeLog:
Code:
2014-02-16
* Initial release
Any feedback is welcome. Enjoy!
Click to expand...
Click to collapse
seems interesting!!!!
Awesome !!! Thanks a lot OP
michael_ch said:
Docker template for building CyanogenMod​
Click to expand...
Click to collapse
:good: nice.......
You missed one point though .....
Code:
BUILD_HOST_32bit=1 (Cyanogenmod needs 32 bit binaries to compile)
and you can incorporate this in your code
Code:
RUN apt-get purge openjdk-\* icedtea-\* icedtea6-\*
RUN add-apt-repository ppa:webupd8team/java
RUN apt-get update && sudo apt-get install oracle-java6-installer
This installs the correct jdk for cyanogenmodand resolves the incorrect jre errors some people will get..Just my 2 cents!!..
There is scope for expansion, I have a built a similar tool but not getting the time anymore to push new updates..,,,anyways keep up the good work..
Wow. This is superb. ! This will really reduce our most of the work. Thanks op
Dark Wraith said:
:good: nice.......
You missed one point though .....
Code:
BUILD_HOST_32bit=1 (Cyanogenmod needs 32 bit binaries to compile)
Click to expand...
Click to collapse
32bit libraries are installed on the system. Just try it out, I successfully built images for i9100 and grouper without specifying this line...
Dark Wraith said:
and you can incorporate this in your code
Code:
RUN apt-get purge openjdk-\* icedtea-\* icedtea6-\*
RUN add-apt-repository ppa:webupd8team/java
RUN apt-get update && sudo apt-get install oracle-java6-installer
Click to expand...
Click to collapse
Again, I don't get those errors. Anyone else encountering these problems?
Dark Wraith said:
This installs the correct jdk for cyanogenmodand resolves the incorrect jre errors some people will get..Just my 2 cents!!..
There is scope for expansion, I have a built a similar tool but not getting the time anymore to push new updates..,,,anyways keep up the good work..
Click to expand...
Click to collapse
Thank you! I will do my best...
I get this error when running
"./build.sh"
./build.sh: 10: ./build.sh: docker: not found
Dasmikko said:
I get this error when running
"./build.sh"
./build.sh: 10: ./build.sh: docker: not found
Click to expand...
Click to collapse
Well. You will need to install Docker, of course, see https://www.docker.io/gettingstarted/#h_installation.
Sorry, I thought it's clear. But I will update the post accordingly...
very interesting. will try
ubuntu 32 bit not works for this???
michael_ch said:
Well. You will need to install Docker, of course, see https://www.docker.io/gettingstarted/#h_installation.
Sorry, I thought it's clear. But I will update the post accordingly...
Click to expand...
Click to collapse
Works now
So does this create a local_manifest.xml(which is needed) for you if you're trying to build for an unsupported device
sent from my JEDI ELITE Note 3
for best xda results, click to enlarge ?
http://img268.imageshack.us/img268/9564/searchitnoob.gif
markbencze said:
So does this create a local_manifest.xml(which is needed) for you if you're trying to build for an unsupported device
Click to expand...
Click to collapse
Nope, the manifest is created by running the "breakfast" command. Check the 1st post for more info.
I have also used this box to successfully build an image for the Motorola Moto G. As this is not part of the CyanogenMod project yet, I had to install the manifest using the steps described on the following Github page: https://github.com/razrqcom-dev-team/android_local_razrqcom
Code:
# see https://github.com/razrqcom-dev-team/android_local_razrqcom
mkdir .repo/local_manifests
repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
curl -L -o .repo/local_manifests/msm8226.xml -O -L https://raw.github.com/razrqcom-dev-team/android_local_razrqcom/msm8226-kk/msm8226.xml
curl -L -o .repo/local_manifests/vendor.xml -O -L https://raw.github.com/razrqcom-dev-team/android_local_razrqcom/msm8226-kk/vendor.xml
# after that, sync all repositories
repo sync
# start building falcon (that's the codename for the Moto G)
source build/envsetup.sh
brunch falcon
Kudos for this goes to @dhacker29 and his team!
michael_ch said:
Nope, the manifest is created by running the "breakfast" command. Check the 1st post for more info.
I have also used this box to successfully build an image for the Motorola Moto G. As this is not part of the CyanogenMod project yet, I had to install the manifest using the steps described on the following Github page: https://github.com/razrqcom-dev-team/android_local_razrqcom
Click to expand...
Click to collapse
Ok well maybe I'll give it a whirl then. I was trying to build beanstalk for the n3 and I init the repo referencing the cm repo I already had synced, then sunced repo etc. When I tried breakfast there was no option to choose my device.
So by using this tool and following your directions will it allow me to do so then?
sent from my JEDI ELITE Note 3
for best xda results, click to enlarge ?
http://img268.imageshack.us/img268/9564/searchitnoob.gif
Is this only cyanogenmod restricted or we can use on other ROMs also?
Sent from my GT-I9100 using XDA Premium 4 mobile app
I get permission denied?
safariking said:
I get permission denied?
Click to expand...
Click to collapse
Run with sudo
markbencze said:
So by using this tool and following your directions will it allow me to do so then?
Click to expand...
Click to collapse
This is not a tool, it is just a script which creates a virtual machine with all that is needed for building CyanogenMod.
koolkunz said:
Is this only cyanogenmod restricted or we can use on other ROMs also?
Click to expand...
Click to collapse
Looking at the build requirements for OmniROM, I think it will also work for other ROMs: http://docs.omnirom.org/Setting_Up_A_Compile_Environment
In case that something is missing, just update the Dockerfile and run build.sh to rebuild the image.
michael_ch said:
This is not a tool, it is just a script which creates a virtual machine with all that is needed for building CyanogenMod.
Looking at the build requirements for OmniROM, I think it will also work for other ROMs: http://docs.omnirom.org/Setting_Up_A_Compile_Environment
In case that something is missing, just update the Dockerfile and run build.sh to rebuild the image.
Click to expand...
Click to collapse
OK..thanks...I wanna build omni
Sent from my GT-I9100 using XDA Premium 4 mobile app
I just did a build for grouper, but I can't find the builded file.. Where does it go? and does it output a zip file?
michael_ch said:
Docker template for building CyanogenMod​
Building CyanogenMod requires quite a lot of work. You will need to install a large number of dependencies, and you will need to read through lots of documentation.
Docker is a rather new software to automate the deployment of applications inside a software container.
Here is a Docker container for running an environment which contains everything that is needed to compile CyanogenMod. It will be very easy to install, and it will just work! The Github page contains some further information on how to get started.
NOTE: You will need to install Docker to proceed: https://www.docker.io/gettingstarted/
How to build:
Code:
git clone https://github.com/stucki/docker-cyanogenmod.git
cd docker-cyanogenmod
./build.sh
How to run:
Code:
cd docker-cyanogenmod
./run.sh
How to build CyanogenMod for your device:
Code:
repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
repo sync
source build/envsetup.sh
breakfast <device codename> # example: breakfast grouper
brunch <device codename> # example: brunch grouper
Download:
Github URL: https://github.com/stucki/docker-cyanogenmod
ChangeLog:
Code:
2014-02-16
* Initial release
Any feedback is welcome. Enjoy!
Click to expand...
Click to collapse
bro can this be used to make unofficial ports too???

[Q] [HELP] Can't build Cyanogenmod

Hey everyone, hope someone can help
When I run the command "breakfast hlte"
I get:
Syncing repository to retrieve project.
Fetching project CyanogenMod/android_device_samsung_hlte
Repository synced!
Looking for dependencies
Done
build/core/product_config.mk:238: *** _nic.PRODUCTS.[[device/samsung/hlte/cm.mk]]: "device/samsung/msm8960-common/msm8960.mk" does not exist. Stop.
** Don't have a product spec for: 'cm_hlte'
** Do you have the right repo manifest?
[email protected]:~/android/system$
Click to expand...
Click to collapse
Also, if I proceed and try to extract the proprietry blobs with "extract-files.sh" I get:
Extracting /system/etc/firmware/a330_pfp.fw ...
37 KB/s (2212 bytes in 0.058s)
Extracting /system/etc/firmware/a330_pm4.fw ...
91 KB/s (9220 bytes in 0.098s)
Extracting /system/vendor/lib/libmm-color-convertor.so ...
87 KB/s (9308 bytes in 0.103s)
Extracting /system/lib/cdma/libsec-ril.so ...
remote object '/system/lib/cdma/libsec-ril.so' does not exist
Click to expand...
Click to collapse
Any help would be appreciated
EDIT: the line where it fails is pointing the wrong place :/ I found it in root explorer so I'll see what I can do
EDIT: fixed the cdma/libsec-ril.so
but now it's complaining it can't find a gsm version...
Use the blobs from the GitHub repo TheMuppets/proprietary_vendor_samsung/tree/cm-11.0/hlte. Unfortunately I can't post a direct link due to onerous XDA restrictions on new user's posts. I am having the same problem with not being able to extract all the propietary blobs from my Note 3 device.
CW03 said:
Hey everyone, hope someone can help
When I run the command "breakfast hlte"
I get:
Also, if I proceed and try to extract the proprietry blobs with "extract-files.sh" I get:
Any help would be appreciated
EDIT: the line where it fails is pointing the wrong place :/ I found it in root explorer so I'll see what I can do
EDIT: fixed the cdma/libsec-ril.so
but now it's complaining it can't find a gsm version...
Click to expand...
Click to collapse
Did you ever get this figured out? I am trying to build right now and am having the same problem. I got the blobs from that github repository, and am still running into this same error.
[email protected]:~/android/system$ breakfast hlte
including vendor/cm/vendorsetup.sh
build/core/product_config.mk:238: *** _nic.PRODUCTS.[[device/samsung/hlte/cm.mk]]: "device/samsung/msm8960-common/msm8960.mk" does not exist. Stop.
Device hlte not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_samsung_hlte
Default revision: cm-11.0
Checking branch info
CyanogenMod/android_device_samsung_hlte already exists
Syncing repository to retrieve project.
Fetching project CyanogenMod/android_device_samsung_hlte
Repository synced!
Looking for dependencies
Done
build/core/product_config.mk:238: *** _nic.PRODUCTS.[[device/samsung/hlte/cm.mk]]: "device/samsung/msm8960-common/msm8960.mk" does not exist. Stop.
** Don't have a product spec for: 'cm_hlte'
** Do you have the right repo manifest?
[email protected]:~/android/system$
Click to expand...
Click to collapse
iamdanhenry said:
Did you ever get this figured out? I am trying to build right now and am having the same problem. I got the blobs from that github repository, and am still running into this same error.
Click to expand...
Click to collapse
Do you have device/samsung/msm8960-common/msm8960.mk? If you did used "lunch", it should add this repo (and a few others) to your .repo/local_manifests/roomservice.xml. The repos are defined in device/samsung/hlte/cm.dependencies, which should already be there.
If it doesn't fetch the repos automatically, you can do this with "repo sync".
For the proprietary blobs, you only need to add the samsung repo from TheMuppets github to your .repo/local_manifests/whatever.xml and "repo sync" to pull it in. No need to try to extract anything from your device.
jisoo said:
Do you have device/samsung/msm8960-common/msm8960.mk? If you did used "lunch", it should add this repo (and a few others) to your .repo/local_manifests/roomservice.xml. The repos are defined in device/samsung/hlte/cm.dependencies, which should already be there.
If it doesn't fetch the repos automatically, you can do this with "repo sync".
For the proprietary blobs, you only need to add the samsung repo from TheMuppets github to your .repo/local_manifests/whatever.xml and "repo sync" to pull it in. No need to try to extract anything from your device.
Click to expand...
Click to collapse
After I posted I went and downloaded msm8960-common repository and extracted it into the build directory, it then got the same error for some qualcomm libraries that were missing so I downloaded those as well. I then added the proprietary files from the "TheMuppets" repo.
It would appear things are going better now, but still can't build because of some errors with the kernel not being there. I am going to go download the kernel source and try to get it figured out. If I can't I will make a new thread.
Thank you for your help!

Categories

Resources