Related
For some weeks I've been trying to set up an environment in which I'm able to compile the stock kernel for my LG2X on my own. Following various tips and hints were unsuccessful and several restarts were required until a kernel which was compiled on my own box was running on my phone. Since I had to patch together all the information because there was no complete guide available/findable, I'd like to list here all the steps from the beginning which I had to perform to boot my own compiled kernel. Maybe this is also useful for others. Note: again, this approach is for compiling STOCK kernel sources which are based on the public sources from LG. (The build process for CM is different and cannot be applied to stock kernels)
I began with a freshly installed Ubuntu 11.10 32bit (http://www.ubuntu.com/download/ubuntu/download) running in a VMware virtual machine. In it I entered a shell and switched to root to be able to perform the required actions:
Code:
sudo su -
The next step was to add the package-sources for the cross-compiler toolchain (see next step) and to bring the system up to the latest state.
Code:
add-apt-repository ppa:linaro-maintainers/toolchain
apt-get update
apt-get upgrade
This takes some time but after it's finished I installed the cross-compiler toolchain to be able to compile applications for the LGs ARM platform
Code:
apt-get install gcc-linaro
apt-get install gcc-linaro-arm-linux-gnueabi
After this I've been ready to begin with the source-works. I closed the root-shell and opened up a new one (required to make sure that all paths are correctly set and recognized again). Test it by executing
Code:
arm-linux-gnueabi-gcc --version
When this executed without error I started with downloading the sources for version 20q from http://www.lg.com/global/support/opensource/opensource-detail.jsp?detailCustomerModelCode=LGP990 into a new directory.
When the file 'LGP990_Android_Gingerbread_V20Q.zip' had finished downloading I unzipped the complete package by
Code:
unzip LGP990_Android_Gingerbread_V20Q.zip
resulting in three files. A README, one .tar.gz with the ROM sources and finally one .tar.gz with the kernel sources. To unpack the kernel sources I issued
Code:
tar xvzf P990_Stardop_IFX_GingerBread_V20Q_KERNEL.tar.gz
and the complete LG 20q kernel sources were finally located in a new 'kernel' subdirectory.
The kernel sources themselves are not yet ready to be compiled. This is because LG most probably has a different/special build environment and our standard environment produces errors and unbootable kernels. Some patching is required to succeed to a running kernel.
Firstly the compilation options for the wireless module have to be tweaked as the default settings break compilation at some unused variables in the source. This is set to be just treated as warnings for the wireless-module by applying following patch:
Code:
diff -u -r original/kernel/drivers/net/wireless/bcm4329/Makefile kernel/drivers/net/wireless/bcm4329/Makefile
--- original/kernel/drivers/net/wireless/bcm4329/Makefile 2012-01-31 04:36:22.000000000 -0800
+++ kernel/drivers/net/wireless/bcm4329/Makefile 2012-02-14 11:41:59.972467559 -0800
@@ -53,7 +53,7 @@
-DBCMLXSDMMC \
-DBCMPLATFORM_BUS \
-DSDIO_ISR_THREAD \
- -Wall -Wstrict-prototypes -Werror \
+ -Wall -Wstrict-prototypes -Werror -Wno-unused-but-set-variable -Wno-array-bounds \
-I$(SRCROOT) \
-I$(SRCROOT)/include \
-I$(SRCROOT)/shared \
Also the main Makefile requires tuning to contain the proper compilation options to produce code which correctly runs on the phone (thanks to spica1234 for providing me with the correct options).
Code:
diff -u -r original/kernel/Makefile kernel/Makefile
--- original/kernel/Makefile 2012-01-31 04:36:21.000000000 -0800
+++ kernel/Makefile 2012-02-28 13:21:20.038003539 -0800
@@ -323,12 +323,12 @@
CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
-Wbitwise -Wno-return-void $(CF)
-MODFLAGS = -DMODULE
-CFLAGS_MODULE = $(MODFLAGS)
+MODFLAGS = -DMODULE -mfloat-abi=softfp -mfpu=vfpv3-d16 -mtune=cortex-a9 -march=armv7-a -fno-common -fsingle-precision-constant -fno-gcse -funsafe-math-optimizations -ffinite-math-only -fgcse-las -fgcse-sm -fivopts -fbtr-bb-exclusive -fvect-cost-model -fmodulo-sched -fmodulo-sched-allow-regmoves
+CFLAGS_MODULE = $(MODFLAGS)
AFLAGS_MODULE = $(MODFLAGS)
LDFLAGS_MODULE = -T $(srctree)/scripts/module-common.lds
-CFLAGS_KERNEL =
-AFLAGS_KERNEL =
+CFLAGS_KERNEL = -mfloat-abi=softfp -mfpu=vfpv3-d16 -mtune=cortex-a9 -march=armv7-a -fno-common -fsingle-precision-constant -fno-gcse -funsafe-math-optimizations -ffinite-math-only -fgcse-las -fgcse-sm -fivopts -fbtr-bb-exclusive -fvect-cost-model -fmodulo-sched -fmodulo-sched-allow-regmoves
+AFLAGS_KERNEL = -mfloat-abi=softfp -mfpu=vfpv3-d16 -mtune=cortex-a9 -march=armv7-a -fno-common -fsingle-precision-constant -fno-gcse -funsafe-math-optimizations -ffinite-math-only -fgcse-las -fgcse-sm -fivopts -fbtr-bb-exclusive -fvect-cost-model -fmodulo-sched -fmodulo-sched-allow-regmoves
CFLAGS_GCOV = -fprofile-arcs -ftest-coverage
# 20100705, [email protected],[LGE_START]
@@ -544,7 +544,8 @@
ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
KBUILD_CFLAGS += -Os
else
-KBUILD_CFLAGS += -O2
+KBUILD_CFLAGS += -Ofast
+KBUILD_CFLAGS += $(call cc-option, -Wno-unused-but-set-variable)
endif
We're not finished yet. We've to create the correct kernel configuration and (again) apply some patches. I'm not so sure about these changes but the kernel refused to boot on my phone without them. It is again provided by spica1234 and contains a number of changes. I did not research which of these changes allowed to boot since most of them are generally useful and I didn't do the work trying them out one-by-one.
Code:
make ARCH=arm star_ifx_defconfig
Code:
--- .config.orig 2012-02-28 13:22:09.322001449 -0800
+++ .config.spica_working 2012-03-02 08:41:21.757696988 -0800
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.32.9-HP_2X_Xtreme_RC12-RevOTF
-# Tue Feb 28 13:22:09 2012
+# Tue Feb 28 13:24:15 2012
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -56,16 +56,16 @@
CONFIG_LOG_BUF_SHIFT=18
CONFIG_GROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
-# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_RT_GROUP_SCHED=y
# CONFIG_USER_SCHED is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
# CONFIG_CGROUP_NS is not set
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CGROUP_DEVICE=y
+# CONFIG_CGROUP_FREEZER is not set
+# CONFIG_CGROUP_DEVICE is not set
# CONFIG_CPUSETS is not set
-CONFIG_CGROUP_CPUACCT=y
+# CONFIG_CGROUP_CPUACCT is not set
# CONFIG_RESOURCE_COUNTERS is not set
# CONFIG_SYSFS_DEPRECATED_V2 is not set
CONFIG_RELAY=y
@@ -121,7 +121,8 @@
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
-# CONFIG_SLOW_WORK is not set
+CONFIG_SLOW_WORK=y
+# CONFIG_SLOW_WORK_DEBUG is not set
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
@@ -146,10 +147,10 @@
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
-# CONFIG_DEFAULT_DEADLINE is not set
-CONFIG_DEFAULT_CFQ=y
+CONFIG_DEFAULT_DEADLINE=y
+# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_DEFAULT_IOSCHED="deadline"
CONFIG_FREEZER=y
#
@@ -1676,16 +1677,25 @@
# File systems
#
CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
-# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT2_FS_XATTR=y
+# CONFIG_EXT2_FS_POSIX_ACL is not set
+# CONFIG_EXT2_FS_SECURITY is not set
+CONFIG_EXT2_FS_XIP=y
CONFIG_EXT3_FS=y
CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
CONFIG_EXT3_FS_XATTR=y
# CONFIG_EXT3_FS_POSIX_ACL is not set
# CONFIG_EXT3_FS_SECURITY is not set
-# CONFIG_EXT4_FS is not set
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_XATTR=y
+# CONFIG_EXT4_FS_POSIX_ACL is not set
+# CONFIG_EXT4_FS_SECURITY is not set
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_FS_XIP=y
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
+CONFIG_JBD2=y
+# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
@@ -1769,7 +1779,22 @@
# CONFIG_ROMFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
-# CONFIG_NETWORK_FILESYSTEMS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+# CONFIG_NFS_FS is not set
+# CONFIG_NFSD is not set
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_WEAK_PW_HASH is not set
+# CONFIG_CIFS_UPCALL is not set
+# CONFIG_CIFS_XATTR is not set
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_DFS_UPCALL is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
#
# Partition Types
After these patches, were finally ready to compile the kernel
Code:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- STAR_TMUS_REV=TMUS_10 TARGET_STAR_HWREV=TMUS_E TARGET_MODEM=ifx
Now go grab some coffee. This takes a while. When it's finished, the compressed kernel-image is found in
arch/arm/boot/zImage
For the experienced kernel-hackers this might be enough. It wasn't for me and I wanted to have it easily installable like other kernels from the forum. So I downloaded a kernel zip package, eg. the one from spica1234 at http://forum.xda-developers.com/showpost.php?p=18253696&postcount=1
Any version will do as long as the kernel is contained in a .zip archive and installable via CWM. In my case I downloaded the kernel zip in a new directory 'build' and unpacked it.
Code:
unzip HP_2x_RC12-RevOTF-PRO.zip
This creates the subdirectories 'data', 'kernel', 'META-INF' and 'system'. Here we now have to replace the kernel and the kernel-modules with our self-compiled versions.
Code:
cd ~build/kernel
rm zImage
cp ~kernel/arch/arm/bootzImage ./zImage
cd ../system/lib/modules
rm *.ko
find ~kernel/ -name "*.ko" -exec cp '{}' . \;
cd ../../..
One last step, creating the zip which carries the new kernel:
Code:
zip -r -FS new_kernel.zip data/ kernel/ META-INF/ system/
This new_kernel.zip can now be flashed with CWM and should boot without problems.
For easier usage, I've attached the three patched files in the build_set.zip attachment so you don't have to patch the stock files by hand. Just extract it in the kernel directory and overwrite the existing files.
I hope I did not make any error in the compilation of this information and that it can be helpful for the interested reader.
Thanks goes especially to spica1234 and the material which he provided me to come through to a successful boot.
Very good explanation. I wish such useful info available b4 an year for me while i published 1st kernel at samdroid for my older device
Sent from my LG-P990 using Tapatalk
Bloody hell! I never realised it took so much to simply compile!!!! (I build JEE systems at work, but we scripted most of it, stuff that used to take a day and half now takes a few minutes).
Excellent guide Kosi! I'm a linux and kernel n00b and I understand your instructions pretty well.
Ubuntu 11 is not the best choice though I currently use it myself. v11 can cause problems, especially when not compiling kernels but compiling Android ROMs.
Ubuntu 10 is the better choice.
Also there is a VMware Android Developer Environment available for download, providing nearly all the necessary tools for compilation preinstalled and set-up.
http://forum.xda-developers.com/showthread.php?t=1386918
You can compile your kernel directly in the virtual machine p.ex. on your Windows 7 PC. That's the way I do it for my kernel. VMware Player is available for free, so you can just run the image.
Also install VMware tools, so you can set up a directory for exchanging files between your Windows Host and the virtual Machine Ubuntu. In this directory I usually paste the compiled kernel for further use under Win7 (making the CWM update ZIPs).
Just note that you should have a dual/quadcore CPU strong enough to host the linux and compile the kernel in an acceptable time (usually it takes me 1-2 minutes for complete kernel compilation under virtual machine ubuntu using -j24 option on make).
Can u guys add a bit in this tutorial, example, at which file / folder need to edit for OCUV, add swap function, enable ext4, etc.. seriously like this thread..
Sent from my LG-P990 using XDA
ghadap said:
Can u guys add a bit in this tutorial, example, at which file / folder need to edit for OCUV, add swap function, enable ext4, etc.. seriously like this thread..
Click to expand...
Click to collapse
As the topic of this thread is just how to get the stock kernel compiling I won't step into modifying it. Please open a separate thread for that.
Small hints though, OCUV requires deeper code changes, swap and ext4 can just be enabled in the kernel config.
Hey,
I follow the guide, but ubuntu (11.04 64 bit) doesn't find the pack
Code:
apt-get install gcc-linaro
so I can't install the pack
Code:
apt-get install gcc-linaro-arm-linux-gnueabi
Edit: With Ubuntu 11.10, it works.
Has anyone compiled and booted a kernel successfully with this guide? Can't get mine to boot, so before I look any further I'd thought I'd check if anyone else has gotten a workable kernel out of it.
TrymHansen said:
Has anyone compiled and booted a kernel successfully with this guide? Can't get mine to boot, so before I look any further I'd thought I'd check if anyone else has gotten a workable kernel out of it.
Click to expand...
Click to collapse
Which version it shows "arm-linux-gnueabi-gcc --version"
If its 4.6.2?
Sent from my LG-P990 using Tapatalk
Stefan Gündhör said:
Ubuntu 11 is not the best choice though I currently use it myself. v11 can cause problems, especially when not compiling kernels but compiling Android ROMs.
Ubuntu 10 is the better choice.
Also there is a VMware Android Developer Environment available for download, providing nearly all the necessary tools for compilation preinstalled and set-up.
http://forum.xda-developers.com/showthread.php?t=1386918
You can compile your kernel directly in the virtual machine p.ex. on your Windows 7 PC. That's the way I do it for my kernel. VMware Player is available for free, so you can just run the image.
Also install VMware tools, so you can set up a directory for exchanging files between your Windows Host and the virtual Machine Ubuntu. In this directory I usually paste the compiled kernel for further use under Win7 (making the CWM update ZIPs).
Just note that you should have a dual/quadcore CPU strong enough to host the linux and compile the kernel in an acceptable time (usually it takes me 1-2 minutes for complete kernel compilation under virtual machine ubuntu using -j24 option on make).
Click to expand...
Click to collapse
Ubuntu 11.xx is still a good choise if you want to build ROMs it is very easy to set it up (it is just one step more then on 10.xx)
i also use ubuntu 11.10 and it is working fine for me with building android ROMs
and of course it can take 1-2 minutes but it also can take up to an hour for a kernel to compile
it all depends on how good your computer is
on my home computer i build a kernel in a matter of seconds (clobber builds)
but when i am at my girlfriend my build (also clobber) on her craptop will take up to 20 minutes
nice guide kosi2801!
spica1234 said:
Which version it shows "arm-linux-gnueabi-gcc --version"
If its 4.6.2?
Click to expand...
Click to collapse
Yap. This
Code:
arm-linux-gnueabi-gcc (Ubuntu/Linaro 4.6.2-14ubuntu2~ppa1) 4.6.2
to be specific.
Trymhanson, Try to downgrade with 4.5.3. 4.6.2 is causing this unable to boot issue which was not happening earlier with 4.6.1
try this
apt-get install gcc-4.5-arm-linux-gnueabi
apt-get install g++-4.5-arm-linux-gnueabi
rm /usr/bin/arm-linux-gnueabi-gcc
ln -s /usr/bin/arm-linux-gnueabi-gcc-4.5 /usr/bin/arm-linux-gnueabi-gcc
Thanks, that did it. I also had to change the -Ofast flag back to -O2 as -Ofast wasn't recognized by the 4.5.3 version. So now I'm thinking maybe the -Ofast flag was to blame, so I'll try a fresh 4.6.2 install with -O2. Thanks again.
TrymHansen said:
Thanks, that did it. I also had to change the -Ofast flag back to -O2 as -Ofast wasn't recognized by the 4.5.3 version. So now I'm thinking maybe the -Ofast flag was to blame, so I'll try a fresh 4.6.2 install with -O2. Thanks again.
Click to expand...
Click to collapse
no may be ofast is not to blame but 4.6.2. Ofast was introduced with 4.6.0 and doesnt work with < 4..6. 4.6.2 doesnt even work with o2. And IMHO kernel compiled with 4.5.3 ismore stable
Sent from my LG-P990 using Tapatalk
http://db.tt/jN4fU9Vz
Thisis my recent sr3r2 patch created against original v20Q sourceswith Full OTF V2.0. Anybody interested can use it. It will transform to fully noo oc version of SR3r2
It wont work with CM but only stock v20q
Sent from my LG-P990 using Tapatalk
For anyone interested, currently I'm building with
arm-linux-gnueabihf-gcc (Ubuntu/Linaro 4.6.1-7ubuntu2) 4.6.1
For my usage patterns the kernel works pretty well, but YMMV.
Thanks spica for the updated patch!
kosi2801 said:
For anyone interested, currently I'm building with
arm-linux-gnueabihf-gcc (Ubuntu/Linaro 4.6.1-7ubuntu2) 4.6.1
For my usage patterns the kernel works pretty well, but YMMV.
Thanks spica for the updated patch!
Click to expand...
Click to collapse
Use my recent cflags its most stable and used in sr3r2
As you are using gnueabihf relace mfloat-abi=softfp with mfloat-abi=hard
Sent from my LG-P990 using xda premium
spica1234 said:
Use my recent cflags its most stable and used in sr3r2
As you are using gnueabihf relace mfloat-abi=softfp with mfloat-abi=hard
Click to expand...
Click to collapse
Thanks for the tip. I already thought about that some time ago but forgot again. Gained some additional performance points
Can someone upload a compiled stock v20q kernel flashable zip? Thanks!
This is the web address www .lg. com/global/support/opensource/opensource-detail.jsp
www .lg.c om/global/support/opensource/opensource.jsp
Ahjohnwon said:
This is the web address www .lg. com/global/support/opensource/opensource-detail.jsp
www .lg.c om/global/support/opensource/opensource.jsp
Click to expand...
Click to collapse
can you edit the proper adress ??
nyanyanyanyanyanyanyanyanyanyanyan
Ahjohnwon said:
This is the web address www .lg. com/global/support/opensource/opensource-detail.jsp
www .lg.c om/global/support/opensource/opensource.jsp
Click to expand...
Click to collapse
I don't get it.
Ahjohnwon said:
This is the web address www .lg. com/global/support/opensource/opensource-detail.jsp
www .lg.c om/global/support/opensource/opensource.jsp
Click to expand...
Click to collapse
That's nothing new....
"Welcome to the LG Electronics Open Source Distribution system.
LG Electronics, Inc. ("LGE") is pleased to make available source code relating to certain open source software on this website.
The copyright in the source code is owned by LGE and/or other third parties.
The source code is made available subject to the conditions of the licence terms specifically referred to in LGE's Open Source Software Notices.
The open source software and source code are provided to you on an "AS IS" basis and LGE, its affiliates and subsidiaries disclaim any and all warranties and representations with respect to such software and related source code, whether express, implied, statutory or otherwise, including without limitation, any implied warranties of title, non-infringement, merchantability, satisfactory quality, accuracy or fitness for a particular purpose.
LGE shall not be liable to make any corrections to the open source software or source code or to provide any support or assistance with respect to it.
LGE disclaims any and all liability arising out of or in connection with the use of this software and/or source code.
This statement does not impair or enhance any warranty or disclaimer which LGE provides in respect of any LGE product which incorporate our relevant open source software.
This site opened in August 2010. For information regarding products released prior to this date, please refer to the relevant product manuals."
If its good or if will help us , I don't know...
One downlodable "LGP880(X3)_Android_ICS_V10a.zip" have a "readme.txt" file that says:
"How to build
1. Android build
(1) Get the android base source code.
- Download the original android source code (Android 4.0.3 IceCreamSandwitch)(P880) from http://source.android.com
(2) Overwrite modules that you want to build.
- Untar opensource packages of LGP880_ICS_Platform.tar.gz into downloaded android source directory
- And, merge the source into the android source code.
(3) Merge the below code into android source file(bionic\libdl\Android.mk) at the last line.
##################################################################
# -begin
include $(CLEAR_VARS)
#LOCAL_LDFLAGS := -Wl,--exclude-libs=libgcc.a
LOCAL_SRC_FILES:= libdl.c
LOCAL_CFLAGS := -DLIBC_STATIC
LOCAL_MODULE:= libdl
ifeq ($(TARGET_ARCH),sh)
# for SuperH, additional code is necessary to handle .ctors section.
GEN_SOBEGIN := $(TARGET_OUT_STATIC_LIBRARIES)/sobegin.o
$(GEN_SOBEGIN): $(LOCAL_PATH)/arch-sh/sobegin.S
@mkdir -p $(dir [email protected])
$(TARGET_CC) -o [email protected] -c $<
GEN_SOEND := $(TARGET_OUT_STATIC_LIBRARIES)/soend.o
$(GEN_SOEND): $(LOCAL_PATH)/arch-sh/soend.S
@mkdir -p $(dir [email protected])
$(TARGET_CC) -o [email protected] -c $<
LOCAL_ADDITIONAL_DEPENDENCIES := $(GEN_SOBEGIN) $(GEN_SOEND)
endif
include $(BUILD_STATIC_LIBRARY)
# -end
#################################################################
(4) In other to compile the path (external\wfd_rtsp\librtsp) you have to separate and use NDK 6.0.
Please create the Android.mk file in the path (wfd_rtsp\librtsp\project\jni)
#####################################
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
RTSP_SRC_PATH := $(LOCAL_PATH)/src
RTSP_INC_PATH := $(LOCAL_PATH)/include
LOCAL_SRC_FILES := \
$(subst $(LOCAL_PATH)/,,$(wildcard $(RTSP_SRC_PATH)/usageenvironment/*.c*)) \
$(subst $(LOCAL_PATH)/,,$(wildcard $(RTSP_SRC_PATH)/basicusageenvironment/*.c*)) \
$(subst $(LOCAL_PATH)/,,$(wildcard $(RTSP_SRC_PATH)/groupsock/*.c*)) \
$(subst $(LOCAL_PATH)/,,$(wildcard $(RTSP_SRC_PATH)/livemedia/*.c*))
LOCAL_C_INCLUDES := \
$(RTSP_INC_PATH)/usageenvironment \
$(RTSP_INC_PATH)/basicusageenvironment \
$(RTSP_INC_PATH)/groupsock \
$(RTSP_INC_PATH)/livemedia
LOCAL_CFLAGS := -DNULL=0 -DSOCKLEN_T=socklen_t -DNO_SSTREAM -DDEBUG
LOCAL_CPPFLAGS := -DBSD=1 -fexceptions
LOCAL_LDLIBS := -lm -llog -lz
LOCAL_MODULE := live_rtsp
include $(BUILD_SHARED_LIBRARY)
#############################################
(5) Run the build scripts.
- You have to add google original prebuilt source(toolchain) before running build scripts.
- Run the following scripts to build android
a) . build/envsetup.sh
b) make -j4
into the android folder
- If the android is built sucessfully, you will find the outputs in this directory,
"out/target/product/generic".
2. Kernel Build
- Untar using following command at the android folder:
tar xvfj LGP880_Kernel.tar.gz
- change directory to kernel root
cd kernel
- make kernel zImage:
make ARCH=arm CROSS_COMPILE=(absolute path of Android 4.0.3 IceCreamSandwitch)/prebuilt/linux-x86/toolcahin/arm-eabi-4.4.3/bin/arm-eabi- x3_defconfig zImage"
And contains two more files... "LGP880_Kernel.tar.gz" and "LGP880_ICS_Platform.tar.gz"
I found strange that they have two options, P880 (LGP880(X3)_Android_ICS_V10a) and P880G (LGP880G(X3)_Android_ICS_V10c).
What that means??? Cause to be the different firmware version, they should have more once that exists the V10d/e/f...
Didn't understood... thanks if someone can explain it :good:
Well V10E/F were just minimal updates to fix bug issues and such. The original firmwares are the V10A/C.
And this is old news already guys. There is already a thread about Open Source.
Hi Folks
I thought I throw this one up for good measure.
Archos Kernel 3.0.21
I've made a couple of changes which are outline in the README2 file in the repo, but a quick summary.
Patched arch/arm/mach-omap4/omap4-reboot-reason.c to enable bootmode system property setting from the kernel command line which is required by CWM-SDE
I also back-ported the arch/arm/mm/proc-v7.S from the android-omap-3.4 kernel which means the kernel can be built using the standard android aosp toolchains Although It's probably still better to use Linaro Optimized!!
github.com/trevd/android_kernel_ti_archos.git
README2
Code:
android linux kernel 3.0.21 based on original archos sources found at
http://gitorious.org/archos/archos-gpl-gen9-kernel-ics branch: linux-ics-3.0.21
Android boot mode awareness:
----------------------------
changes made to arch/arm/mach-omap2/omap4-reboot-reason.c to enable correct setting
of android system property ro.bootmode.
designed to be used in conjunction with roms created using device files locating in
https://github.com/trevd/android_device_ti_archos.git
Proc-v7.S changes
-----------------
I've backported arch/arm/mm/Proc-v7.S from the android-omap-3 kernel 3.4 branch, this
was done to allow the kernel to be built using the standard android toolchain.
Building
--------
Clone the android aosp toolchain
git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6
Using the Bourne Again Shell ( bash ) export an alias to make cross compiling easy
alias make-arm='<toolchain path>/arm-eabi-4.6/bin/:$PATH ARCH=arm SUBARCH=arm CROSS_COMPILE=arm-eabi- LOCALVERSION_AUTO=n make'
make-arm distclean && make-arm mrproper
make-arm ti_archos_defconfig
make-arm -j$(grep -c processor /proc/cpuinfo)
Out of tree drivers
-------------------
PowerVR Kernel Modules are not included in this release, they are available from omapzoom android aosp
repo located at git://git.omapzoom.org/device/ti/proprietary-open.git. this repo also contains the matching
userland binary blobs, versions of which exist for Gingerbread, ICS and JellyBean. See device tree documentation
for further details ( https://github.com/trevd/android_device_ti_archos.git )
Hi Trevd !
Thank you very much for your great work ! :good:
....how much I wish I could be useful ( I am currently with hands tied :laugh: - I have not my tablet ....but I'll be back as soon as I will receive my tablet from reparation centre ! )
Good luck & keep up your awesome work ! :good::good::good:
Wifi Drivers info and resources.
Hi Folks.
Along with building the PowerVR Drivers out of tree, It should be also possible to use the latest drivers for the wireless chip
This Page [ linuxwireless.org ] provides some nice documentation with the links to the repo's contain the lastest code along with what looks like some useful android related utilities
Cifs manager, any got out could build a working cifs.ko file?
Sent from my LG-D955 using XDA Premium 4 mobile app
tutreak said:
Cifs manager, any got out could build a working cifs.ko file?
Sent from my LG-D955 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Sorry for knocking a 9 month old Thread , but I am trying to make Cifs Manager work for my Gflex.
i'm running Android 4.4.2 , Kernel 3.4.0 Build KOT49I.D95520a .
I've Downloaded the Kernel Source tar.gz from LG : LGD955_Gflex_Kikat_V20a_Kernel.tar.gz
And I just cannot seem to produce a cifs.ko module that is succesfully loaded with insmod on the device.
I keep getting this in dmesg: no symbol version for module_layout
I was trying to use this thread for instructions: http://forum.xda-developers.com/showthread.php?t=2531407&page=3
and this http://forum.xda-developers.com/showthread.php?t=2531407&page=3
@TheWizardOfROMs Maybe if you have some time you can give some useful advice
@ forrestgump2000 How did you do it for LG G2 ? It should be almost the same for the Gflex, could you perhaps lend a hand? Please?
I am trying to build it on Mac OSX , installed with macports gcc4.9 , using CROSS_COMPILE=/Downloads/android-ndk-r10c/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi- , ARCH=arm,SUBARCH=arm
make EXTRA_CFLAGS=-fno-pic M=fs/cifs Tells me about some versioning , then I run make modules before to create that file and then it doesn't complain.
Running out of ideas..... (will try a Ubuntu VM soon if nothing works...)
Thank you!
2nd really need this for off device storage
Work documentation
I've sent an e-mail to LG , let's see what happens....
"
Dear LG OpenSource Team,
I am currently trying very hard to compile a new module for my current kernel:LGD955_Gflex_Kikat_V20a_Kernel.zip
My work environment is the following:
Vmware Ubuntu 14.01 LTS , gcc 4.8
I have unpacked your kernel source and tried the following:
cp arch/arm/configs/z-open-com-perf_defconfig .
make z-open-com-perf_defconfig prepare headers_install scripts ARCH=arm CROSS_COMPILE=arm-linux-androideabi- O=build KERNELRELEASE=3.4.0-perf-g551cabf
make menuconfig ARCH=arm CROSS_COMPILE=arm-linux-androideabi- O=build KERNELRELEASE=3.4.0-perf-g551cabf
Chosen Network File System Support -> CIFS (M) and saved.
make modules ARCH=arm CROSS_COMPILE=arm-linux-androideabi- O=build KERNELRELEASE=3.4.0-perf-g551cabf
adb push fs/cifs/cifs.ko /data/local/modules/
chmod 644 /data/local/modules/cifs.ko
insmod /data/local/modules/cifs.ko gives this Failure Message : … failed (Exec format error)
dmesg has this message inside: no symbol version for module_layout
A little info after building the module:
[email protected]:~/Downloads/kernel$ modinfo build/fs/cifs/cifs.ko
filename: /home/adi/Downloads/kernel/build/fs/cifs/cifs.ko
version: 1.78
description: VFS to access servers complying with the SNIA CIFS Specification e.g. Samba and Windows
license: GPL
author: Steve French <sfr[email protected]>
srcversion: 3F86E0A9406EADE34D14793
depends:
intree: Y
vermagic: 3.4.0-perf-g551cabf SMP preempt mod_unload modversions ARMv7
parm: CIFSMaxBufSize:Network buffer size (not including header). Default: 16384 Range: 8192 to 130048 (int)
parm: cifs_min_rcv:Network buffers in pool. Default: 4 Range: 1 to 64 (int)
parm: cifs_min_small:Small network buffers in pool. Default: 30 Range: 2 to 256 (int)
parm: cifs_max_pending:Simultaneous requests to server. Default: 32767 Range: 2 to 32767. (int)
parm: enable_oplocks:Enable or disable oplocks (bool). Default:y/Y/1 (bool)
[email protected]:/ # uname -r
3.4.0-perf-g551cabf
[email protected]:/ # uname -a
Linux localhost 3.4.0-perf-g551cabf #1 SMP PREEMPT Tue Apr 29 00:20:47 KST 2014 armv7l GNU/Linux
I am running out of ideas , could you please help ? What am I doing wrong? I love this Phone and want to learn more about it’s inner workings but when compiling a module fails , it leaves me a little hopeless…
Thank you in advance,
With kind regards,
Adrian
"
Fingers crossed
Programmers can:
Rebuild the BCM21553 Android 4.0 graphics stack from source
Develop fully open drivers for other VideoCore devices, including the Raspberry Pi’s BCM2835 and the BCM21654 (a low-cost 3G integrated baseband for emerging markets).
Gain insight into the internal operation of VideoCore for performance tuning purposes
Write general-purpose code leveraging the GPU compute capability on VideoCore devices
take a look at this post and download em
finally :victory: after 2 years.
Gah, to my God! They are really BCM21553 GPU drivers (basicly VideoCore IV source). Now, we need good developer to start working on it (i believe in bieltv3 + spacecaker), because compiling sources with .mk files always makes my problems. This source is for OpenGLES 1.1 and 2.0.
I think its best if we wait for bieltv.3 to look at these.
finallyyyyyy ics...
Envy-X said:
I think its best if we wait for bieltv.3 to look at these.
Click to expand...
Click to collapse
PM'd @bieltv.3 .
Oh yeahh!! Broadcom! At least you heard our prayers
Wow great news...!!! Finally...
Can't wait to see developement with the new drivers
Gesendet von meinem Nexus 5 mit Tapatalk
Awesome!
With the release of source drivers, this thread should be up and running,..victory!
README.txt
This package contains the Broadcom Android ICS Graphics stack for arm v5
==================================================================
Package contents:
a new folder that contains the Graphics stack source codes:
-----------------------------------------------------------------
brcm_usrlib/dag
Required file changes in existing AOSP repos to build this Graphics stack
-----------------------------------------------------------------
AOSP repo name: repo_aosp/platform/bionic
libc/private/bionic_tls.h
AOSP repo name: repo_aosp/platform/build
core/legacy_prebuilts.mk
target/board/generic/device.mk
AOSP repo name: repo_aosp/platform/external/webrtc
src/common_audio/resampler/main/source/Android.mk
src/common_audio/signal_processing_library/main/source/Android.mk
src/common_audio/vad/main/source/Android.mk
src/modules/audio_processing/aec/main/source/Android.mk
src/modules/audio_processing/aecm/main/source/Android.mk
src/modules/audio_processing/agc/main/source/Android.mk
src/modules/audio_processing/main/source/Android.mk
src/modules/audio_processing/main/test/process_test/Android.mk
src/modules/audio_processing/main/test/process_test/process_test.cc
src/modules/audio_processing/main/test/unit_test/Android.mk
src/modules/audio_processing/ns/main/source/Android.mk
src/modules/audio_processing/utility/Android.mk
src/system_wrappers/source/Android.mk
AOSP repo name: repo_aosp/platform/frameworks/base
opengl/include/EGL/eglext.h
opengl/libagl/egl.cpp
opengl/libs/EGL/egl.cpp
opengl/libs/EGL/eglApi.cpp
opengl/libs/EGL/egl_entries.in
opengl/libs/EGL/getProcAddress.cpp
opengl/libs/GLES2/gl2.cpp
opengl/libs/GLES_CM/gl.cpp
services/input/InputReader.cpp
services/surfaceflinger/Android.mk
services/surfaceflinger/DisplayHardware/DisplayHardware.cpp
AOSP repo name: repo_aosp/platform/hardware/libhardware
Gralloc changes:
include/hardware/fb.h
modules/gralloc/Android.mk
modules/gralloc/framebuffer.cpp
modules/gralloc/gr.h
modules/gralloc/gralloc.cpp
modules/gralloc/gralloc_priv.h
modules/gralloc/mapper.cpp
Hwcomposer changes:
modules/gralloc/Android.mk
modules/hwcomposer/Android.mk
modules/hwcomposer/hwcomposer.cpp
AOSP repo name: repo_aosp/platform/system/core
include/system/graphics.h
==================================================================
Instructions to build this Graphics stack on Android ICS project:
1. Check out a Android ICS (example: android-4.0.1_r1.1) workspace with the following sequence of commands:
repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1.1
repo sync -j8
2. Extract the content of this package (excludes this README.txt) in the root directory of the Android ICS workspace:
3. Build the Android source tree with the following sequence of commands:
source build/envsetup.sh
lunch full-eng
make -j8 TARGET_DEVICE=generic_armv5
This package contains the Broadcom Android ICS Graphics stack for arm v5
==================================================================
Package contents:
a new folder that contains the Graphics stack source codes:
-----------------------------------------------------------------
brcm_usrlib/dag
Required file changes in existing AOSP repos to build this Graphics stack
-----------------------------------------------------------------
AOSP repo name: repo_aosp/platform/bionic
libc/private/bionic_tls.h
AOSP repo name: repo_aosp/platform/build
core/legacy_prebuilts.mk
target/board/generic/device.mk
AOSP repo name: repo_aosp/platform/external/webrtc
src/common_audio/resampler/main/source/Android.mk
src/common_audio/signal_processing_library/main/source/Android.mk
src/common_audio/vad/main/source/Android.mk
src/modules/audio_processing/aec/main/source/Android.mk
src/modules/audio_processing/aecm/main/source/Android.mk
src/modules/audio_processing/agc/main/source/Android.mk
src/modules/audio_processing/main/source/Android.mk
src/modules/audio_processing/main/test/process_test/Android.mk
src/modules/audio_processing/main/test/process_test/process_test.cc
src/modules/audio_processing/main/test/unit_test/Android.mk
src/modules/audio_processing/ns/main/source/Android.mk
src/modules/audio_processing/utility/Android.mk
src/system_wrappers/source/Android.mk
AOSP repo name: repo_aosp/platform/frameworks/base
opengl/include/EGL/eglext.h
opengl/libagl/egl.cpp
opengl/libs/EGL/egl.cpp
opengl/libs/EGL/eglApi.cpp
opengl/libs/EGL/egl_entries.in
opengl/libs/EGL/getProcAddress.cpp
opengl/libs/GLES2/gl2.cpp
opengl/libs/GLES_CM/gl.cpp
services/input/InputReader.cpp
services/surfaceflinger/Android.mk
services/surfaceflinger/DisplayHardware/DisplayHardware.cpp
AOSP repo name: repo_aosp/platform/hardware/libhardware
Gralloc changes:
include/hardware/fb.h
modules/gralloc/Android.mk
modules/gralloc/framebuffer.cpp
modules/gralloc/gr.h
modules/gralloc/gralloc.cpp
modules/gralloc/gralloc_priv.h
modules/gralloc/mapper.cpp
Hwcomposer changes:
modules/gralloc/Android.mk
modules/hwcomposer/Android.mk
modules/hwcomposer/hwcomposer.cpp
AOSP repo name: repo_aosp/platform/system/core
include/system/graphics.h
==================================================================
Instructions to build this Graphics stack on Android ICS project:
1. Check out a Android ICS (example: android-4.0.1_r1.1) workspace with the following sequence of commands:
repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1.1
repo sync -j8
2. Extract the content of this package (excludes this README.txt) in the root directory of the Android ICS workspace:
3. Build the Android source tree with the following sequence of commands:
source build/envsetup.sh
lunch full-eng
make -j8 TARGET_DEVICE=generic_armv5
Oh yeaahh, I mean the sources is present for my birthday that will be tomorow. :thumbup:
Send From My Ace i Using Tapatalk
Cant wait for biel and robin when they will see this..
Sent from my GT-S5830i using Tapatalk 2
Yay finally!! (Good for you as I'm already on KK, sold my cooperve )
Sent from me using my tablet using an app.
we did it guys!!!!
my congrats to all bcm21553 users!!
bcm21553-one love<3
Finally!!! Please accept my congratulations!!!
i think broadcom released all gpu sources of our devices.so now we dont have any complain towards them!!!
finally after thousands of people signing the petition, abusing broadcom for a long time and the raspberry pi challenging to port the sources for its platform! broadcom gives the sources for the hope we dont need to struggle any further for the drivers @Biel.tv3 here you go!
2year before we write in our signatures: Kill Broadcom
Now we love they
Отправлено с моего GT-S5830i через Tapatalk
OMG!OMFG!!! :laugh:
Thats Reallly A Great News !:laugh:
:fingers-crossed:
Madre de dios! Господе Боже! Mother of God!! This is awesome! But do we have developer for creating the rom?
Biel, SpaceCaker, Lopicl
Отправлено с моего GT-S5830i через Tapatalk