Hi all !
My current project is to use my Raspberry Pi as a Build Machine to build all Android sources (AOSP). In fact, I'll not build AOSP but the CyanogenMod (wich is mainly a fork from AOSP).
I know this may sound crazy, dumb or useless (according to Google, a 64-bit environment is required, and a lot (>> 4GB) of RAM if you're in a hurry), especially to use an ARM processor to build while all the Makefiles has been written to be used on x86...
But what I'm thinking about is a really cheap, silent, but working build machine, to sync the repo and build nightlies everyday. The first build will take some days but then, only the changes will be build so I think that only some hours per day will be required.
If I success, I'll create a big tutorial to explain what changes was required.
First of all, I had to add the Linux-armv61 arch as Host OS/ARCH :
Code:
[email protected] ~/buildspace/android/system/build $ git diff
diff --git a/core/envsetup.mk b/core/envsetup.mk
index 862b7f0..34eb31a 100644
--- a/core/envsetup.mk
+++ b/core/envsetup.mk
@@ -77,6 +77,10 @@ ifneq (,$(findstring Power,$(UNAME)))
HOST_ARCH := ppc
endif
[COLOR="SeaGreen"]+ifneq (,$(findstring arm,$(UNAME)))
+ HOST_ARCH := armv61
+endif
+[/COLOR]
BUILD_ARCH := $(HOST_ARCH)
ifeq ($(HOST_ARCH),)
then, I did this (because the raspbian ld doesn't support --icf) :
AdamOutler said:
so I did a
Code:
[email protected] ~/adb $ grep -r 'icf=safe' ./*
./build/core/combo/TARGET_linux-arm.mk: -Wl,--icf=safe \
and I removed that icf parameter.
Click to expand...
Click to collapse
-->
Code:
[email protected] ~/buildspace/android/system/build $ git diff
diff --git a/core/combo/TARGET_linux-arm.mk b/core/combo/TARGET_linux-arm.mk
index b36111f..24e0d99 100644
--- a/core/combo/TARGET_linux-arm.mk
+++ b/core/combo/TARGET_linux-arm.mk
@@ -146,7 +146,6 @@ TARGET_GLOBAL_LDFLAGS += \
-Wl,-z,relro \
-Wl,-z,now \
-Wl,--warn-shared-textrel \
[COLOR="Red"]- -Wl,--icf=safe \[/COLOR]
$(arch_variant_ldflags)
# We only need thumb interworking in cases where thumb support
but now I am stuck with this error :
Code:
make -C kernel/samsung/smdk4210 O=/media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/KERNEL_OBJ ARCH=arm CROSS_COMPILE=" /media/totoext4part/cyanogenmod/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-" headers_install
make[1]: Entering directory `/media/totoext4part/cyanogenmod/system/kernel/samsung/smdk4210'
/media/totoext4part/cyanogenmod/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: 1: /media/totoext4part/cyanogenmod/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: Syntax error: "(" unexpected
CHK include/linux/version.h
make[1]: Leaving directory `/media/totoext4part/cyanogenmod/system/kernel/samsung/smdk4210'
/bin/bash: r: command not found
make: [/media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/lib/crtbegin_static.o] Error 127 (ignored)
[COLOR="SeaGreen"]target SharedLib[/COLOR]: libdl (/media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/LINKED/libdl.so)
/usr/bin/ld: error: /media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/LINKED/libdl.so uses VFP register arguments, /media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/libdl.o does not
/usr/bin/ld: failed to merge target specific data of file /media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/libdl.o
/usr/bin/ld: warning: creating a DT_TEXTREL in a shared object.
collect2: ld returned 1 exit status
make: *** [/media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/LINKED/libdl.so] Error 1
I don't really know what I have to do and if it is because the HOST is an arm arch...
It have been a long time since I didn't put my hands in this kind of things and I need help to solve this problems... Thanks in advance !
cmoatoto said:
Hi all !
My current project is to use my Raspberry Pi as a Build Machine to build all Android sources (AOSP). In fact, I'll not build AOSP but the CyanogenMod (wich is mainly a fork from AOSP).
I know this may sound crazy, dumb or useless (according to Google, a 64-bit environment is required, and a lot (>> 4GB) of RAM if you're in a hurry), especially to use an ARM processor to build while all the Makefiles has been written to be used on x86...
But what I'm thinking about is a really cheap, silent, but working build machine, to sync the repo and build nightlies everyday. The first build will take some days but then, only the changes will be build so I think that only some hours per day will be required.
If I success, I'll create a big tutorial to explain what changes was required.
First of all, I had to add the Linux-armv61 arch as Host OS/ARCH :
Code:
[email protected] ~/buildspace/android/system/build $ git diff
diff --git a/core/envsetup.mk b/core/envsetup.mk
index 862b7f0..34eb31a 100644
--- a/core/envsetup.mk
+++ b/core/envsetup.mk
@@ -77,6 +77,10 @@ ifneq (,$(findstring Power,$(UNAME)))
HOST_ARCH := ppc
endif
[COLOR="SeaGreen"]+ifneq (,$(findstring arm,$(UNAME)))
+ HOST_ARCH := armv61
+endif
+[/COLOR]
BUILD_ARCH := $(HOST_ARCH)
ifeq ($(HOST_ARCH),)
then, I did this (because the raspbian ld doesn't support --icf) :
-->
Code:
[email protected] ~/buildspace/android/system/build $ git diff
diff --git a/core/combo/TARGET_linux-arm.mk b/core/combo/TARGET_linux-arm.mk
index b36111f..24e0d99 100644
--- a/core/combo/TARGET_linux-arm.mk
+++ b/core/combo/TARGET_linux-arm.mk
@@ -146,7 +146,6 @@ TARGET_GLOBAL_LDFLAGS += \
-Wl,-z,relro \
-Wl,-z,now \
-Wl,--warn-shared-textrel \
[COLOR="Red"]- -Wl,--icf=safe \[/COLOR]
$(arch_variant_ldflags)
# We only need thumb interworking in cases where thumb support
but now I am stuck with this error :
Code:
make -C kernel/samsung/smdk4210 O=/media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/KERNEL_OBJ ARCH=arm CROSS_COMPILE=" /media/totoext4part/cyanogenmod/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-" headers_install
make[1]: Entering directory `/media/totoext4part/cyanogenmod/system/kernel/samsung/smdk4210'
/media/totoext4part/cyanogenmod/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: 1: /media/totoext4part/cyanogenmod/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: Syntax error: "(" unexpected
CHK include/linux/version.h
make[1]: Leaving directory `/media/totoext4part/cyanogenmod/system/kernel/samsung/smdk4210'
/bin/bash: r: command not found
make: [/media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/lib/crtbegin_static.o] Error 127 (ignored)
[COLOR="SeaGreen"]target SharedLib[/COLOR]: libdl (/media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/LINKED/libdl.so)
/usr/bin/ld: error: /media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/LINKED/libdl.so uses VFP /media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/libdl.o does not
/usr/bin/ld: failed to merge target specific data of file /media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/libdl.o
/usr/bin/ld: warning: creating a DT_TEXTREL in a shared object.
collect2: ld returned 1 exit status
make: *** [/media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/LINKED/libdl.so] Error 1
I don't really know what I have to do and if it is because the HOST is an arm arch...
It have been a long time since I didn't put my hands in this kind of things and I need help to solve this problems... Thanks in advance !
Click to expand...
Click to collapse
Hi There,
First lets roll it back a bit....... I would ditch the kernel building to begin with.... and just see if you can build the OS.
I'd also probably sanity check the toolchains by doing "BUILD_TINY_ANDROID=true make -j<whatever> " This build the very basics of the system and will probably highlight any issues
Looking at it however .... Are you building this on the PI? becuase your kernel build looks like it is still using the x86 tool-chain
Code:
ARCH=arm CROSS_COMPILE=" /media/totoext4part/cyanogenmod/system/prebuilt[B]/linux-x86/[/B]toolchain/arm-eabi-4.4.3/bin/arm-eabi-"
One more thing the HOST_ARCH can be just set to arm and not armv61 , I was going to submit the change to AOSP , JBQ has at least said it's a viable . I just haven't be chewing on PI too much! If you end up with a working patch set then feel free to add the AOSP change yourself, they only want the host file and probably the envsetup.mk
Good Luck
trevd said:
Hi There,
First lets roll it back a bit....... I would ditch the kernel building to begin with.... and just see if you can build the OS.
I'd also probably sanity check the toolchains by doing "BUILD_TINY_ANDROID=true make -j<whatever> " This build the very basics of the system and will probably highlight any issues
Looking at it however .... Are you building this on the PI? becuase your kernel build looks like it is still using the x86 tool-chain
Code:
ARCH=arm CROSS_COMPILE=" /media/totoext4part/cyanogenmod/system/prebuilt[B]/linux-x86/[/B]toolchain/arm-eabi-4.4.3/bin/arm-eabi-"
One more thing the HOST_ARCH can be just set to arm and not armv61 , I was going to submit the change to AOSP , JBQ has at least said it's a viable. I just haven't be chewing on PI too much! If you end up with a working patch set then feel free to add the AOSP change yourself, they only want the host file and probably the envsetup.mk
Good Luck
Click to expand...
Click to collapse
I launched a
Code:
BUILD_TINY_ANDROID=true make -j1
and I'll tell you what comes out.
Are you building this on the PI? becuase your kernel build looks like it is still using the x86 tool-chain
Code:
ARCH=arm CROSS_COMPILE=" /media/totoext4part/cyanogenmod/system/prebuilt[B]/linux-x86/[/B]toolchain/arm-eabi-4.4.3/bin/arm-eabi-"
Click to expand...
Click to collapse
I know that but I had difficulty to fix it.
First of all, I forgot to tell I added this host file :
Code:
[email protected] ~/buildspace/android/system/build $ cat core/combo/HOST_linux-armv61.mk
# Configuration for builds hosted on linux-armv6l.
# $(1): The file to check
define get-file-size
stat --format "%s" "$(1)" | tr -d '\n'
endef
HOST_SDK_TOOLCHAIN_PREFIX :=
ifneq (,$(strip $(wildcard $(HOST_SDK_TOOLCHAIN_PREFIX)/gcc)))
HOST_CC := $(HOST_SDK_TOOLCHAIN_PREFIX)/gcc
HOST_CXX := $(HOST_SDK_TOOLCHAIN_PREFIX)/g++
HOST_AR := $(HOST_SDK_TOOLCHAIN_PREFIX)/ar
endif # $(HOST_SDK_TOOLCHAIN_PREFIX)/gcc exists
HOST_GLOBAL_CFLAGS += -fPIC
HOST_GLOBAL_CFLAGS += -include $(call select-android-config-h,linux-armv61)
HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
HOST_NO_UNDEFINED_LDFLAGS := -Wl,--no-undefined
Then, here is the result of "lunch" command (I build for n7000) :
Code:
[email protected] ~/buildspace/android/system $ lunch cm_n7000-userdebug
Looking for dependencies
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.2.1
TARGET_PRODUCT=cm_n7000
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
HOST_ARCH=armv61
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.2.27+-armv6l-with-debian-7.0
HOST_BUILD_TYPE=release
BUILD_ID=JOP40D
OUT_DIR=/media/totoext4part/cyanogenmod/system/out
============================================
About the "linux-x86" problem, I searched a lot and I think I have some change to do in tools/releasetools/common.py but I'll wait to understand well toolchains before doing useless bad things.
Here is the "BUILD_TINY_ANDROID=true make -j1" command result.
Code:
make -C kernel/samsung/smdk4210 O=/media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/KERNEL_OBJ ARCH=arm CROSS_COMPILE=" /media/totoext4part/cyanogenmod/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-" headers_install
make[1]: Entering directory `/media/totoext4part/cyanogenmod/system/kernel/samsung/smdk4210'
/media/totoext4part/cyanogenmod/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: 1: /media/totoext4part/cyanogenmod/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: Syntax error: "(" unexpected
CHK include/linux/version.h
make[1]: Leaving directory `/media/totoext4part/cyanogenmod/system/kernel/samsung/smdk4210'
host C: mkbootfs <= system/core/cpio/mkbootfs.c
cc1: fatal error: build/core/combo/include/arch/linux-armv61/AndroidConfig.h: No such file or directory
compilation terminated.
make: *** [/media/totoext4part/cyanogenmod/system/out/host/linux-armv61/obj/EXECUTABLES/mkbootfs_intermediates/mkbootfs.o] Error 1
Ok I have to create some more host files...
Ok, I changed HOST_ARCH from armv61 to arm in build/core/envsetup.mk,
build/core/combo/HOST_linux-armv61.mk became build/core/combo/HOST_linux-arm.mk and in this file, I changed
Code:
HOST_GLOBAL_CFLAGS += -include $(call select-android-config-h,linux-armv61)
to
HOST_GLOBAL_CFLAGS += -include $(call select-android-config-h,linux-arm)
Here is what I got now (with "BUILD_TINY_ANDROID=true make -j1")
Code:
[COLOR="SeaGreen"][email protected][/COLOR] [COLOR="RoyalBlue"]~/buildspace/android/system $[/COLOR] BUILD_TINY_ANDROID=true make -j1
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.2.1
TARGET_PRODUCT=cm_n7000
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
HOST_ARCH=arm
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.2.27+-armv6l-with-debian-7.0
HOST_BUILD_TYPE=release
BUILD_ID=JOP40D
OUT_DIR=/media/totoext4part/cyanogenmod/system/out
============================================
build/core/Makefile:44: warning: overriding commands for target `/media/totoext4part/cyanogenmod/system/out/target/product/n7000/system/etc/mkshrc'
build/core/base_rules.mk:502: warning: ignoring old commands for target `/media/totoext4part/cyanogenmod/system/out/target/product/n7000/system/etc/mkshrc'
PRODUCT_COPY_FILES system/bluetooth/data/main.le.conf:system/etc/bluetooth/main.conf ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keylayout/AVRCP.kl:system/usr/keylayout/AVRCP.kl ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keylayout/Generic.kl:system/usr/keylayout/Generic.kl ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keylayout/qwerty.kl:system/usr/keylayout/qwerty.kl ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keylayout/Vendor_05ac_Product_0239.kl:system/usr/keylayout/Vendor_05ac_Product_0239.kl ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keylayout/Vendor_22b8_Product_093d.kl:system/usr/keylayout/Vendor_22b8_Product_093d.kl ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keylayout/Vendor_045e_Product_028e.kl:system/usr/keylayout/Vendor_045e_Product_028e.kl ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keylayout/Vendor_046d_Product_c216.kl:system/usr/keylayout/Vendor_046d_Product_c216.kl ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keylayout/Vendor_046d_Product_c294.kl:system/usr/keylayout/Vendor_046d_Product_c294.kl ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keylayout/Vendor_046d_Product_c299.kl:system/usr/keylayout/Vendor_046d_Product_c299.kl ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keylayout/Vendor_046d_Product_c532.kl:system/usr/keylayout/Vendor_046d_Product_c532.kl ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keylayout/Vendor_054c_Product_0268.kl:system/usr/keylayout/Vendor_054c_Product_0268.kl ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keychars/Generic.kcm:system/usr/keychars/Generic.kcm ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keychars/qwerty.kcm:system/usr/keychars/qwerty.kcm ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keychars/qwerty2.kcm:system/usr/keychars/qwerty2.kcm ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keychars/Virtual.kcm:system/usr/keychars/Virtual.kcm ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/idc/qwerty.idc:system/usr/idc/qwerty.idc ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/idc/qwerty2.idc:system/usr/idc/qwerty2.idc ignored.
PRODUCT_COPY_FILES vendor/samsung/n7000/proprietary/system/etc/gps.xml:system/etc/gps.xml ignored.
build/core/tasks/kernel.mk:161: warning: overriding commands for target `TARGET_KERNEL_BINARIES'
device/samsung/galaxys2-common/shbootimg.mk:26: warning: ignoring old commands for target `TARGET_KERNEL_BINARIES'
[COLOR="Olive"]host C[/COLOR]: acp <= build/tools/acp/acp.c
[COLOR="MediumTurquoise"]Import includes file[/COLOR]: /media/totoext4part/cyanogenmod/system/out/host/linux-arm/obj/STATIC_LIBRARIES/libhost_intermediates/import_includes
[COLOR="Olive"]host C++[/COLOR]: libhost <= build/libs/host/pseudolocalize.cpp
[COLOR="olive"]host C[/COLOR]: libhost <= build/libs/host/CopyFile.c
[COLOR="olive"]host StaticLib[/COLOR]: libhost (/media/totoext4part/cyanogenmod/system/out/host/linux-arm/obj/STATIC_LIBRARIES/libhost_intermediates/libhost.a)
[COLOR="MediumTurquoise"]Export includes file[/COLOR]: build/tools/acp/Android.mk -- /media/totoext4part/cyanogenmod/system/out/host/linux-arm/obj/EXECUTABLES/acp_intermediates/export_includes
[COLOR="Olive"]host Executable[/COLOR]: acp (/media/totoext4part/cyanogenmod/system/out/host/linux-arm/obj/EXECUTABLES/acp_intermediates/acp)
[COLOR="MediumTurquoise"]Install: /media/totoext4part/cyanogenmod/system/out/host/linux-arm/bin/acp[/COLOR]
make -C kernel/samsung/smdk4210 O=/media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/KERNEL_OBJ ARCH=arm CROSS_COMPILE=" /media/totoext4part/cyanogenmod/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-" headers_install
make[1]: Entering directory `/media/totoext4part/cyanogenmod/system/kernel/samsung/smdk4210'
/media/totoext4part/cyanogenmod/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: 1: /media/totoext4part/cyanogenmod/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: Syntax error: "(" unexpected
CHK include/linux/version.h
make[1]: Leaving directory `/media/totoext4part/cyanogenmod/system/kernel/samsung/smdk4210'
[COLOR="MediumTurquoise"]Import includes file[/COLOR]: /media/totoext4part/cyanogenmod/system/out/host/linux-arm/obj/EXECUTABLES/mkbootfs_intermediates/import_includes
[COLOR="Olive"]host C[/COLOR]: mkbootfs <= system/core/cpio/mkbootfs.c
[COLOR="MediumTurquoise"]Export includes file[/COLOR]: system/core/cpio/Android.mk -- /media/totoext4part/cyanogenmod/system/out/host/linux-arm/obj/EXECUTABLES/mkbootfs_intermediates/export_includes
[COLOR="olive"]host Executable[/COLOR]: mkbootfs (/media/totoext4part/cyanogenmod/system/out/host/linux-arm/obj/EXECUTABLES/mkbootfs_intermediates/mkbootfs)
[COLOR="MediumTurquoise"]Install: /media/totoext4part/cyanogenmod/system/out/host/linux-arm/bin/mkbootfs[/COLOR]
/bin/bash: r: command not found
make: [/media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/lib/crtbegin_static.o] Error 127 (ignored)
[COLOR="MediumTurquoise"]Import includes file[/COLOR]: /media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/EXECUTABLES/init_intermediates/import_includes
[COLOR="rgb(46, 139, 87)"]target thumb C[/COLOR]: init <= system/core/init/builtins.c
system/core/init/builtins.c: In function ‘do_exec’:
system/core/init/builtins.c:283:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
[COLOR="SeaGreen"]target thumb C[/COLOR]: init <= system/core/init/init.c
[COLOR="SeaGreen"]target thumb C[/COLOR]: init <= system/core/init/devices.c
[COLOR="SeaGreen"]target thumb C[/COLOR]: init <= system/core/init/property_service.c
[COLOR="SeaGreen"]target thumb C[/COLOR]: init <= system/core/init/util.c
[COLOR="SeaGreen"]target thumb C[/COLOR]: init <= system/core/init/parser.c
[COLOR="SeaGreen"]target thumb C[/COLOR]: init <= system/core/init/logo.c
[COLOR="SeaGreen"]target thumb C[/COLOR]: init <= system/core/init/keychords.c
[COLOR="SeaGreen"]target thumb C[/COLOR]: init <= system/core/init/signal_handler.c
[COLOR="SeaGreen"]target thumb C[/COLOR]: init <= system/core/init/init_parser.c
[COLOR="SeaGreen"]target thumb C[/COLOR]: init <= system/core/init/ueventd.c
[COLOR="SeaGreen"]target thumb C[/COLOR]: init <= system/core/init/ueventd_parser.c
[COLOR="SeaGreen"]target thumb C[/COLOR]: init <= system/core/init/watchdogd.c
[COLOR="SeaGreen"]target SharedLib[/COLOR]: libdl (/media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/LINKED/libdl.so)
/usr/bin/ld: error: /media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/LINKED/libdl.so uses VFP register arguments, /media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/libdl.o does not
/usr/bin/ld: failed to merge target specific data of file /media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/libdl.o
/usr/bin/ld: warning: creating a DT_TEXTREL in a shared object.
collect2: ld returned 1 exit status
make: *** [/media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/LINKED/libdl.so] Error 1
So I'm stuck with almost my initial problem, a kind of two different libdl. But which one do I have to change and where can I find them?
cmoatoto said:
Ok, I changed HOST_ARCH from armv61 to arm in build/core/envsetup.mk,
build/core/combo/HOST_linux-armv61.mk became build/core/combo/HOST_linux-arm.mk and in this file, I changed
Code:
HOST_GLOBAL_CFLAGS += -include $(call select-android-config-h,linux-armv61)
to
HOST_GLOBAL_CFLAGS += -include $(call select-android-config-h,linux-arm)
Here is what I got now (with "BUILD_TINY_ANDROID=true make -j1")
Code:
[COLOR="SeaGreen"][email protected][/COLOR] [COLOR="RoyalBlue"]~/buildspace/android/system $[/COLOR] BUILD_TINY_ANDROID=true make -j1
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.2.1
TARGET_PRODUCT=cm_n7000
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
HOST_ARCH=arm
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.2.27+-armv6l-with-debian-7.0
HOST_BUILD_TYPE=release
BUILD_ID=JOP40D
OUT_DIR=/media/totoext4part/cyanogenmod/system/out
============================================
build/core/Makefile:44: warning: overriding commands for target `/media/totoext4part/cyanogenmod/system/out/target/product/n7000/system/etc/mkshrc'
build/core/base_rules.mk:502: warning: ignoring old commands for target `/media/totoext4part/cyanogenmod/system/out/target/product/n7000/system/etc/mkshrc'
PRODUCT_COPY_FILES system/bluetooth/data/main.le.conf:system/etc/bluetooth/main.conf ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keylayout/AVRCP.kl:system/usr/keylayout/AVRCP.kl ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keylayout/Generic.kl:system/usr/keylayout/Generic.kl ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keylayout/qwerty.kl:system/usr/keylayout/qwerty.kl ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keylayout/Vendor_05ac_Product_0239.kl:system/usr/keylayout/Vendor_05ac_Product_0239.kl ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keylayout/Vendor_22b8_Product_093d.kl:system/usr/keylayout/Vendor_22b8_Product_093d.kl ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keylayout/Vendor_045e_Product_028e.kl:system/usr/keylayout/Vendor_045e_Product_028e.kl ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keylayout/Vendor_046d_Product_c216.kl:system/usr/keylayout/Vendor_046d_Product_c216.kl ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keylayout/Vendor_046d_Product_c294.kl:system/usr/keylayout/Vendor_046d_Product_c294.kl ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keylayout/Vendor_046d_Product_c299.kl:system/usr/keylayout/Vendor_046d_Product_c299.kl ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keylayout/Vendor_046d_Product_c532.kl:system/usr/keylayout/Vendor_046d_Product_c532.kl ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keylayout/Vendor_054c_Product_0268.kl:system/usr/keylayout/Vendor_054c_Product_0268.kl ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keychars/Generic.kcm:system/usr/keychars/Generic.kcm ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keychars/qwerty.kcm:system/usr/keychars/qwerty.kcm ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keychars/qwerty2.kcm:system/usr/keychars/qwerty2.kcm ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/keychars/Virtual.kcm:system/usr/keychars/Virtual.kcm ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/idc/qwerty.idc:system/usr/idc/qwerty.idc ignored.
PRODUCT_COPY_FILES device/samsung/n7000/usr/idc/qwerty2.idc:system/usr/idc/qwerty2.idc ignored.
PRODUCT_COPY_FILES vendor/samsung/n7000/proprietary/system/etc/gps.xml:system/etc/gps.xml ignored.
build/core/tasks/kernel.mk:161: warning: overriding commands for target `TARGET_KERNEL_BINARIES'
device/samsung/galaxys2-common/shbootimg.mk:26: warning: ignoring old commands for target `TARGET_KERNEL_BINARIES'
[COLOR="Olive"]host C[/COLOR]: acp <= build/tools/acp/acp.c
[COLOR="MediumTurquoise"]Import includes file[/COLOR]: /media/totoext4part/cyanogenmod/system/out/host/linux-arm/obj/STATIC_LIBRARIES/libhost_intermediates/import_includes
[COLOR="Olive"]host C++[/COLOR]: libhost <= build/libs/host/pseudolocalize.cpp
[COLOR="olive"]host C[/COLOR]: libhost <= build/libs/host/CopyFile.c
[COLOR="olive"]host StaticLib[/COLOR]: libhost (/media/totoext4part/cyanogenmod/system/out/host/linux-arm/obj/STATIC_LIBRARIES/libhost_intermediates/libhost.a)
[COLOR="MediumTurquoise"]Export includes file[/COLOR]: build/tools/acp/Android.mk -- /media/totoext4part/cyanogenmod/system/out/host/linux-arm/obj/EXECUTABLES/acp_intermediates/export_includes
[COLOR="Olive"]host Executable[/COLOR]: acp (/media/totoext4part/cyanogenmod/system/out/host/linux-arm/obj/EXECUTABLES/acp_intermediates/acp)
[COLOR="MediumTurquoise"]Install: /media/totoext4part/cyanogenmod/system/out/host/linux-arm/bin/acp[/COLOR]
make -C kernel/samsung/smdk4210 O=/media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/KERNEL_OBJ ARCH=arm CROSS_COMPILE=" /media/totoext4part/cyanogenmod/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-" headers_install
make[1]: Entering directory `/media/totoext4part/cyanogenmod/system/kernel/samsung/smdk4210'
/media/totoext4part/cyanogenmod/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: 1: /media/totoext4part/cyanogenmod/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: Syntax error: "(" unexpected
CHK include/linux/version.h
make[1]: Leaving directory `/media/totoext4part/cyanogenmod/system/kernel/samsung/smdk4210'
[COLOR="MediumTurquoise"]Import includes file[/COLOR]: /media/totoext4part/cyanogenmod/system/out/host/linux-arm/obj/EXECUTABLES/mkbootfs_intermediates/import_includes
[COLOR="Olive"]host C[/COLOR]: mkbootfs <= system/core/cpio/mkbootfs.c
[COLOR="MediumTurquoise"]Export includes file[/COLOR]: system/core/cpio/Android.mk -- /media/totoext4part/cyanogenmod/system/out/host/linux-arm/obj/EXECUTABLES/mkbootfs_intermediates/export_includes
[COLOR="olive"]host Executable[/COLOR]: mkbootfs (/media/totoext4part/cyanogenmod/system/out/host/linux-arm/obj/EXECUTABLES/mkbootfs_intermediates/mkbootfs)
[COLOR="MediumTurquoise"]Install: /media/totoext4part/cyanogenmod/system/out/host/linux-arm/bin/mkbootfs[/COLOR]
/bin/bash: r: command not found
make: [/media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/lib/crtbegin_static.o] Error 127 (ignored)
[COLOR="MediumTurquoise"]Import includes file[/COLOR]: /media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/EXECUTABLES/init_intermediates/import_includes
[COLOR="rgb(46, 139, 87)"]target thumb C[/COLOR]: init <= system/core/init/builtins.c
system/core/init/builtins.c: In function ‘do_exec’:
system/core/init/builtins.c:283:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
[COLOR="SeaGreen"]target thumb C[/COLOR]: init <= system/core/init/init.c
[COLOR="SeaGreen"]target thumb C[/COLOR]: init <= system/core/init/devices.c
[COLOR="SeaGreen"]target thumb C[/COLOR]: init <= system/core/init/property_service.c
[COLOR="SeaGreen"]target thumb C[/COLOR]: init <= system/core/init/util.c
[COLOR="SeaGreen"]target thumb C[/COLOR]: init <= system/core/init/parser.c
[COLOR="SeaGreen"]target thumb C[/COLOR]: init <= system/core/init/logo.c
[COLOR="SeaGreen"]target thumb C[/COLOR]: init <= system/core/init/keychords.c
[COLOR="SeaGreen"]target thumb C[/COLOR]: init <= system/core/init/signal_handler.c
[COLOR="SeaGreen"]target thumb C[/COLOR]: init <= system/core/init/init_parser.c
[COLOR="SeaGreen"]target thumb C[/COLOR]: init <= system/core/init/ueventd.c
[COLOR="SeaGreen"]target thumb C[/COLOR]: init <= system/core/init/ueventd_parser.c
[COLOR="SeaGreen"]target thumb C[/COLOR]: init <= system/core/init/watchdogd.c
[COLOR="SeaGreen"]target SharedLib[/COLOR]: libdl (/media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/LINKED/libdl.so)
/usr/bin/ld: error: /media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/LINKED/libdl.so uses VFP register arguments, /media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/libdl.o does not
/usr/bin/ld: failed to merge target specific data of file /media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/libdl.o
/usr/bin/ld: warning: creating a DT_TEXTREL in a shared object.
collect2: ld returned 1 exit status
make: *** [/media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/LINKED/libdl.so] Error 1
So I'm stuck with almost my initial problem, a kind of two different libdl. But which one do I have to change and where can I find them?
Click to expand...
Click to collapse
libdl is in the bionic directory, Did you clear your out ( rm -rf out ) directory before rebuilding?
You all of these are intermediate files ( i.e halfway done) what I suspect has happen is the obj/SHARED_LIBRARIES/libdl_intermediates/libdl.o object file has been recompiled by the x86 toolchain and it's trying the link that in with some arm stuff.... That's all speculation however and I could be full of s**t! ,
EDIT: To find stuff type godir <word>
this indexes the source first time round the "cd's" to the chosen one ( might take a while to index on the pi )
also "hmm" is the help command which lists the majority of commands available to you.
trevd said:
libdl is in the bionic directory, Did you clear your out ( rm -rf out ) directory before rebuilding?
You all of these are intermediate files ( i.e halfway done) what I suspect has happen is the obj/SHARED_LIBRARIES/libdl_intermediates/libdl.o object file has been recompiled by the x86 toolchain and it's trying the link that in with some arm stuff.... That's all speculation however and I could be full of s**t! ,
EDIT: To find stuff type godir <word>
this indexes the source first time round the "cd's" to the chosen one ( might take a while to index on the pi )
also "hmm" is the help command which lists the majority of commands available to you.
Click to expand...
Click to collapse
Thanks for the tip !
I'll do "rm -rf out" but I'll cry a bit, because it took some days to build some stuff (framework.jar, javadoc etc...). But as I said in the first post, I'm not in a hurry. I'll follow your idea.
About the toolchain problem, I think so (a x86 libdl compared to an arm one, one something like that). Now I have to find out how to force the x86 libdl to be build with arm.
I'll tell you when the rm -rf and the make will end.
cmoatoto said:
Thanks for the tip !
I'll do "rm -rf out" but I'll cry a bit, because it took some days to build some stuff (framework.jar, javadoc etc...). But as I said in the first post, I'm not in a hurry. I'll follow your idea.
About the toolchain problem, I think so (a x86 libdl compared to an arm one, one something like that). Now I have to find out how to force the x86 libdl to be build with arm.
I'll tell you when the rm -rf and the make will end.
Click to expand...
Click to collapse
What you need is an native armv6l androideabi toolchain thats capable of outputting armv7 and armv7-neon that supports the androideabi but run... probably something your going to have to build yourself.... also the cm toolchain are a little old now and they are probably not you best reference.
I would highly recommend talking to Linaro, They know a trick or two about the android toolchain and maintain an android repo which builds against the latest gcc! Although they don't directly build the arm for arm android toolchain ( I don't think ) they will probably be able to offer some guidance if you ask them nicely!!
Like I said earlier... Good Luck!
Some useful links:
http://www.linaro.org/
https://wiki.linaro.org/Platform/Android/FollowTheToolchainCycle
https://wiki.linaro.org/Platform/Android/AndroidOnPanda
This is something that took me crazy :thumbsup: good work.. will try soon! Btw android cannot run on Raspberry Pi due to the crap gpu in it
cmoatoto said:
Thanks for the tip !
I'll do "rm -rf out" but I'll cry a bit, because it took some days to build some stuff (framework.jar, javadoc etc...). But as I said in the first post, I'm not in a hurry. I'll follow your idea.
About the toolchain problem, I think so (a x86 libdl compared to an arm one, one something like that). Now I have to find out how to force the x86 libdl to be build with arm.
I'll tell you when the rm -rf and the make will end.
Click to expand...
Click to collapse
Did you ever get this working all the way? It would be awesome to be able to build some ROMs for my phone using the rpi!
Sent from my SPH-D710 using xda app-developers app
Won't building CM10 on a raspberrypi take ages? I know it easily takes 2-3 hours on my laptop to build it from scratch.
Yes and no.
The gnomes that lurk on Raspberry Pi Forums have gotten a working Gingerbread on the Pi, but it's not hardware accelerated due to Broadcom playing fast and loose with the GPU specs. A test build of ICS with said specs had been made seen, but it's not in the wild due to it being volunteer based, and with super secret sauce to boot.
lol @ gnomes
svenvv said:
Won't building CM10 on a raspberrypi take ages? I know it easily takes 2-3 hours on my laptop to build it from scratch.
Click to expand...
Click to collapse
Yes and no, but not for the reason moocow1452 said : The goal is not to RUN Android (or CM) on Raspberry, but to BUILD it on a Raspberry.
So, to answer the question, yes, it takes ages (days actually as far as I could go). Especially the Java builds are a pain in the a** (I had to swipe up to 2Go on a usb disk and reduce via scripts (to catch and log all java, javac and javadoc calls) the java heap size).
But once this builds have been done, they will not be run again until someone change the code associated. So if you pull the source everyday then build the code (= nightly builds), it will not take that long (maybe a couple of hour when it should take some minutes on a real computer)
Pyro96 said:
Did you ever get this working all the way? It would be awesome to be able to build some ROMs for my phone using the rpi!
Click to expand...
Click to collapse
No I didn't. They're is a looot of work to prepare the native armv6l androideabi toolchain and I don't really have time now. I keep this project in my mind but I will need some help with that (I might get it in some days/week if I'm lucky)
Hey guys. Great thread (subscribed) so far, many thanks.
One thing I normally use is distcc, but the android build system doesn't want to play. It would be nice if we could use that extra power.
...
cmoatoto said:
Hi all !
My current project is to use my Raspberry Pi as a Build Machine to build all Android sources (AOSP). In fact, I'll not build AOSP but the CyanogenMod (wich is mainly a fork from AOSP).
I know this may sound crazy, dumb or useless (according to Google, a 64-bit environment is required, and a lot (>> 4GB) of RAM if you're in a hurry), especially to use an ARM processor to build while all the Makefiles has been written to be used on x86...
But what I'm thinking about is a really cheap, silent, but working build machine, to sync the repo and build nightlies everyday. The first build will take some days but then, only the changes will be build so I think that only some hours per day will be required.
If I success, I'll create a big tutorial to explain what changes was required.
First of all, I had to add the Linux-armv61 arch as Host OS/ARCH :
Code:
[email protected] ~/buildspace/android/system/build $ git diff
diff --git a/core/envsetup.mk b/core/envsetup.mk
index 862b7f0..34eb31a 100644
--- a/core/envsetup.mk
+++ b/core/envsetup.mk
@@ -77,6 +77,10 @@ ifneq (,$(findstring Power,$(UNAME)))
HOST_ARCH := ppc
endif
[COLOR="SeaGreen"]+ifneq (,$(findstring arm,$(UNAME)))
+ HOST_ARCH := armv61
+endif
+[/COLOR]
BUILD_ARCH := $(HOST_ARCH)
ifeq ($(HOST_ARCH),)
then, I did this (because the raspbian ld doesn't support --icf) :
-->
Code:
[email protected] ~/buildspace/android/system/build $ git diff
diff --git a/core/combo/TARGET_linux-arm.mk b/core/combo/TARGET_linux-arm.mk
index b36111f..24e0d99 100644
--- a/core/combo/TARGET_linux-arm.mk
+++ b/core/combo/TARGET_linux-arm.mk
@@ -146,7 +146,6 @@ TARGET_GLOBAL_LDFLAGS += \
-Wl,-z,relro \
-Wl,-z,now \
-Wl,--warn-shared-textrel \
[COLOR="Red"]- -Wl,--icf=safe \[/COLOR]
$(arch_variant_ldflags)
# We only need thumb interworking in cases where thumb support
but now I am stuck with this error :
Code:
make -C kernel/samsung/smdk4210 O=/media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/KERNEL_OBJ ARCH=arm CROSS_COMPILE=" /media/totoext4part/cyanogenmod/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-" headers_install
make[1]: Entering directory `/media/totoext4part/cyanogenmod/system/kernel/samsung/smdk4210'
/media/totoext4part/cyanogenmod/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: 1: /media/totoext4part/cyanogenmod/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: Syntax error: "(" unexpected
CHK include/linux/version.h
make[1]: Leaving directory `/media/totoext4part/cyanogenmod/system/kernel/samsung/smdk4210'
/bin/bash: r: command not found
make: [/media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/lib/crtbegin_static.o] Error 127 (ignored)
[COLOR="SeaGreen"]target SharedLib[/COLOR]: libdl (/media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/LINKED/libdl.so)
/usr/bin/ld: error: /media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/LINKED/libdl.so uses VFP register arguments, /media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/libdl.o does not
/usr/bin/ld: failed to merge target specific data of file /media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/libdl.o
/usr/bin/ld: warning: creating a DT_TEXTREL in a shared object.
collect2: ld returned 1 exit status
make: *** [/media/totoext4part/cyanogenmod/system/out/target/product/n7000/obj/SHARED_LIBRARIES/libdl_intermediates/LINKED/libdl.so] Error 1
I don't really know what I have to do and if it is because the HOST is an arm arch...
It have been a long time since I didn't put my hands in this kind of things and I need help to solve this problems... Thanks in advance !
Click to expand...
Click to collapse
This was interesting. I may try to build a CM10 on a raspberry pi.
Did you guys actually manage to get it running?
I don't really want to dual boot my sp4 so a raspberry pi would be ideal. The 3 even has wi-fi, so it's easy to stay away somewhere. Would be ideal to build weeklys or bi-weeklys. I already have a spare 1TB external hard drive with power supply laying around.
Was thinking of getting one anyways as a htpc. Ordering 2 means less shipping xD.
The last post before yours is 3 years old, this thread is dead...
What a shame. I wanted to put my pi to a better use.
chrisvrose said:
What a shame. I wanted to put my pi to a better use.
Click to expand...
Click to collapse
Take a look here instead, might be more up to date: https://groups.google.com/forum/#!forum/android-rpi
my acer liquid mini e310 is not supported by the team of xda and would like to build a CyanogenMod, how can I do?
pitrazzu said:
my acer liquid mini e310 is not supported by the team of xda and would like to build a CyanogenMod, how can I do?
Click to expand...
Click to collapse
To port Cyanogenmod to your device I would recommend taking a look at the Cyanogenmod teams official guide to porting Cyanogenmod to a new device http://wiki.cyanogenmod.org/w/Doc:_porting_intro.
Sent from my SCH-I535 using xda premium
R: [Q] how to compile cyanogenmod for unsupported device
Thank you so much, but what is the most simple kind of guide? I wont to complete the cyanogenmod 7 for my device because haven' t wifi, bt, gsm and other (sorry for my bad english)
Inviato dal mio E310 con Tapatalk 2
pitrazzu said:
Thank you so much, but what is the most simple kind of guide? I wont to complete the cyanogenmod 7 for my device because haven' t wifi, bt, gsm and other (sorry for my bad english)
Inviato dal mio E310 con Tapatalk 2
Click to expand...
Click to collapse
The guide I previously linked to is the most basic guide for porting Cyanogenmod. As far as getting WiFi, Bluetooth, GSM and other's working that's a matter of modifying drivers in the kernel which requires knowledge of the C programming language. You could also try using your devices existing kernel with Cyanogenmod to get WiFi, Bluetooth, GSM and other things working. I would recommend taking a look at how to use a pre-built kernel in Cyanogenmod here.
I have an explanation
pitrazzu said:
my acer liquid mini e310 is not supported by the team of xda and would like to build a CyanogenMod, how can I do?
Click to expand...
Click to collapse
First you must find a phone with the same hardware and Screen resolution. Size and ppi do not matter. Just the same processor. http://www.gsmarena.com/results.php3?sFreeSearch=yes&sFreeText=qualcomm msm7227-1 These phones have the same chipset but youll have to check which one has the same resolution as yours. Then check if there is any rom for that other device. If there is then download it and follow these instructions: http://forum.xda-developers.com/showthread.php?t=1272270 :laugh:
Hi can some one can help me every time when i compiling i getting this error
[email protected]:~$ cd ~/aokp
[email protected]:~/aokp$ . build/envsetup.sh
including device/lge/p700/vendorsetup.sh
including device/lge/e610/vendorsetup.sh
including device/generic/armv7-a-neon/vendorsetup.sh
including vendor/aokp/vendorsetup.sh
including sdk/bash_completion/adb.bash
[email protected]:~/aokp$ lunch
You're building on Linux
Lunch menu... pick a combo:
1. aosp_arm-eng
2. aosp_x86-eng
3. aosp_mips-eng
4. vbox_x86-eng
5. aokp_p700-userdebug
6. aokp_e610-userdebug
7. aokp_e610-eng
8. mini_armv7a_neon-userdebug
9. aokp_hammerhead-userdebug
10. aokp_mako-userdebug
11. aokp_flo-userdebug
12. aokp_maguro-userdebug
13. aokp_toro-userdebug
14. aokp_manta-userdebug
15. aokp_d2att-userdebug
16. aokp_d2tmo-userdebug
17. aokp_d2usc-userdebug
18. aokp_d2vzw-userdebug
19. aokp_i605-userdebug
20. aokp_jfltecri-userdebug
21. aokp_jfltecsp-userdebug
22. aokp_jfltespr-userdebug
23. aokp_jfltetmo-userdebug
24. aokp_jflteusc-userdebug
25. aokp_jfltevzw-userdebug
26. aokp_l900-userdebug
27. aokp_m7att-userdebug
28. aokp_m7spr-userdebug
29. aokp_m7tmo-userdebug
30. aokp_m7ul-userdebug
31. aokp_m7vzw-userdebug
32. aokp_mint-userdebug
33. aokp_odin-userdebug
34. aokp_pollux-userdebug
35. aokp_t0lte-userdebug
36. aokp_t0lteatt-userdebug
37. aokp_t0ltetmo-userdebug
38. aokp_tsubasa-userdebug
39. aokp_yuga-userdebug
Which would you like? [aosp_arm-eng] 6
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.4.2
TARGET_PRODUCT=aokp_e610
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=cortex-a9
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.8.0-34-generic-x86_64-with-Ubuntu-13.04-raring
HOST_BUILD_TYPE=release
BUILD_ID=KOT49H
OUT_DIR=/home/aidas/aokp/out
============================================
[email protected]:~/aokp$ make -j1 otapackage
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.4.2
TARGET_PRODUCT=aokp_e610
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=cortex-a9
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.8.0-34-generic-x86_64-with-Ubuntu-13.04-raring
HOST_BUILD_TYPE=release
BUILD_ID=KOT49H
OUT_DIR=/home/aidas/aokp/out
============================================
/home/aidas/aokp/out/target/product/e610/obj/APPS/SignatureTest_intermediates
find: `fmradio/java': No such file or directory
find: `fmradio/java': No such file or directory
find: `src': No such file or directory
build/core/copy_headers.mk:15: warning: overriding commands for target `/home/aidas/aokp/out/target/product/e610/obj/include/qcom/display/copybit.h'
build/core/copy_headers.mk:15: warning: ignoring old commands for target `/home/aidas/aokp/out/target/product/e610/obj/include/qcom/display/copybit.h'
build/core/copy_headers.mk:15: warning: overriding commands for target `/home/aidas/aokp/out/target/product/e610/obj/include/qcom/display/copybit_priv.h'
build/core/copy_headers.mk:15: warning: ignoring old commands for target `/home/aidas/aokp/out/target/product/e610/obj/include/qcom/display/copybit_priv.h'
build/core/Makefile:43: warning: overriding commands for target `/home/aidas/aokp/out/target/product/e610/system/etc/audio_policy.conf'
build/core/base_rules.mk:532: warning: ignoring old commands for target `/home/aidas/aokp/out/target/product/e610/system/etc/audio_policy.conf'
PRODUCT_COPY_FILES device/generic/goldfish/data/etc/apns-conf.xml:system/etc/apns-conf.xml ignored.
PRODUCT_COPY_FILES device/generic/goldfish/camera/media_profiles.xml:system/etc/media_profiles.xml ignored.
PRODUCT_COPY_FILES device/generic/goldfish/camera/media_codecs.xml:system/etc/media_codecs.xml ignored.
PRODUCT_COPY_FILES hardware/libhardware_legacy/audio/audio_policy.conf:system/etc/audio_policy.conf ignored.
build/core/Makefile:43: warning: overriding commands for target `/home/aidas/aokp/out/target/product/e610/system/etc/wifi/wpa_supplicant.conf'
build/core/base_rules.mk:532: warning: ignoring old commands for target `/home/aidas/aokp/out/target/product/e610/system/etc/wifi/wpa_supplicant.conf'
build/core/Makefile:43: warning: overriding commands for target `/home/aidas/aokp/out/target/product/e610/system/etc/permissions/android.software.live_wallpaper.xml'
build/core/base_rules.mk:532: warning: ignoring old commands for target `/home/aidas/aokp/out/target/product/e610/system/etc/permissions/android.software.live_wallpaper.xml'
build/core/Makefile:43: warning: overriding commands for target `/home/aidas/aokp/out/target/product/e610/system/lib/hw/lights.msm7x27a.so'
build/core/base_rules.mk:532: warning: ignoring old commands for target `/home/aidas/aokp/out/target/product/e610/system/lib/hw/lights.msm7x27a.so'
build/core/Makefile:43: warning: overriding commands for target `/home/aidas/aokp/out/target/product/e610/system/lib/hw/camera.msm7x27a.so'
build/core/base_rules.mk:532: warning: ignoring old commands for target `/home/aidas/aokp/out/target/product/e610/system/lib/hw/camera.msm7x27a.so'
build/core/Makefile:43: warning: overriding commands for target `/home/aidas/aokp/out/target/product/e610/system/bin/rild'
build/core/base_rules.mk:532: warning: ignoring old commands for target `/home/aidas/aokp/out/target/product/e610/system/bin/rild'
build/core/Makefile:43: warning: overriding commands for target `/home/aidas/aokp/out/target/product/e610/system/lib/libril.so'
build/core/base_rules.mk:532: warning: ignoring old commands for target `/home/aidas/aokp/out/target/product/e610/system/lib/libril.so'
build/core/Makefile:43: warning: overriding commands for target `/home/aidas/aokp/out/target/product/e610/system/lib/hw/nfc.default.so'
build/core/base_rules.mk:532: warning: ignoring old commands for target `/home/aidas/aokp/out/target/product/e610/system/lib/hw/nfc.default.so'
PRODUCT_COPY_FILES vendor/aokp/prebuilt/common/etc/apns-conf.xml:system/etc/apns-conf.xml ignored.
PRODUCT_COPY_FILES vendor/aokp/prebuilt/bootanimation/bootanimation_480_800.zip:system/media/bootanimation.zip ignored.
No private recovery resources for TARGET_DEVICE e610
make -C kernel/lge/msm7x27a-common O=/home/aidas/aokp/out/target/product/e610/obj/KERNEL_OBJ ARCH=arm CROSS_COMPILE="/home/aidas/aokp/prebuilts/misc/linux-x86/ccache/ccache /home/aidas/aokp/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/bin/arm-eabi-" VARIANT_DEFCONFIG= SELINUX_DEFCONFIG= cyanogenmod_m4_defconfig
make[1]: Entering directory `/home/aidas/aokp/kernel/lge/msm7x27a-common'
GEN /home/aidas/aokp/out/target/product/e610/obj/KERNEL_OBJ/Makefile
HOSTCC scripts/kconfig/zconf.tab.o
scripts/kconfig/zconf.tab.c:200:24: fatal error: zconf.hash.c: No such file or directory
compilation terminated.
make[3]: *** [scripts/kconfig/zconf.tab.o] Error 1
make[2]: *** [cyanogenmod_m4_defconfig] Error 2
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory `/home/aidas/aokp/kernel/lge/msm7x27a-common'
make: *** [/home/aidas/aokp/out/target/product/e610/obj/KERNEL_OBJ/.config] Error 2
[email protected]:~/aokp$
help
plz port for lava xtron plus tab
1.5 ghz dual core rockchip 3066 1gb ram 400 mali gpu 7' tablet
This is a good guide. Good links to.
http://forum.xda-developers.com/showthread.php?p=32750231#post32750231
Anybody help please
Hi, can I install (s3 neo gt i9300) cm 13 ROM on my device (s3 neo gt i9301)? Anybody answer please because camera on cm 12.1 which I've installed isn't working:crying: If my father knew about this, he'll kill me
super ziad said:
Hi, can I install (s3 neo gt i9300) cm 13 ROM on my device (s3 neo gt i9301)? Anybody answer please because camera on cm 12.1 which I've installed isn't working:crying: If my father knew about this, he'll kill me
Click to expand...
Click to collapse
i9301 has two varients with different camera sensors, that is why the camera is not working. to fix it you need to flash this fix
source http://forum.xda-developers.com/showpost.php?p=60506610&postcount=2
if you want to go back to stock this post may help
Is There Any App To Create Cyanogenmod Roms
Abdullaharis said:
Is There Any App To Create Cyanogenmod Roms
Click to expand...
Click to collapse
No there is not but I would recommend taking a look at this very helpful guide https://wiki.cyanogenmod.org/w/Development#Learning_To_Build_CM.
shimp208 said:
No there is not but I would recommend taking a look at this very helpful guide https://wiki.cyanogenmod.org/w/Development#Learning_To_Build_CM.
Click to expand...
Click to collapse
Thanks I Will Try It
Abdullaharis said:
Thanks I Will Try It
Click to expand...
Click to collapse
hey dude, I want build a cyanogenmod 13 for unsupported device, the link is down... can you help me please?
Thank you very much
Milor123 said:
hey dude, I want build a cyanogenmod 13 for unsupported device, the link is down... can you help me please?
Thank you very much
Click to expand...
Click to collapse
It is time to build lineage OS?
Help
Hello every one.
My tablet(lenovo tab s8-50lc)is rooted.
I tried to install a cyanogenmod for it,but it's model doesn't support.
So i'm confused.please tell me what I should do.
If there is a supported device that is similar my device features,introduce it.
Thanks a lot
will this work for j200h