Related
In all tutorials I found this lines:
cd ~/android/system/device/htc/dream_sapphire/
./extract-files.sh
But i haven't ANY files in this directory(including this scipt). Can you upload for me all folder? I think about /android/system/device/htc/dream-sapphire/.
Thanks!
The command "extract_files.sh" will extract those files from your phone, but you need to have the phone connected via USB with your PC.
Before trying, you should check whether your adb connection with your phone is working.
Sent from my Gingerbread on Dream using XDA
ADB working for me, If I navigate to platform-tools:
[email protected]:~/sdk/platform-tools$ ./adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
But if I am In dream_sapphire folder, terminal show only that extract-files.sh not found:
bash: ./extract-files.sh: No such file or directory
From which sources do you want to build? For ezGingerbread for example the "extract-files.sh" is located in "~android/device/htc/sapphire".
Btw. adb devices should give you a list of connected devices. If that is empty (as you posted) something is not working correctly.
CyanogenMod sources. List of devices is not empty, my phone is present here but I found no need to paste this line.
Sorry, but I'm green in this. I want to learn some about building android. I follow this:
http://wiki.cyanogenmod.com/wiki/HTC_Dream_&_Magic:_Compile_CyanogenMod_(Linux)
But i type
repo init -u git://github.com/CyanogenMod/android.git ics
instead of
repo init -u git://github.com/CyanogenMod/android.git -b froyo-stable
dream/sapphire is not supported by CM7/CM9 and that's the reason you do not have the directory/files you are expecting. If you only want to get the proprietary files, you can also switch to an older release (e.g. CM6) for that project, but nevertheless you need to change several other things, too, before you will get a build. If you are not familiar with building from sources, I suggest you to start with something easier, i.e. CM6 or ezGingerbread.
Or you could run repo init from anddisa's or my git repos. I don't know his from memory but for mine you would run
Code:
repo init -u https://github.com/tvall43/android.git -b ics-ds
AndDiSa's might be a little better right now but I hope to eventually get mine running something close to stable if possible.
The latest version of cm with the dream/sapphire stuff is cm7 (even though they dropped support). Anything past that you'll have to port yourself (like AndDiSa and I) or wait for someone to.
Also, I'm half asleep. I could have (and likely did) post errors that I didn't notice. Google is your friend.
tvall said:
Or you could run repo init from anddisa's or my git repos. I don't know his from memory but for mine you would run
Code:
repo init -u https://github.com/tvall43/android.git -b ics-ds
AndDiSa's might be a little better right now but I hope to eventually get mine running something close to stable if possible.
The latest version of cm with the dream/sapphire stuff is cm7 (even though they dropped support). Anything past that you'll have to port yourself (like AndDiSa and I) or wait for someone to.
Also, I'm half asleep. I could have (and likely did) post errors that I didn't notice. Google is your friend.
Click to expand...
Click to collapse
OK, I just downloaded your repo. But...
Command:
lunch cyanogen_dream_sapphire-eng
Returns:
[email protected]:~/android/system$ . build/envsetup.sh
including device/htc/dream_sapphire/vendorsetup.sh
including vendor/cm/vendorsetup.sh
[email protected]:~/android/system$ lunch cyanogen_dream_sapphire
Invalid lunch combo: cyanogen_dream_sapphire
[email protected]:~/android/system$ lunch cyanogen_dream_sapphire-eng
vendor/htc/dream_sapphire/dream_sapphire-vendor-blobs.mk:46: *** missing separator. Stop.
Device dream_sapphire not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_htc_dream_sapphire
Adding dependency: CyanogenMod/android_device_htc_dream_sapphire -> device/htc/dream_sapphire
Traceback (most recent call last):
File "build/tools/roomservice.py", line 170, in <module>
add_to_manifest([{'repository':repo_name,'target_path':repo_path}])
File "build/tools/roomservice.py", line 121, in add_to_manifest
f = open('.repo/local_manifest.xml', 'w')
IOError: [Errno 2] No such file or directory: '.repo/local_manifest.xml'
vendor/htc/dream_sapphire/dream_sapphire-vendor-blobs.mk:46: *** missing separator. Stop.
** Don't have a product spec for: 'cyanogen_dream_sapphire'
** Do you have the right repo manifest?
And next, command:
[email protected]:~/android/system$ mka bacon
Returns:
make: *** No rule to make target `bacon'. Stop.
How to fix this?
Anybody can't help me?
blaster44 said:
Anybody can't help me?
Click to expand...
Click to collapse
Only CM uses the "make bacon" command. Unless they use the CM repo tool in their repo, it will be unavailable. Same goes for AOSP.
Sent from my HTC PH39100 using Tapatalk 2
This is a step by step guide to compiling Rootbox on your computer.
Requirements:
willingness to learn as you go
Ubuntu 12.04 64bit, dual-booted or virtual machine
some space on your Ubuntu partition, I'd say about 50GB to be very safe
an internet connection
You will need to setup the android environment on your computer first. The next step will depend on what version of ubuntu you use. The steps are laid out for version 12.10 of Ubuntu. If you have 12.04 you will have to search to make sure the files you are installing are the same version. I use a program called synaptic package manager to check to make sure the correct files are being installed. Most Ubuntu OS do not install it by default. To install it type this into a terminal:
Code:
sudo apt-get install synaptic
enter this command into the terminal.
Code:
sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline6-dev gcc-4.7-multilib g++-4.7-multilib libxml2-utils libxml2 xsltproc
After that is all installed you will need to get rid of any java installed on your system.
to get rid of it type this into the terminal
Code:
sudo apt-get remove openjdk* icedtea* default-jre
This should remove all instances of java. Now to get the java that you want.
to get java add this ppa.
Code:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java6-installer
Now to start building the rom.
in terminal type
Code:
mkdir ~/android/rootbox/
then type
Code:
cd ~/android/rootbox
in terminal type
Code:
repo init -u git://github.com/Root-Box/platform_manifest.git -b jb-mr1
in terminal type
Code:
gedit .repo/local_manifest.xml
place this inside file and save file
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="device/htc/ville" name="atrus5/device_htc_ville" remote="gh" revision="master" />
<project name="android_kernel_htc_msm8960" path="kernel/htc/msm8960" remote="cm" revision="cm-10.1" />
<project path="device/htc/msm8960-common" name="android_device_htc_msm8960-common" remote="cm" revision="cm-10.1" />
<project path="vendor/htc/ville" name="atrus5/vendor_htc_ville" remote="gh" revision="master" />
</manifest>
in terminal type
Code:
repo sync
Go have some food, maybe watch a movie, go golfing, whatever you want to do cause this will take quite awhile. When that is done in terminal type
Code:
gedit vendor/rootbox/vendorsetup.sh
add this to end of file and save
Code:
add_lunch_combo rootbox_ville-userdebug
in terminal type
Code:
gedit vendor/rootbox/products/ville.mk
add this to file and save
Code:
# Specify phone tech before including full_phone
$(call inherit-product, vendor/rootbox/configs/gsm.mk)
PRODUCT_RELEASE_NAME := ville
# Boot animation
TARGET_SCREEN_HEIGHT := 960
TARGET_SCREEN_WIDTH := 540
# Inherit some common CM stuff.
$(call inherit-product, vendor/rootbox/configs/common.mk)
# Inherit device configuration
$(call inherit-product, device/htc/ville/device_ville.mk)
# Ville Overlay
PRODUCT_PACKAGE_OVERLAYS += vendor/rootbox/overlay/common
# PA OVERLAY_TARGET
OVERLAY_TARGET := pa_hdpi
# Setup device specific product configuration.
PRODUCT_DEVICE := ville
PRODUCT_NAME := rootbox_ville
PRODUCT_BRAND := HTC
PRODUCT_MODEL := HTC One S
PRODUCT_MANUFACTURER := HTC
# Copy Bootanimation
PRODUCT_COPY_FILES += \
vendor/rootbox/prebuilt/hdpi/bootanimation.zip:system/media/bootanimation.zip
in terminal type
Code:
gedit vendor/rootbox/products/AndroidProducts.mk
add this to end of file and save. (note: you will need to add a ' \' to the line before it, without the quotations. that is a space before the \). For example here is what my last two lines look like. $(LOCAL_DIR)/t0lte.mk \
$(LOCAL_DIR)/ville.mk
Code:
$(LOCAL_DIR)/ville.mk
This part is optional. I do these steps just to make sure that I have all the necessary files to compile the rom.
plug in your phone
in terminal type
Code:
cd device/htc/ville
and
Code:
./extract-files.sh
Ok now back to building the rom. You don't have to do the above steps, it's just to make sure.
in terminal type
Code:
cd ~/android/rootbox
or wherever you have placed your rootbox build. This is where I store mine.
in terminal type
Code:
./build_rootbox.sh ville
This should compile the rom and you can flash the nightly build onto your phone. The file is in the out/target/product/ville directory.
I hope this helps.
Why not just share what you build?
Or are we not allowed to share what we build, like what happened for the Baked Black Bean ROM?
Sent from my HTC One S using Tapatalk 2
RockR172 said:
Why not just share what you build?
Or are we not allowed to share what we build, like what happened for the Baked Black Bean ROM?
Sent from my HTC One S using Tapatalk 2
Click to expand...
Click to collapse
Good point. I will ask them and see if I can.
atrus5 said:
Good point. I will ask them and see if I can.
Click to expand...
Click to collapse
I am going to try this right after Baked!
Bowmanspeer said:
I am going to try this right after Baked!
Click to expand...
Click to collapse
I'm guessing permissions were granted...
Bowmanspeer said:
I'm guessing permissions were granted...
Click to expand...
Click to collapse
Rootbox is being built by $droyd$ now. If you want the rom without having to build it you can go to the one s development section and download it from there. I know that you will not be able to get the files needed from the proprietary repo as well as the device/htc/ville repo. If you need them let me know.
atrus5 said:
Rootbox is being built by $droyd$ now. If you want the rom without having to build it you can go to the one s development section and download it from there. I know that you will not be able to get the files needed from the proprietary repo as well as the device/htc/ville repo. If you need them let me know.
Click to expand...
Click to collapse
Yeah. I actually tried and it aborted because of errors. I just want to learn.
I did Build Baked from the other How to. Its a little different when build it yourself... But I want to know more...
Bowmanspeer said:
Yeah. I actually tried and it aborted because of errors. I just want to learn.
I did Build Baked from the other How to. Its a little different when build it yourself... But I want to know more...
Click to expand...
Click to collapse
What were the errors? I felt the same way when trying to compile roms too. Got a lot of errors but struggled through it.
Sent from my One S using xda premium
atrus5 said:
What were the errors? I felt the same way when trying to compile roms too. Got a lot of errors but struggled through it.
Click to expand...
Click to collapse
2 main sources wouldn't download. One was a 404 page not found and the other had to do with permissions I think. I've closed the terminal so its gone. I didn't have this problem when I did Baked. The problem there was something to do with the Lunch menu till $droyd$ stepped in and provided a different command that compiled and produced the flashable zip and boot.img.
Bowmanspeer said:
2 main sources wouldn't download. One was a 404 page not found and the other had to do with permissions I think. I've closed the terminal so its gone. I didn't have this problem when I did Baked. The problem there was something to do with the Lunch menu till $droyd$ stepped in and provided a different command that compiled and produced the flashable zip and boot.img.
Click to expand...
Click to collapse
I have switched the post to reflect the changes needed for the error, or at least what I think is the error. These are changes to the local_manifest.xml file.
Thanks. I'll give it another whirl.
Sent.
Another one trying to compile...
Hello artus5,
thanks for your guide!! As I would like to learn how to build Roms from Source too, I just tested your manual.
Unfortunatelly I ran into problems, wright from the start. I got this error and don't know how to get over it...
HTML:
Lunching your device
build/core/product_config.mk:234: *** Can not locate config makefile for product "rootbox_". Schluss.
** Don't have a product spec for: 'rootbox_'
** Do you have the right repo manifest?
Starting RootBox build for
including vendor/rootbox/vendorsetup.sh
build/core/product_config.mk:234: *** Can not locate config makefile for product "rootbox_". Schluss.
** Don't have a product spec for: 'rootbox_'
** Do you have the right repo manifest?
No such item in brunch menu. Try 'breakfast'
Maybe you could help me with that.
Thanks and happy eastern!
rum0s said:
Hello artus5,
thanks for your guide!! As I would like to learn how to build Roms from Source too, I just tested your manual.
Unfortunatelly I ran into problems, wright from the start. I got this error and don't know how to get over it...
HTML:
Lunching your device
build/core/product_config.mk:234: *** Can not locate config makefile for product "rootbox_". Schluss.
** Don't have a product spec for: 'rootbox_'
** Do you have the right repo manifest?
Starting RootBox build for
including vendor/rootbox/vendorsetup.sh
build/core/product_config.mk:234: *** Can not locate config makefile for product "rootbox_". Schluss.
** Don't have a product spec for: 'rootbox_'
** Do you have the right repo manifest?
No such item in brunch menu. Try 'breakfast'
Maybe you could help me with that.
Thanks and happy eastern!
Click to expand...
Click to collapse
What are you typing for the command to start it? I have made some changes to the tutorial. Could you please reread it and tell me if you have typed anything wrong. I just tested it on mine and everything worked for me. It sounds like you have entered something wrong in the ville.mk file or else you typed ./build-rootbox.sh rootbox_ville instead of just ville. I also didn't put how to set up the android environment into the tutorial. I should probably do that as well.
atrus5 said:
It sounds like you have entered something wrong in the ville.mk file or else you typed ./build-rootbox.sh rootbox_ville instead of just ville. I also didn't put how to set up the android environment into the tutorial. I should probably do that as well.
Click to expand...
Click to collapse
Oh my fault... I entered ./build_rootbox.sh instead of ./build_rootbox.sh ville. Sorry!
As I'm very new to this and would really like to learn it, enhancing your tutorial would be very much appreciated :laugh:
Therefore I have a question.
The part where I add the local_manifest.xml. Is it for getting the devices files that are not included in the rootbox git repository as my device is not supported? Why do I have then to extract files from my device with the ./extract-files.sh script?
rum0s said:
Oh my fault... I entered ./build_rootbox.sh instead of ./build_rootbox.sh ville. Sorry!
As I'm very new to this and would really like to learn it, enhancing your tutorial would be very much appreciated :laugh:
Therefore I have a question.
The part where I add the local_manifest.xml. Is it for getting the devices files that are not included in the rootbox git repository as my device is not supported? Why do I have then to extract files from my device with the ./extract-files.sh script?
Click to expand...
Click to collapse
I did this just to make sure that all the files that were needed were taken from the phone. I don't like to leave anything out of the rom. I will change that to reflect the fact that all the files are already added. Thank you. I have changed to tutorial to be a full tutorial.
edit: thank you for making this into a better tutorial.
edit: the extra lines added to the local_manifest.xml file is for your device kernel as well as any device files that your phone will need.
@atrus5: you got PM and thanks
ok here's another question, as the compiling process has been aborted
it tells me something like (my terminal is in german):
HTML:
make: *** no rule to make target »vendor/rootbox/prebuilt/rootbox_ville.conf«,
from »/media/..../rootbox/out/target/product/ville/system/etc/paranoid/properties.conf«. end.
make: *** Waiting for processes not yet finished...
I couldn't find a file called rootbox_ville.conf in the prebuilt folder. Is this the problem?
Futhermore there were some files not found but the message was just skipped without any interuption/problem...
HTML:
find: "../../vendor/unbundled_google/libs/gcm/gcm-client/src": file or folder not found
find: "../../vendor/unbundled_google/libs/gcm/gcm-server/src": file or folder not found
find: "../../vendor/unbundled_google/libs/gcm/gcm-client/src": file or folder not found
find: "../../vendor/unbundled_google/libs/gcm/gcm-server/src": file or folder not found
rum0s said:
ok here's another question, as the compiling process has been aborted
it tells me something like (my terminal is in german):
HTML:
make: *** no rule to make target »vendor/rootbox/prebuilt/rootbox_ville.conf«,
from »/media/..../rootbox/out/target/product/ville/system/etc/paranoid/properties.conf«. end.
make: *** Waiting for processes not yet finished...
I couldn't find a file called rootbox_ville.conf in the prebuilt folder. Is this the problem?
Futhermore there were some files not found but the message was just skipped without any interuption/problem...
HTML:
find: "../../vendor/unbundled_google/libs/gcm/gcm-client/src": file or folder not found
find: "../../vendor/unbundled_google/libs/gcm/gcm-server/src": file or folder not found
find: "../../vendor/unbundled_google/libs/gcm/gcm-client/src": file or folder not found
find: "../../vendor/unbundled_google/libs/gcm/gcm-server/src": file or folder not found
Click to expand...
Click to collapse
That looks like something that rootbox has just added to there files in the last 9 hours. I don't know how to fix that yet. I will see what I can do.
rum0s said:
ok here's another question, as the compiling process has been aborted
it tells me something like (my terminal is in german):
HTML:
make: *** no rule to make target »vendor/rootbox/prebuilt/rootbox_ville.conf«,
from »/media/..../rootbox/out/target/product/ville/system/etc/paranoid/properties.conf«. end.
make: *** Waiting for processes not yet finished...
I couldn't find a file called rootbox_ville.conf in the prebuilt folder. Is this the problem?
Futhermore there were some files not found but the message was just skipped without any interuption/problem...
HTML:
find: "../../vendor/unbundled_google/libs/gcm/gcm-client/src": file or folder not found
find: "../../vendor/unbundled_google/libs/gcm/gcm-server/src": file or folder not found
find: "../../vendor/unbundled_google/libs/gcm/gcm-client/src": file or folder not found
find: "../../vendor/unbundled_google/libs/gcm/gcm-server/src": file or folder not found
Click to expand...
Click to collapse
You will need to change your ville.mk file to this as they have made changes onto the rootbox build. Replace everything in your ville.mk file with this.
Code:
# Specify phone tech before including full_phone
$(call inherit-product, vendor/rootbox/configs/gsm.mk)
PRODUCT_RELEASE_NAME := ville
# Boot animation
TARGET_SCREEN_HEIGHT := 960
TARGET_SCREEN_WIDTH := 540
# Inherit some common CM stuff.
$(call inherit-product, vendor/rootbox/configs/common.mk)
# Inherit device configuration
$(call inherit-product, device/htc/ville/device_ville.mk)
# Ville Overlay
PRODUCT_PACKAGE_OVERLAYS += vendor/rootbox/overlay/common
# PA OVERLAY_TARGET
OVERLAY_TARGET := pa_hdpi
# Setup device specific product configuration.
PRODUCT_DEVICE := ville
PRODUCT_NAME := rootbox_ville
PRODUCT_BRAND := HTC
PRODUCT_MODEL := HTC One S
PRODUCT_MANUFACTURER := HTC
# Copy Bootanimation
PRODUCT_COPY_FILES += \
vendor/rootbox/prebuilt/hdpi/bootanimation.zip:system/media/bootanimation.zip
edit: I would do a repo sync after changing the ville.mk file and also type in the terminal:
Code:
rm -rf out
This will start the build process all over again.
Okay fantastic, thanks for your immediate answer! compiling has been started again
So how did you figure it out, what the problem was? As I can see, there has been inserted an overlay...I just looked into the pa_hdpi.conf it's telling the system how various apps shall look like in terms of DPI. Was this the missing part? Or has an "old overlay" been removed?
Moreover I created a directory for the local_manifets.xml file in the .repo folder, as the compilier told me to do that. Maybe you could add this to your OP too.
So I used @kylevessPL's "ready" configuration ( https://github.com/kylevessPL/android_device_lge_l70pn ) for our device's CM 12.1 to try to compile it and see what happens.
But with no luck, unfortunately. For some reason, when I execute the brunch command, errors show up.
Here's an example of one of the a lot similar errors that appear just right after the previous one was fixed: http://pastebin.com/KkhjttJB .
The exact error here is:
"Notice file: external/zip/NOTICE -- /home/max-pc/cm-12.1/out/target/product/l70pn/obj/NOTICE_FILES/src//system/xbin/zip.txt
make: *** No rule to make target `device/lge/l70pn/prebuilt/usr/keylayout/Generic-290.kl', needed by `/home/max-pc/cm-12.1/out/target/product/l70pn/system/usr/keylayout/Generic-D290.kl'. Stop."
P.S: You can also see the Terminal error in the picture attached to the post.
P.S. 2: I did NOT execute the "vendor/cm/get-prebuilts" command in "Initializing repo" section, because it always says: "bash: vendor/cm/get-prebuilts: No such file or directory"
proudlytm said:
So I used @kylevessPL's "ready" configuration ( https://github.com/kylevessPL/android_device_lge_l70pn ) for our device's CM 12.1 to try to compile it and see what happens.
But with no luck, unfortunately. For some reason, when I execute the brunch command, errors show up.
Here's an example of one of the a lot similar errors that appear just right after the previous one was fixed: http://pastebin.com/KkhjttJB .
The exact error here is:
"Notice file: external/zip/NOTICE -- /home/max-pc/cm-12.1/out/target/product/l70pn/obj/NOTICE_FILES/src//system/xbin/zip.txt
make: *** No rule to make target `device/lge/l70pn/prebuilt/usr/keylayout/Generic-290.kl', needed by `/home/max-pc/cm-12.1/out/target/product/l70pn/system/usr/keylayout/Generic-D290.kl'. Stop."
P.S: You can also see the Terminal error in the picture attached to the post.
P.S. 2: I did NOT execute the "vendor/cm/get-prebuilts" command in "Initializing repo" section, because it always says: "bash: vendor/cm/get-prebuilts: No such file or directory"
Click to expand...
Click to collapse
Renames "l70pn" to the original "l70pds".... or edit the following lines;
in the path "device/lge/l70pds/device_l70pds.mk
the_naxhoo said:
Renames "l70pn" to the original "l70pds".... or edit the following lines;
in the path "device/lge/l70pds/device_l70pds.mk
Click to expand...
Click to collapse
I just tried but I don't know the new compile command. Can you tell it to me ? When I do it with cm_l70pds-userdebug instead with cm_l70pn-userdebug command, this happens:
[email protected]:~/cm-12.1$ brunch cm_l70pds-userdebug
including vendor/cm/vendorsetup.sh
build/core/product_config.mk:239: *** _nic.PRODUCTS.[[device/lge/l70pds/cm.mk]]: "device/lge/l70pn/full_l70pn.mk" does not exist. Stop.
Device l70pds not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Repository for l70pds 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/core/product_config.mk:239: *** _nic.PRODUCTS.[[device/lge/l70pds/cm.mk]]: "device/lge/l70pn/full_l70pn.mk" does not exist. Stop.
** Don't have a product spec for: 'cm_l70pds'
** Do you have the right repo manifest?
No such item in brunch menu. Try 'breakfast'
proudlytm said:
I just tried but I don't know the new compile command. Can you tell it to me ? When I do it with cm_l70pds-userdebug instead with cm_l70pn-userdebug command, this happens:
[email protected]:~/cm-12.1$ brunch cm_l70pds-userdebug
including vendor/cm/vendorsetup.sh
build/core/product_config.mk:239: *** _nic.PRODUCTS.[[device/lge/l70pds/cm.mk]]: "device/lge/l70pn/full_l70pn.mk" does not exist. Stop.
Device l70pds not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Repository for l70pds 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/core/product_config.mk:239: *** _nic.PRODUCTS.[[device/lge/l70pds/cm.mk]]: "device/lge/l70pn/full_l70pn.mk" does not exist. Stop.
** Don't have a product spec for: 'cm_l70pds'
** Do you have the right repo manifest?
No such item in brunch menu. Try 'breakfast'
Click to expand...
Click to collapse
no no no, my mistake, i'm sorry... you should use Github "VM03". Or my Github ( https://github.com/ignacio28 )
just change "device/lge/l70pds/prebuilt/usr/keylayout/Generic-290.kl:system/usr/keylayout/Generic-D290.kl" to "device/lge/l70pds/prebuilt/usr/keylayout/Generic-D290.kl:system/usr/keylayout/Generic-D290.kl" in the file "device_170pn.mk"
@proudlytm Would you like to do a telegram group for compilation on LG L Fino? @the_naxhoo is helping me with the compilation. If both of you tells me what to do i can help. I have already CM 12.1 sources downloads so maybe i can do something with my computer
carliquiss said:
@proudlytm Would you like to do a telegram group for compilation on LG L Fino? @the_naxhoo is helping me with the compilation. If both of you tells me what to do i can help. I have already CM 12.1 sources downloads so maybe i can do something with my computer
Click to expand...
Click to collapse
I wish I could help but I accidentally hard bricked my phone and I'm gonna take it to the place I bought it from and they're either gonna get it exchanged for a new one, or they will repair it. I think it will take like 1 week for everything to be done.
proudlytm said:
I wish I could help but I accidentally hard bricked my phone and I'm gonna take it to the place I bought it from and they're either gonna get it exchanged for a new one, or they will repair it. I think it will take like 1 week for everything to be done.
Click to expand...
Click to collapse
Okey no problem, if you want you can help is debugging the compilation and we can try in our smartphones. If you are interested send me a pm with your telegram name
Enviado desde mi Zippers 5 mediante Tapatalk
I am trying to build AOSP. I have followed some instructions and the best are the instructions of Sony. But when I come to the point to clone the local_manifests, I need to have another file. I have found the AOSP-bacon repo on github where is a local_manifests to clone. So I have done that but when I try to sync the repo with the command 'repo sync' it gives this back:
[email protected]:~/android$ repo sync
fatal: remove-project element specifies non-existent project: platform/build
I have searched but could not find the answer what to do now. Can someone help me or say what I need to do to build AOSP?
Lennert_F said:
I am trying to build AOSP. I have followed some instructions and the best are the instructions of Sony. But when I come to the point to clone the local_manifests, I need to have another file. I have found the AOSP-bacon repo on github where is a local_manifests to clone. So I have done that but when I try to sync the repo with the command 'repo sync' it gives this back:
[email protected]:~/android$ repo sync
fatal: remove-project element specifies non-existent project: platform/build
I have searched but could not find the answer what to do now. Can someone help me or say what I need to do to build AOSP?
Click to expand...
Click to collapse
try deleting platform/build manually from the source and delete the same from the local_manifest.xml file then do a repo sync.
Hello.
Been working on how to get a device kernel from source for the Mi note 10 pro (Mi CC9 Pro). I have gotten up to the point where it builds but fails due to dts folder is not found.
I need an example of what goes in DTC_EXT=
All I see on the net is DTC_EXT=dtc
Please help.
I use the kbuild/clang system that has a config that I can run.
I have CC, aosp toolchain, build-tools, qcom 8.0 llvm as real_cc. All linked, the only thing that fails is the dts files not being found
this is the issue i have
find: ‘arch/arm64/boot/dts/’: No such file or directory
terminal below
Spoiler: Terminal
Setting up for build
+ cd xsource
+ make CC=/home/avm/android/xkernel/prebuilts-master/clang/host/linux-x86/clang-r353983c/bin/clang HOSTCC=/home/avm/android/xkernel/prebuilts-master/clang/host/linux-x86/clang-r353983c/bin/clang O=/home/avm/android/xkernel/out/android-4.14/xsource mrproper
make[1]: Entering directory '/home/avm/android/xkernel/out/android-4.14/xsource'
find: ‘arch/arm64/boot/dts/’: No such file or directory
CLEAN scripts/basic
CLEAN scripts/kconfig
CLEAN .config
Used config
Spoiler: Build config
ARCH=arm64
SUBARCH=arm64
BRANCH=K4.14Q
CLANG_TRIPLE=aarch64-linux-gnu-
CROSS_COMPILE=~/android/xkernel/tsource/toolchains/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-
CROSS_COMPILE_ARM32=~/android/xkernel/tsource/toolchains/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi-
KBUILD_DEFCONFIG=~/android/xkernel/tsource/arch/arm64/configs/tucana_user_defconfig
DEFCONFIG=tucana_user_defconfig
POST_DEFCONFIG_CMDS=""
DTC_EXT=dtc
DTC_PREBUILTS_BIN=/scripts/dtc
KBUILD_OUTPUT=out
HOSTCC=gcc
CC=clang
AS=clang
AR=ar
CLANG_PREBUILT_BIN=/toolchains/clang/host/linux-x86/clang-r353983c/bin
BUILDTOOLS_PREBUILT_BIN=/toolchains/build-tools/linux-x86/bin
FILES="
arch/arm64/boot/Image.gz
vmlinux
System.map
"
Found out it has something to do with the arch folder itself.
I replace it with the arch folder in the AOSP-kernel folder and it does not show up saying its not found.
Still crashing due to a new error about the include folder and a file or 2 that is in it. still trying my best to get it working.
SOLUTION to DTS MISSING:
Replace the makefile in the boot directory of your ARCH= type for the device. with the make files in aosp kernel same location.
Just want to point out that you may not need to do any of this and it is normal for the build not to find anything due to it, needing to be created during the kernel build process. the Make file that is located in boot under the ARCH type has some settings in it if you are using a device source other then google devices which contains information that i think the build needs, in order to be made.
After everything I said above, further investigation has proven that the Make file in {ROOT}/arch/arm64/boot is incorrect based off the one in aosp-coral-4.14 correct config is below. copy and replace the whole thing in the file.
Spoiler: Correct Make file config
#
# arch/arm64/boot/Makefile
#
# This file is included by the global makefile so that you can add your own
# architecture-specific flags and dependencies.
#
# This file is subject to the terms and conditions of the GNU General Public
# License. See the file "COPYING" in the main directory of this archive
# for more details.
#
# Copyright (C) 2012, ARM Ltd.
# Author: Will Deacon <[email protected]>
#
# Based on the ia64 boot/Makefile.
#
include $(srctree)/arch/arm64/boot/dts/Makefile
OBJCOPYFLAGS_Image :=-O binary -R .note -R .note.gnu.build-id -R .comment -S
targets := Image Image.bz2 Image.gz Image.lz4 Image.lzma Image.lzo dtbo.img
DTB_NAMES := $(subst $\",,$(CONFIG_BUILD_ARM64_APPENDED_DTB_IMAGE_NAMES))
ifneq ($(DTB_NAMES),)
DTB_LIST := $(addsuffix .dtb,$(DTB_NAMES))
else
DTB_LIST := $(dtb-y)
endif
DTB_OBJS := $(shell find $(obj)/dts/ -name \*.dtb)
DTBO_OBJS := $(shell find $(obj)/dts/ -name \*.dtbo)
# Add RTIC DTB to the DTB list if RTIC MPGen is enabled
ifdef RTIC_MPGEN
DTB_OBJS += rtic_mp.dtb
endif
rtic_mp.dtb: vmlinux FORCE
$(RTIC_MPGEN) --objcopy="${OBJCOPY}" --objdump="${OBJDUMP}" \
--binpath="" --vmlinux="vmlinux" --config=${KCONFIG_CONFIG} \
--cc="${CC} ${KBUILD_AFLAGS}" --dts=rtic_mp.dts && \
$(DTC) -O dtb -o rtic_mp.dtb -b 0 $(DTC_FLAGS) rtic_mp.dts
$(obj)/Image: vmlinux FORCE
$(call if_changed,objcopy)
$(obj)/Image.bz2: $(obj)/Image FORCE
$(call if_changed,bzip2)
$(obj)/Image-dtb-hdr: $(obj)/Image FORCE
echo -n 'UNCOMPRESSED_IMG' > [email protected] && \
$(call size_append, $(filter-out FORCE,$^)) >> [email protected]
$(obj)/Image-dtb: $(obj)/Image-dtb-hdr $(obj)/Image $(DTB_OBJS) FORCE
$(call if_changed,cat)
$(obj)/Image.gz: $(obj)/Image FORCE
$(call if_changed,gzip)
$(obj)/Image.lz4: $(obj)/Image FORCE
$(call if_changed,lz4)
$(obj)/Image.lzma: $(obj)/Image FORCE
$(call if_changed,lzma)
$(obj)/Image.lzo: $(obj)/Image FORCE
$(call if_changed,lzo)
$(obj)/Image.gz-dtb: $(obj)/Image.gz $(DTB_OBJS) FORCE
$(call if_changed,cat)
$(obj)/Image.lz4-dtb: $(obj)/Image.lz4 $(DTB_OBJS) FORCE
$(call if_changed,cat)
$(obj)/dtbo.img: $(DTBO_OBJS) FORCE
$(call if_changed,mkdtimg)
install:
$(CONFIG_SHELL) $(srctree)/$(src)/install.sh $(KERNELRELEASE) \
$(obj)/Image System.map "$(INSTALL_PATH)"
zinstall:
$(CONFIG_SHELL) $(srctree)/$(src)/install.sh $(KERNELRELEASE) \
$(obj)/Image.gz System.map "$(INSTALL_PATH)"
All this does is fix the build saying dts not found.
***UPDATE 2022***
You require dtc binary file from AOSP prebuilts/misc/dtc
Copy it to the devices kernel folder in scripts/dtc. Was able to build kernel (not sure if it works)
Does it come from any commit of git hub, could you give me the link, mine arch/arm... makefile is similar to your old but it compile with no error. so strange
namhoang235 said:
Does it come from any commit of git hub, could you give me the link, mine arch/arm... makefile is similar to your old but it compile with no error. so strange
Click to expand...
Click to collapse
From my understanding you want the link to the makefile I got. Unfortunately it has been so long I am unable to remember where I got it from. But as a helpful tip. I searched Google for (device name) makefile and searched through links. I also tried. Device tree, build files. Hope that helps.
I gave up on building it because Xiaomi did not release any build files or device tree for Xiaomi CC9 PRO. Only released source files for it. So from my understanding. You would have to edit a pre existing one and match it to the device. Doing that is well above my knowledge.
In order to get at least a template for the CC9 device. You can get the template from Using Qualcomms AOSP builder which has the SM160 device in the list. It is seperate from Google's AOSP and requires a seperate download.
Also I would like to know how you managed to get the makefile working maybe I missed something and can go back fix it. May solve my problem I had.
Squida said:
From my understanding you want the link to the makefile I got. Unfortunately it has been so long I am unable to remember where I got it from. But as a helpful tip. I searched Google for (device name) makefile and searched through links. I also tried. Device tree, build files. Hope that helps.
I gave up on building it because Xiaomi did not release any build files or device tree for Xiaomi CC9 PRO. Only released source files for it. So from my understanding. You would have to edit a pre existing one and match it to the device. Doing that is well above my knowledge.
In order to get at least a template for the CC9 device. You can get the template from Using Qualcomms AOSP builder which has the SM160 device in the list. It is seperate from Google's AOSP and requires a seperate download.
Also I would like to know how you managed to get the makefile working maybe I missed something and can go back fix it. May solve my problem I had.
Click to expand...
Click to collapse
yeah, your experiment is very useful for me, i am in these trouble you 've met yesterday.i help me a lot. thank again
i really dont want to edit makefile as i see many source have the same make file, so it is a compiler tool with some another input file for it to make, so i only edit makefile when it got error itsefl, if it is the path error, then i really dont want to edit it,
Squida said:
From my understanding you want the link to the makefile I got. Unfortunately it has been so long I am unable to remember where I got it from. But as a helpful tip. I searched Google for (device name) makefile and searched through links. I also tried. Device tree, build files. Hope that helps.
I gave up on building it because Xiaomi did not release any build files or device tree for Xiaomi CC9 PRO. Only released source files for it. So from my understanding. You would have to edit a pre existing one and match it to the device. Doing that is well above my knowledge.
In order to get at least a template for the CC9 device. You can get the template from Using Qualcomms AOSP builder which has the SM160 device in the list. It is seperate from Google's AOSP and requires a seperate download.
Also I would like to know how you managed to get the makefile working maybe I missed something and can go back fix it. May solve my problem I had.
Click to expand...
Click to collapse
can you give me a hint?
my kernel can make standarlone with bash script, but when compile with rom it make tons of errors about path, so which file i need to puth something like cc=clang,.... to make it pass when build rom
namhoang235 said:
can you give me a hint?
my kernel can make standarlone with bash script, but when compile with rom it make tons of errors about path, so which file i need to puth something like cc=clang,.... to make it pass when build rom
Click to expand...
Click to collapse
A hint. Sir I would tell you exactly if I knew how. I myself have failed to be able to get a working kernel let alone a rom running. When flashing a kernel that fails and it's supposed to be from the phone. So that tells me the device tree is incomplete and thus if it is, it fails the build as well as the kernel. I know of Qualcomm's own device builder but I am unable to get that working due to it, unable to locate clang for build. No matter how much I try and set a path I get errors using Qualcomm's builder. AOSP won't build the rom for the device because AOSP does not have the device tree or build files required to build it. You get a template from Qualcomm's builder. Though I can never get it to build. It's all because Xiaomi have not released the device tree or build files. And the people who have gotten it working are probably using someone else tree and build files or has edited their own. That is also why some features of ROMs do not work. It's due to missing info on device tree. Hope this all gives you a better understanding why it's hard for beginners to build a rom for this phone. Because Xiaomi does not have the files on their open source repo.
Squida said:
A hint. Sir I would tell you exactly if I knew how. I myself have failed to be able to get a working kernel let alone a rom running. When flashing a kernel that fails and it's supposed to be from the phone. So that tells me the device tree is incomplete and thus if it is, it fails the build as well as the kernel. I know of Qualcomm's own device builder but I am unable to get that working due to it, unable to locate clang for build. No matter how much I try and set a path I get errors using Qualcomm's builder. AOSP won't build the rom for the device because AOSP does not have the device tree or build files required to build it. You get a template from Qualcomm's builder. Though I can never get it to build. It's all because Xiaomi have not released the device tree or build files. And the people who have gotten it working are probably using someone else tree and build files or has edited their own. That is also why some features of ROMs do not work. It's due to missing info on device tree. Hope this all gives you a better understanding why it's hard for beginners to build a rom for this phone. Because Xiaomi does not have the files on their open source repo.
Click to expand...
Click to collapse
i built for ginkgo (superior rom) it have enough compile source, device, kernel, vendor (vendor is fine), but device and kernel not come from official source tree, maybe it have conflict and have to fork to edit mysefl. very hard for beginer
namhoang235 said:
i built for ginkgo (superior rom) it have enough compile source, device, kernel, vendor (vendor is fine), but device and kernel not come from official source tree, maybe it have conflict and have to fork to edit mysefl. very hard for beginer
Click to expand...
Click to collapse
Yeah building from a custom rom is easier then building from AOSP. Especially if the files for the device are available for building. Usually that's why you see ROMs that say unofficial and official ROMs. Unofficial is usually a modified version of another custom rom for another device to suit your own. Heavily modified. I could be wrong but this is how I took it.
Squida said:
Yeah building from a custom rom is easier then building from AOSP. Especially if the files for the device are available for building. Usually that's why you see ROMs that say unofficial and official ROMs. Unofficial is usually a modified version of another custom rom for another device to suit your own. Heavily modified. I could be wrong but this is how I took it.
Click to expand...
Click to collapse
they put tons of personal stuff without a comment, and some source are not update even they release rom once a week, they fear of clone their source while they clone from git too, they are destroy the ideal of open source itself
@Squida sir, do you meet this, i have gcc 9.3.0 by default and prebuilt gcc in source are updated, so what path i need to config for this can recognize my gcc
error Sorry, your version of GCC is too old - please use 5.1 or newer
In file included from /root/super/kernel/xiaomi/ginkgo/include/linux/compiler_types.h:58:0,
from /root/super/kernel/xiaomi/ginkgo/include/linux/kconfig.h:74,
from <command-line>:0:
/root/super/kernel/xiaomi/ginkgo/include/linux/compiler-gcc.h:159:3: error: #error Sorry, your version of GCC is too old - please use 5.1 or newer.
# error Sorry, your version of GCC is too old - please use 5.1 or newer.
Click to expand...
Click to collapse
namhoang235 said:
@Squida sir, do you meet this, i have gcc 9.3.0 by default and prebuilt gcc in source are updated, so what path i need to config for this can recognize my gcc
error Sorry, your version of GCC is too old - please use 5.1 or newer
Click to expand...
Click to collapse
Make sure no other versions of gcc are being detected. Probably have more then one.
Also could be it may not be set as default.
Type gcc --version in terminal to check what is installed
Squida said:
Make sure no other versions of gcc are being detected. Probably have more then one.
Also could be it may not be set as default.
Type gcc --version in terminal to check what is installed
Click to expand...
Click to collapse
[email protected]:~/super# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/10/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 10.3.0-1ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-10/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-10 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-10-S4I5Pr/gcc-10-10.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-10-S4I5Pr/gcc-10-10.3.0/debian/tmp-gcn/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-mutex
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 10.3.0 (Ubuntu 10.3.0-1ubuntu1~20.04)
[email protected]:~/super#
Click to expand...
Click to collapse
This is a nut with me now.
namhoang235 said:
This is a nut with me now.
Click to expand...
Click to collapse
Lol yeah no idea. That's a lot of info for just doing a version check. If you don't want to uninstall and reinstall Linux. I would Google on how to set gcc xxx as default and see if that helps maybe even seeing if there is an automated .sh you can run so it installs and fixes the problems. I would do a search in the Linux repo on gcc and have a look for anything that says default. Usually those installers will also set it to default for you automatically. I myself am not good with Linux. So that's about as far as I could help on this situation you are in.
The gcc you may need is this https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/