[KERNEL]Build Galaxy Tab 2 JB kernel from source - Galaxy Tab 2 7" Android Development

Building kernel
1. Download Sourcery G++ Lite 2010q1-202 for ARM GNU/Linux from https://sourcery.mentor.com/GNUToolchain/release1293?lite=arm, direct link https://sourcery.mentor.com/GNUTool...-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 and save it in $HOME/android directory, extract it to /opt/toolchains/
Code:
$ sudo mkdir -p /opt/toolchains/
$ cd /opt/toolchains/
$ sudo tar -xjvf $HOME/android/arm-2010q1-202-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
2. Add /opt/toolchains/arm-2010q1/bin as your search PATH. Logout and back login to your desktop to activate your new search PATH
Code:
$ echo $'\nPATH=\"/opt/toolchains/arm-2010q1/bin:$PATH\"' >> $HOME/.profile
3. Download 3.0.31 kernel source for JB P3110 from http://opensource.samsung.com/ and save it in $HOME/android/espresso directory and extract it
Code:
$ mkdir -p $HOME/android/espresso/kernel
$ cd $HOME/android/espresso/
$ unzip P3110_JB_Opensource.zip Kernel.tar.gz
$ cd kernel
$ tar -xvzf ../Kernel.tar.gz
$ make mrproper
4. Apply all my patch and then load kernel config file
Code:
$ patch -p1 < ../01-configs.patch
$ patch -p1 < ../02-debug-info.patch
$ patch -p1 < ../03-graphics.patch
$ patch -p1 < ../04-governor.patch
$ patch -p1 < ../05-scheduler.patch
$ patch -p1 < ../06-overclock.patch
$ patch -p1 < ../07-exfat.patch
$ make ARCH=arm android_espresso_omap4430_r04_blackhawk_defconfig
5. If you want to change kernel config, download libncurses5-dev
Code:
$ sudo apt-get install libncurses5-dev
$ make ARCH=arm menuconfig
6. Build the kernel
Code:
$ make -j4 ARCH=arm
7. Save kernel and modules
Code:
$ mkdir ../espresso-kernel
$ cp arch/arm/boot/zImage ../espresso-kernel
$ find . -type f -name *.ko -exec cp {} ../espresso-kernel \;
Building PowerVR SGX 540 kernel modules
1. Download the sources
Code:
$ sudo apt-get install git-core
$ git clone git://git.omapzoom.org/repo/graphics/omaplfb.git -b omaplfb-1.9 --depth 1
$ git clone git://git.omapzoom.org/device/ti/proprietary-open.git -b d-jb-mr1-release --depth 1
2. Build pvrsrvkm kernel module
Code:
$ tar -xvzf proprietary-open/omap4/sgx_src/eurasia_km.tgz
$ rm -rf eurasia_km/eurasiacon/binary*
$ export KERNELDIR=$HOME/android/espresso/kernel
$ cd eurasia_km/eurasiacon/build/linux2/omap4430_android/
$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- TARGET_PRODUCT="blaze_tablet" BUILD=release TARGET_SGX=540 PLATFORM_VERSION=4.0
$ cp ../../../binary2_540_120_omap4430_android_release/target/pvrsrvkm_sgx540_120.ko ../../../../../espresso-kernel/
3. Build omaplfb kernel module Not needed, omaplfb now integrated into kernel by 03-graphics.patch
Code:
cd ../../../../../omaplfb/omaplfb_linux
export TARGET=omap4460
export PVRKMDIR=$HOME/android/espresso/
make clean
make
cp omaplfb_sgx540_120.ko ../../espresso-kernel/
cd ../../
4. Strip all kernel modules if needed
Code:
$ arm-none-linux-gnueabi-strip --strip-unneeded espresso-kernel/*.ko
Credits:
Linux, Google, Samsung, omapzoom.org, gokhanmoral, codeworkx, cmenard
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Leave this 3.0.8 kernel info just for historical purpose:
I try to build Galaxy Tab 2 kernel from source for stock 4.0.4 firmware but no luck so far.
Source from http://opensource.samsung.com/ without modification, using the latest Sourcery G++ Lite: boot failed!
Souce from Samsung without modification, using Sourcery G++ Lite 2010q1-202: kernel boot but no hardware accelerated video, camera and video not working!
Source from codeworkx without modification: kernel boot but incompatible pvr driver, stuck on Samsung logo!
Source from codeworkx without modification, vendor blob updated: kernel boot but unstable graphics, gallery, camera and video not working!
Source from codeworkx, pvr driver revert back to Samsung source: kernel boot but no hardware accelerated video, camera and video not working!
Source from codeworkx, pvr driver revert back to tuna ICS source, using tuna ICS vendor blob: kernel boot but no hardware accelerated video, camera and video not working! Better 3D graphics performance.
UPDATE:
Soft decoding video player (MoboPlayer) work.
UPDATE 2:
Found the problems! libion.so and libtiutils.so not compatible to the old kernel source. Thanks for codeworkx, tracing his work on CM9 point me out to the proprietary libraries.
Click to expand...
Click to collapse

When you compile a kernel, some drivers should have also been compiled and their locations should have been displayed on the console. You should copy those drivers to a proper location, I copied those .ko files to /lib/modules of the ramdisk when compiling a P3110 kernel.
Sent from my GT-P3110

heihei_ivan said:
When you compile a kernel, some drivers should have also been compiled and their locations should have been displayed on the console. You should copy those drivers to a proper location, I copied those .ko files to /lib/modules of the ramdisk when compiling a P3110 kernel.
Sent from my GT-P3110
Click to expand...
Click to collapse
Yes.

Conclusion:
Using Galaxy Nexus PowerVR kernel driver and blob build [email protected], we got better 3D performance on stock 4.0.4 firmware but lost hardware accelerated video (base on Antutu result: 3D = ~1030, fps 40-50). Video failed to play, camera failed to open. So, the best kernel for user experience (slower 3D but smooth 2D) is 3.0.8 from 4.0.4 firmware for now.
Now I'm sure, Samsung has been making changes in the 3.0.8 kernel for ICS 4.0.4 but have not released it to the public. Please help me to write a petition for Samsung since my English not good enough :crying:

Last night I tried to rebuild the kernel from source (again) and this time set the kernel version exactly same as stock 4.0.4 kernel (3.0.8-583493-user). Using kernel source from Samsung, codeworkx's patch applied except tuna pvr driver patch. Keep the stock kernel 3.0.8-583493-user modules in /lib/modules and then rebuild the boot image. Damn Samsung, hardware accelerated video still does not work! 3D performance slower than tuna ICS pvr driver but 2D experience as smooth as stock 4.0.4 firmware.

/system/vendor/firmware/ducati-m3.bin not loaded properly by the kernel. No rpmsg-omx0 and rpmsg-omx1 inside /dev .
Code:
I/OMXCodec( 2293): [OMX.TI.DUCATI1.VIDEO.DECODER] AVC profile = 100 (High), level = 32
E/OMXCodec( 2293): set buffer size variable to : 1572864
I/OMXCodec( 2293): [OMX.TI.DUCATI1.VIDEO.DECODER] video dimensions are 1280 x 720
I/OMXCodec( 2293): [OMX.TI.DUCATI1.VIDEO.DECODER] Crop rect is 1280 x 720 @ (0, 0)
I/OMXCodec( 2293): !! Change the I/P buffer size to 1572864 !!
D/DOMX ( 2293): ERROR: userspace cachable mapping of ION buffers returned error
E/OMXNodeInstance( 2293): OMX_AllocateBuffer failed with error -2147479552 (0x80001000)
E/OMXCodec( 2293): allocate_buffer_with_backup failed
D/DOMX ( 2293): ERROR: failed check:(eError == OMX_ErrorNone) || (eError == OMX_ErrorNoMore) - returning error: 0x80001011 - Error returned from OMX API in ducati
D/DOMX ( 2293): ERROR: Error From ComponentDeInit..

ketut.kumajaya said:
Now I'm sure, Samsung has been making changes in the 3.0.8 kernel for ICS 4.0.4 but have not released it to the public. Please help me to write a petition for Samsung since my English not good enough :crying:
Click to expand...
Click to collapse
already done yesterday
Samsung response said:
SAMSUNG OSRC COMMENTS DELIVERY NOTIFICATION]
♦ classification : Mobile Phone ♦
♦ model name : GT-P5100 ♦
Dear Customer,
Thank you for your interest in our product.
We are now in the process of reviewing your inquiry.
We will let you know a reply to this issue soon.
Sincerely yours,
----- Original Message -----
Hello Sir/Madam,
You have kindly supplied the kernel/software sources for the P31xx/P51xx series, but with the latest software update to 4.0.4 we cannot use this source to compile kernels for our devices.
Please supply me/us (|reply will, if you give permission therefor, be published on the XDA forums to help other developers with the same issue)| with instructions how to compile for 4.0.4/updated sources.
Thanks in advance for your reply,
John Simons
Samsung Open Source Release Center
http://opensource.samsung.com
Click to expand...
Click to collapse

Solved!
Found the problems! libion.so and libtiutils.so not compatible to the old kernel source. Thanks for codeworkx, tracing his work on CM9 point me out to the proprietary libraries.

ketut.kumajaya said:
Found the problems! libion.so and libtiutils.so not compatible to the old kernel source. Thanks for codeworkx, tracing his work on CM9 point me out to the proprietary libraries.
Click to expand...
Click to collapse
so you gonna release the kernel?

gabriel1997 said:
so you gonna release the kernel?
Click to expand...
Click to collapse
When it's ready. I will share 2 or 3 boot image with different setup.

gabriel1997 said:
so you gonna release the kernel?
Click to expand...
Click to collapse
I've shared my work on http://forum.xda-developers.com/showthread.php?t=1855700 .

4.0.4 sources available at OSRC.

Firts post updated. The sort stories how to build JB 4.1.1 3.0.31 kernel!

Build JB 3.0.31 kernel instructions in the first post updated.

First post updated!

R: [KERNEL]Build Galaxy Tab 2 JB kernel from source
ketut.kumajaya said:
First post updated!
Click to expand...
Click to collapse
You really did an excellent job with TW kernel.
Is it possible for you to compile an updated kernel for CM10.1?
Stock CM10.1 kernel does not support overclock.
cmenard AOKP kernel works well with CM10.1, and it supports both CPU and GPU OC, but it is based on the old source, with 690mb available, compiled for 4.1.2
It would be awesome if you could update one of those 2 kernels.

First page updated, including the patch!
- omaplfb now integrated into kernel
- overclock code updated, lock CPU @ 1.008GHz on boot

Hey guys are there some existing cisf module to mount cifs and nfs partition on the Galaxy Tab 2 3110?
I would like to mount my share (not for copy) but for directly playing movies. I did with some old pads but i don't know if this module are available for the Tab 2

Monfro said:
You really did an excellent job with TW kernel.
Is it possible for you to compile an updated kernel for CM10.1?
Stock CM10.1 kernel does not support overclock.
cmenard AOKP kernel works well with CM10.1, and it supports both CPU and GPU OC, but it is based on the old source, with 690mb available, compiled for 4.1.2
It would be awesome if you could update one of those 2 kernels.
Click to expand...
Click to collapse
May be after my not started yet dual boot system finish
pecana said:
Hey guys are there some existing cisf module to mount cifs and nfs partition on the Galaxy Tab 2 3110?
I would like to mount my share (not for copy) but for directly playing movies. I did with some old pads but i don't know if this module are available for the Tab 2
Click to expand...
Click to collapse
KK-Boot has it.

First page updated, kernel source and patch.

Related

[KERNEL] marmite v10.6 final

Download latest marmite: this post
Download marmite for old versions e.g. Jellybean: version matrix
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Marmite once made me more sick than I'd ever been before or since.
But I still love it. #truefact
This kernel is based on the stock jb kernel. I have kept, added or tweaked the features I approve of:
- CFQ I/O scheduler (best performing)
- Ondemand, tweaked values
- BLN (no blinking), BLD and Fast-Charge
- more free RAM
- Bluetooth fixed and PM_FAST (keeps fast wifi even with screen off)
- Voodoo sound and colours with my settings for a stable whitepoint at all brightnesses.
- Zcache: compressed cache stored in ram, improves performance by retrieving cached pages from ram rather than flash
- MTP (explanation below the links)
- custom OC available
Voltage and OC quoted from a chip designer with 14 years industry experience: here.
What is ORD?: here.
Facebook by leap_ahead: here
What you need to know about Custom OverClocking [OC]: here.
Interesting discussion of gamma and RGB setting (voodoo): here.
My kernel doesn't wipe your cache or dalvic, so you can flash and reboot in less than a minute. Read this.
What is MTP?
Firstly, huge props to krfoy for making this work with the any-kernel script. Great work!
Microsoft's Media Transfer Protocol. It allows for dramatically faster transfers too the phone, so it is really good when you are copying over films or mp3 folders. What's really good is that you can continue to use your apps while these transfers happen. Faster? More functional? You bet! The limitations are that it is relatively unsupported on non-Windows platforms. However, you can investigate these possibilities: Ubuntu: here. --- --- Mac: here.
How to Select MTP/PTP
Go to Settings>Storage>(Hit capacitive menu button)>USB Computer Connection to select.
If your ROM doesn't have the switch there then check this tip from pigsan! or use the command line.
* * *
Big thanks: ...to the community! So many people supported my research that it's impossible to thank them all individually. Particular thanks to tchaari and Harbb. Credit goes to: _thalamus for getting me started with git, correcting my misconceptions about merging; KalimochoAz for CM; ezekeel for the incredible variety of mods; mathkid95 for ondemand tweaks; steve.garon for help with scripting; morfic for his advice and permission to use his colour settings; and supercurio for voodoo. Big thanks to krarvind for MTP, legend! Congrats to krfoy for enabling MTP via the any-kernel script. Nice work! Thanks to caliban2 for his consistent and unbiased feedback. Thanks to brainmaster, when I originally joined the forums for being so helpful. Hopefully I treat newcomers just as kindly.
Old versions: http://goo.gl/B0p8Z
TOOLCHAIN: Linaro a8 optimised by @Christopher83 here
SOURCE: http://github.com/bedalus/marmite
Download ICS version: v1.5b (For ICS 4.0.4)
NOTE: Opening AnTuTu breaks Deep Idle! If you have to use this app, disable DI until you can reboot.
Flashable Patch for BiggerMem: http://d-h.st/NSx
This kernel is based on the work of the cyanogenmod team:
Cyanogenmod base features:
- Merged to 3.0.39 from mainline.
- Voodoo sound v10
- "Biggermem" 404MB (morfic's idea if I remember right)
- BLN
- SLUB memory allocator*
- Deep Idle:- Kalim included code that limits the maximum frequency to 800MHz when DI is active. Great innovation Kalim! I have modified this code to fix the screen off frequency to 400MHz for efficiency.
Click to expand...
Click to collapse
I have enabled the things I like:
- CFQ scheduler. It's a tiny notch down from deadline in performance, but very consistent. Kalim disabled it in the nightlies where I got my base configuration, so I've brought it back.
- Deadline I/O scheduler adjusted for flash for lowest I/O latencies (thanks thalamus)
- BLX
- BLD
- Voodoo colour
- Gamma settings by morfic, thank him for giving permission
>>> Try these settings in Voodoo: raise all gamma to 20, then set RGB to 189-185-214
- SmartassV2 governor*
- Deep Idle locks to 400MHz regardless of your governor settings. This is an adaptation of kalim's code. Why? Because I proved that 400MHz is the most power saving state for Deep Idle. Excerpt from research: here.
- Removed pointless governors
- Removed noop scheduler
- Removed OC and custom voltage
- PM_FAST (fast wifi with screen off: power saving for downloading files, but slightly higher power use when idle compared to PM_MAX)
- 1.2 GHz step
- v0.6 onward have MTP working for ROMs that support it. Krarvind is the one who made this work (donate to him here), with the help of another dev, so kudos to them.
Version History
v1.5b: http://d-h.st/BhK
-Morfic's colours fixed!
-Merged to 3.0.39
-DI fixed at 400 MHz, the most power saving state, using thalamus' code, which is stable!
-ICS ONLY!!
v1.4d http://d-h.st/66r (ICS ONLY)
-stable
-probably last version I'll do for ICS
-DI fixed at 800MHz
-reorganised fixed DI code a little
-If you have no video on MIUI, check out this tip!
v1.4b http://d-h.st/l7X
-Made some code reorganisation based on thalamus suggestion
-Created a patch!
v1.4 http://d-h.st/MoU
-Made DI fix at 800 MHz using the performance governor which saves CPU cycles
v1.4_test http://d-h.st/UOt
-Possibly unstable, please try to collect last_kmsg
-Includes new 'performance DI': When Deep Idle state is called the governor switches to performance to save CPU cycles
-DI fixed at 800MHz for stability
-thalamus' DI spinlock patch
-Mathematically sensible smartassV2 tunable settings to save CPU cycles (working well)
v1.3c: http://d-h.st/HJY
-Stable
-Minor bugfix release (bugs in freq stepping that were my own faulty code merges)
-_thalmus' DI patch
-If you have no issues with 1.3b skip this, and wait for v1.4
v1.3b http://d-h.st/n55
-Frequency stepping bugfix
-Stable (I really mean it this time ) ...so I deleted the other download links, apart from the early _thalamus based one.
-Shrank the download to a normal size: I'd forgotten to remove the redundant zImage from the any-kernel script. (I don't use that since I flash a boot image).
v1.3
-thalamus' mutex to spinlock patch has been integrated. I've tested this, as I'm sure thalamus has, and DI of course still works fine, but because this is the first time anyone has touched the DI code in a few months, I think it's safer to call this a TEST release.
-I fixed the minimum fq getting stuck 200MHz issue, which was an issue actually caused by myself: when I was altering the available OC I failed to adjust all the levels correctly.
-Having trouble with 200MHz? >Read this<
All previous releases have been pulled. Use the current stable please! Remember: enjoy marmite!
Big thanks: ...to the community! So many people supported my research that it's impossible to thank them all individually. And big thanks to the developers who have selflessly helped a total noob get his kernel off the ground. Credit goes to: KalimochoAz for representing cyanogenmod in this forum and his tweaks; _thalamus for his patience and getting me started with git and modules, correcting my misconceptions about merging; ezekeel for the mods; mathkid95 for ondemand tweaks; steve.garon for help with scripting; morfic for his advice and permission to use his colour settings; and supercurio for voodoo. Big thanks to krarvind for MTP, legend!
SOURCE: http://github.com/bedalus
Note: If you want to repost this guide, feel free to download it here (text file, includes all XDA formatting.) Please give credit.
Why would you want to build a kernel yourself?
Click to expand...
Click to collapse
Have you read this: http://forum.xda-developers.com/showpost.php?p=21006133&postcount=1144
In that spirit, I'm going to attempt to write a plain-English tutorial on what to do to build this kernel. In fact, change one or two URLs, and you could build practically any kernel!
Note: I'm assuming you're on a PC here. I'm also assuming this isn't your first trip to linux-land, and you've at least used the terminal a few times before now. I'm also going to assume that even if you are a noob, you're not mentally sub-normal.
Note2: If this is your first time building a kernel, you may want to print this out, and go slowly, and if you get stuck, post about it in the thread! It will help me improve the guide.
What makes this different to other tutorials?
Click to expand...
Click to collapse
I'm a noob at building, but a professional at teaching. It's literally my job! In my noobishness, I made good records of pretty much every step, and I've got lots of time for explaining what each step actually does.
THE STEPS
Got a computer?
Click to expand...
Click to collapse
You'll need one to compile stuff. "For Gingerbread (2.3.x) and newer versions, including the master branch, a 64-bit environment is required." (source)
OK. You're probably thinking of compiling a kernel for ICS or higher right? Is your computer only 32 bit? Pull the processor off the motherboard and count the pins. Just kidding. It won't matter if it is AMD or Intel, but it needs to be a 64 bit processor. I can compile a kernel with just 2GB of RAM and my processor is approaching its 9 year. Even with this lousy set-up, compiling a whole kernel from scratch takes only five minutes.
Install Ubuntu 10.04 64-bit. (Click on this link to download the install CD.)
If you've got a spare hard drive, use the whole thing. If you're good at partitioning, you might consider putting the linux swap partition on a separate disk. You'll want it to be at least 8GB. Putting it on a separate disk will speed things up.
If you don't have a spare disk, you're going to have to resize a partition of an existing OS, to make some new space for Ubuntu. Lets say a minimum of 12GB for the OS plus 8GB for the swap. The more space you can give to the OS, the easier your life will be if you're serious about building stuff.
At the end of the installation it will ask to install a boot-loader. This should be on sda (not sda1!) but you may need to adjust your BIOS to point at the right hard-drive if you later find it doesn't boot into Ubuntu when you restart. Don't worry about Windows, Ubuntu provides a boot menu, so you have the option of booting to Windows instead.
Once Ubuntu is installed, reboot then open a terminal and sort out your credentials:
Code:
sudo passwd root
Type in the password you set during the install, then decide on a password for the root user, and enter it once, then again for confirmation. It can be the same as your user password if you like.
Do some updates (this could take a while):
Code:
sudo apt-get update && sudo apt-get dist-upgrade
When it's finally finished, you'll have to reboot, then repeat until there's no updates left.
You're ready to set up a build environment!
Click to expand...
Click to collapse
First, you need a whole bunch of packages. You could copy and paste this into your terminal:
Code:
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner" && sudo apt-get update && sudo apt-get install sun-java6-jdk
That's java sorted.
Next up is the dependencies for compiling stuff:
Code:
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32ncurses5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc libsdl-dev libesd0-dev libwxgtk2.6-dev libncurses5-dev lib32z1-dev gcc-multilib git-core && sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so
Make sure ADB is initialised:
Code:
gedit /etc/udev/rules.d/51-android.rules
and copy the below into a blank text file, then edit both instances of <username> to your Ubuntu username (lower-case!) and no chevrons: ="<bedalus>" is wrong. You want ="bedalus"
Code:
# adb protocol on crespo/crespo4g (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<username>"
# fastboot protocol on crespo/crespo4g (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<username>"
Now save the file!
Get hold of a Cross-Compiler
Click to expand...
Click to collapse
Follow this link to Mentor Graphics Sourcery CodeBench LITE and do a free signup to get the download link. You can get hold of other ones, like Linaro or Google's own, but I'm using this as an example, because it's the one I use, and Ezekeel published some R&D here that showed there was no measurable benefit to one toolchain over another.
When you've downloaded it, you need to copy it to /opt:
Code:
cd /home/<username>/Downloads
cp arm-some-date-some-version-some-arch.tar.bz2 /opt
Note- Obviously that's not the actual name of the file! But you can see what it's really called when you download it.
Now go to /opt and unpack it:
Code:
cd /opt
tar xjf arm-some-date-some-version-some-arch.tar.bz2
So I've got all the tools. Now what?
Click to expand...
Click to collapse
So now you need to get some source code. You can use 'git clone' if you don't plan on publishing your kernel. But if you've made some modifications and want to share your end result, you need to obey the GPL terms for the linux kernel, which is Open Source, meaning that you are required to make your source available publicly.
Go to github: https://github.com/
...and sign up. It's just a free registration provided you are non-commercial. Github has some useful getting started tutorials, which I suggest you follow:
https://help.github.com/articles/set-up-git
(just follow that first page for now. I will walk you through git in a bit...)
Next, fork a repo:
Go to whichever kernel you like: https://github.com/bedalus/bedalusKERNEL
I'm using mine as an example. Look for the big 'Fork' button.
You've now got your own copy on github, and you can do whatever you like with it, without affecting the original.
However, it's no use if it exists only in the cloud. You need to get a local copy. You'll also want something called a 'remote tracking branch', which will enable you to keep up-to-date with the changes going on in the original repository that you have forked-off from.
Critical Step:
Click to expand...
Click to collapse
Shout 'fork-off!' at the top of your voice.
Uh... okay. Now, to get a local copy, and set up your remote-tracking branches, execute:
Code:
cd /home/<username>/
mkdir mykernel
...you can name your new directory whatever you want. It doesn't have to be 'mykernel', then:
Code:
git clone https://github.com/<your github username>/bedalusKERNEL.git
In the above, put your git username, and substitute bedalusKERNEL.git for whatever your fork is called. You can actually copy and paste the URL from the top of your new github repo's page if you want.
It's going to download about 800MB if I remember correctly. This will take a while, so go have some marmite on toast.
When that's done, you're ready for the remote-tracking branch:
Code:
cd bedalusKERNEL (or whatever your fork is called)
git remote add upstream https://github.com/bedalus/bedalusKERNEL.git
git fetch upstream
The 'git remote add upstream' creates a new branch called upstream, and any changes that the original developer uploads to github can be fetched to your machine with the 'git fetch upstream' command. Notice how this time, the download time is much shorter? That's because of 'delta downloads' which only downloads the differences between what you have, and what they have. (There's some technical detail here.)
Git Tip No. 1: What branches do I have?
Click to expand...
Click to collapse
You can now enter:
Code:
git branch
...to see all your branches. At this point there should be 'origin' and 'upstream'.
Git Tip No. 2: How do I change branches?
Click to expand...
Click to collapse
Changing branches (you might as well do this now just to have a little go):
Code:
git checkout upstream
That will move you onto the upstream branch, as long as you haven't made any 'uncommited' changes in origin. (More on that later.) Change back to origin with:
Code:
git checkout origin
Git Tip No. 3: How do I rename a branch?
Click to expand...
Click to collapse
You might want to rename your branches to help personalise them, just to make remembering which is which a little bit easier. To change origin to 'my_version' do this:
Code:
git branch -m origin my_version
You can change upstream to 'their_version' or something else if you want to. It won't stop anything from working.
More Git Tips later. Let's sort out a build script. If you tinker with any code, you'll inevitably break stuff, and need to fix it, and then need to try building again... So, having a build script is going to save you a lot of time, because there are several steps that can be automated.
Here's how the start of my script looks:
Code:
#!/bin/sh
cd /home/dave/mykernel
git branch
read -p "Correct branch? [Y/N]: " -n 1
if [[ ! $REPLY =~ ^[Yy]$ ]]
then
echo -e "\n"
exit 1
fi
This is just a little precaution that I put in to give myself the chance to abort the build before it starts if I'm on the wrong branch. If I don't hit y then the script aborts, and I can checkout the right branch, then restart the script.
Code:
echo -e "\nSTARTING...\n"
The \n prints a new line, then on that new line the message 'STARTING...' and then begins another new line. If you put \n\n you can print a blank line. The echo command is a good way of putting notices in a script so you know what stage it is at.
Code:
export PATH=$PATH:/opt/toolchain/bin/
export ARCH=arm
export SUBARCH=arm
export CROSS_COMPILE=arm-none-eabi-
If you put these lines in your script, it sets 'environment variables' that tells the make program where to find the compiler, and what processor it's compiling for (ARM).
If you now save your script in the /mykernel directory you created earlier, git can keep track of it as well as the files integral to the kernel. Save it as whatever you like, e.g. "myscript.sh"
...It's important to have the .sh extension so the system knows it is a script.
To make your script executable, run:
Code:
chmod a+x myscript.sh
Before you execute the script, you need a .config file in the mykernel directory. If you've cloned my repo, you can get a working one by executing:
Code:
cp arch/arm/configs/crespo_release_defconfig ./.config
...this command will only work properly if you are in the mykernel directory when you execute it.
You can mess with this config file if you like! But it's very easy to break the kernel. However, you can always just copy the crespo_release_defconfig again.
Now, to execute the build script run:
Code:
./myscript
If you execute your script, your compiler will now build the kernel. It will take time, but even on my ten-years-old PC it takes less than ten minutes from scratch.
The compiler will spit out a lot of messages. Most of the time it's telling you that it has compiled an object (i.e. a .o file, which will all be linked up later to form the kernel) and sometimes you'll see warnings, which is the compiler telling you it thinks something might be wrong. Don't worry, most of the time the compiler is just being over-cautious.
If the compiler hits a real problem with the code, it will print an error, and tell you what file, and what line, and how far along that line it managed to get to before it didn't know what to do. I'll get back to this later. For now, let's assume everything compiled.
You'll see a message about the zImage being created. That's the kernel. You can't use it as it is, you need to put it into a boot.img so you can flash it.
I find it useful to add this command in my build-script:
Code:
ls -l /home/dave/mykernel/arch/arm/boot/zImage
ls -l means list with long format. It'll print out the entire contents of a directory with size, time, permissions, etc. if you execute it in a directory, or point it to a directory. However, in the command above, I've pointed it specifically at the zImage file, so it only prints out the details for that. This is so I can check the time. If the time is from yesterday, I can see quickly that there has been an error in the build, and the zImage is still the same one I built yesterday, or an hour ago... etc. depending on the time-stamp printed out.
If you get a 'No such file' error, it's because there is no old zImage, because you haven't ever successfully built one yet.
If you sat and watched the entire thing build, then the timestamp should show the current time, minus a few seconds.
How do I make this zImage into a CWM flashable .zip file?
Click to expand...
Click to collapse
Yay! You've built a kernel. Now you need to make everybody else flash it to their phones too
To do this you need to put it into a boot.img, and then into a .zip file.
Making the boot.img
Click to expand...
Click to collapse
Download this: http://d-h.st/wVZ (make-boot necessary files)
It's a small download. It's some very simple tools that can split an existing boot image into a ramdisk and zImage, and can also stitch them back up.
Move mkboot.zip into your mykernel folder, right click on it, and select 'Extract Here'. You can now delete mkboot.zip. There is a tool called unbootimg, that can take apart existing boot.img files, I've made things simple by including my own ramdisk, which is compatible with AOSP and CM ROMs. That file is called cyan2disk_new.cpio.gz
We now need to add some new stuff to the script to stitch our zImage and ramdisk together.
If you've not already added the ls -l command I mentioned above, also add this now. Then:
Code:
cp /home/dave/mykernel/arch/arm/boot/zImage /home/dave/mykernel/mkboot/
cd /home/dave/mykernel/mkboot
./mkbootimg --kernel zImage --ramdisk cyan2disk_new.cpio.gz --cmdline 'no_console_suspend=1 console=bull's --base 0x30000000 --pagesize 4096 -o boot.img
Remember, your username is not dave! Unless it is. Make the appropriate changes to the path.
How do I make the CWM flashable .zip file?
Click to expand...
Click to collapse
We're nearly there! This bit is relatively painless. At this point you could save and run the script to check that mkboot is working. If it has worked you can use the same ls -l trick from before, but this time target the boot.img file you just created. If the time-stamp is fresh, it means your boot.img is correct.
TIP: If you haven't switched branches, or run 'make clean', all your .o files are unchanged. The make program keeps track of changes, and only recompiles .o files when the corresponding .c file has been altered. If nothing has changed, your build script will execute very quickly!
To make a flashable .zip file, the easiest thing to do is modify an existing .zip file. You can download my kernel for simplicity, since it already has the necessary script for flashing the entire boot partition. (Most kernels here use koush's any-kernel script, which updates only the zImage and keeps the boot partition's existing ramdisk, so if you try to use another kernel .zip as a template, make sure you correct their updater-script. Using my ramdisk and kernel script will also ensure you keep MTP!)
Once you've downloaded my kernel you should extract it in your home folder, then rename the directory to something like 'myzip'
Now add these lines to your build-script:
Code:
cp /home/dave/mykernel/mkboot/boot.img /home/dave/myzip/boot.img
cp /home/dave/mykernel/drivers/scsi/scsi_wait_scan.ko /home/dave/myzip/system/modules/
"What's that second line? With the .ko file?" I hear you say. Depending on what modules you build, you'll need to copy all of them to the folder specified above. Fortunately, when the kernel finishes building, it tells you what modules have also been built. If you don't want modules in your kernel, you can remove the second line above. However, you must edit your .config file: Open it in gedit, use CTRL+F to open the find dialogue, then type "=m" Now, change every one you find into a "=y" ...so now instead of building modules, the kernel will now incorporate all that code into the zImage instead.
Finally, add this line to your build-script:
Code:
7z a -r -tzip /home/dave/mykernel.zip /home/dave/myzip/*
Run the script again. if everything has gone smoothly, then you now have a flashable .zip in your home directory!
Congratulations!
* * * * * * * * *
More git tips!
Click to expand...
Click to collapse
I've compiled a list of commands you may find handy when getting to know git.
Add a remote branch and track it
git remote add ezekeel git://github.com/Ezekeel/GLaDOS-nexus-s-ics.git
git fetch ezekeel
git checkout --track -b bln ezekeel/bln
Merge in the changes
git merge bln
Resolve conflicts
git mergetool
List local branches
git branch
List remote branches
git branch -r
Switch branch
git checkout branch_name
Rename a branch
git branch -m old_branch_name new_branch_name
View log with short sha1 hash
git log -10 --pretty=format:"%h - %ar: %s"
Restore to a particular point
(IMPORTANT! Don't do this if you've already pushed your commits to github!)
git reset --hard <sha1 hash>
Restore to your last commit
git reset --hard HEAD
Restore to one commit before your last commit:
git reset --hard HEAD^
Restore to two commits before your last commit:
git reset --hard HEAD^^ (etc.)
As long as you haven't pushed to github,
squash all your recent commits into one:
git rebase -i <sha1> ...then change push to squash (or fixup) for all except the first one
git rebase -i --abort (to abort!)
Add .file (i.e. hidden file)
git add .file (simple!)
Add all new and modified files
git add .
Deleting files
(i.e. after doing rm <files>)
git add -u (git will note which files have been deleted)
Bring files from a directory in another branch
git checkout cyanogenmod drivers/cpufreq/
Tells you what changes you've made so far
git status
Commit your changes
git commit (type in your notes about what you did, then CTRL+X then Y to save)
Sync your commits to your github repo
git push <repo_name> <branch_name>
Delete a remote branch
(WARNING: This will delete the entire branch from github
Note: You cannot do this to the default github branch, but you can change the default branch in the admin tab on the website)
git push <repo_name> :<branch to be deleted>
General tips! File management, searching... etc.
Click to expand...
Click to collapse
Find a file (useful for troubleshooting in some situations)
find /home/dave/ -name 'buildlean.sh'
(searches the home folder and subdirectories for 'buildlean.sh')
Find within any *.c file, the text "s5pv210_driver" (good for finding bits of code)
find ./ -type f -name *.c | xargs grep s5pv210_driver
Find within any file, the text "s5pv210_driver" (good for finding bits of code)
find ./ -type f | xargs grep s5pv210_driver
bedalus said:
Thalamus recently changed the way he compiles his kernel. This was his previous stable release, based on Samsung source code.
The cyann.mobi adds bln, touchwake. Features that thalamus has said are unnecessary.
Click to expand...
Click to collapse
bedalus Hello, I can add this kernel to the list I made on the kernel and rom?
Yes, but be sure to give credit to the right people.
I've decided to attempt to build my own version of thalamus' kernel with some mods.
If I'm not too retarded, hopefully i can achieve this in the next few days.
As a result of learning to manage git and c, I'll have less time for forum posts.
bedalus said:
Yes, but be sure to give credit to the right people.
I've decided to attempt to build my own version of thalamus' kernel with some mods.
If I'm not too retarded, hopefully i can achieve this in the next few days.
As a result of learning to manage git and c, I'll have less time for forum posts.
Click to expand...
Click to collapse
Looking forward to this
Sent from my Nexus S 4G using xda premium
bedalus said:
Yes, but be sure to give credit to the right people.
I've decided to attempt to build my own version of thalamus' kernel with some mods.
If I'm not too retarded, hopefully i can achieve this in the next few days.
As a result of learning to manage git and c, I'll have less time for forum posts.
Click to expand...
Click to collapse
This is good news, Dave. I've been hearing a lot of good things about the new stable release of thalamus in the thread for his kernel that I've been moderating. However, a lot of people including me will be missing BLD and BLN so it's nice to see how it would perform with these mods. With those two plus Voodoo sound that's already cooked in the last release, this may be a kernel to be reckoned with. Cheers!
Sent from my Nexus S
bedalus said:
Thalamus recently changed the way he compiles his kernel. This was his previous stable release, based on Samsung source code.
The cyann.mobi adds bln, touchwake. Features that thalamus has said are unnecessary.
Click to expand...
Click to collapse
waiting for bedalus thalamus base plus addons
an interesting benchmark would be bedalus vs thalamus
Off-Topic: I've been discussing with thalamus about the need for a dalvik wipe before flashing a kernel, and he had some pretty convincing arguments against it. You can read his statement here.
Just wanted to get your opinion on this, if you have time. Thanks, Dave.
Sent from my Nexus S
jjhrrsn said:
Looking forward to this
Sent from my Nexus S 4G using xda premium
Click to expand...
Click to collapse
+1. Me too! Would be nice to have voodoo color included.
ironia. said:
waiting for bedalus thalamus base plus addons
an interesting benchmark would be bedalus vs thalamus
Click to expand...
Click to collapse
Thalamus wins,
REMATCH!
Thalamus wins again.
Good news, BLN added. I now know what I'm doing with the code merges, so more features to come soon.
Later on I may start trying to make some original mods, but for now we'll focus on existing ones.
Thanks to thalamus for his help with some extremely noobish questions,
...thalamus' latest but with added BLN and marmite.
To Do
Get organised
Push back to github so changes can be observed
Get some sleep
bedalus said:
Thalamus wins,
REMATCH!
Thalamus wins again.
Good news, BLN added. I now know what I'm doing with the code merges, so more features to come soon.
Later on I may start trying to make some original mods, but for now we'll focus on existing ones.
Thanks to thalamus for his help with some extremely noobish questions,
Here: http://d-h.st/Df6
...thalamus' latest but with added BLN and marmite.
To Do
Get organised
Push back to github so changes can be observed
Get some sleep
Click to expand...
Click to collapse
Lol at marmite.
Sent from my Nexus S®
apatal said:
Off-Topic: I've been discussing with thalamus about the need for a dalvik wipe before flashing a kernel, and he had some pretty convincing arguments against it. You can read his statement here.
Just wanted to get your opinion on this, if you have time. Thanks, Dave.
Sent from my Nexus S
Click to expand...
Click to collapse
Yeah, i agree with thalamus. I only wipe when switching ROMs.
I modified the script so it doesn't bother wiping cache or dalvic-cache
This makes flashing much more painless.
If anyone has trouble, reboot into recovery and wipe cache.
apatal provides some handy scripts for wiping: http://forum.xda-developers.com/showthread.php?p=19746141
To be completely honest, I wouldn't have been so helpful had I known you intended to release this, specially without saying anything to me about it.
I fully accept that the GPL doesn't require permission but to ask is both the polite and respectful thing to do.
The majority of others have always when they have wanted to release my work with superficial alterations...all it takes is 'I plan on doing this, what do you think?'
I have never had any objection, but to be asked first is just common courtesy, specially when you are asking me for help! You had plenty of chance to mention it whilst I was assisting you with your queries via email.
But hey...
_thalamus said:
To be completely honest, I wouldn't have been so helpful had I known you intended to release this, specially without saying anything to me about it.
I fully accept that the GPL doesn't require permission but to ask is both the polite and respectful thing to do.
The majority of others have always when they have wanted to release my work with superficial alterations...all it takes is 'I plan on doing this, what do you think?'
I have never had any objection, but to be asked first is just common courtesy, specially when you are asking me for help! You had plenty of chance to mention it whilst I was assisting you with your queries via email.
But hey...
Click to expand...
Click to collapse
From what i see here... Give him the big daddy credits as you used his sources...
_thalamus said:
To be completely honest, I wouldn't have been so helpful had I known you intended to release this, specially without saying anything to me about it.
I fully accept that the GPL doesn't require permission but to ask is both the polite and respectful thing to do.
The majority of others have always when they have wanted to release my work with superficial alterations...all it takes is 'I plan on doing this, what do you think?'
I have never had any objection, but to be asked first is just common courtesy, specially when you are asking me for help! You had plenty of chance to mention it whilst I was assisting you with your queries via email.
But hey...
Click to expand...
Click to collapse
Sorry, links pulled.
bedalus said:
Sorry, links pulled.
Click to expand...
Click to collapse
Too bad i was diggin the marmite just now lol
Sent from my Nexus S®
I feel quite bad now. I don't know what possessed me to release without getting the okay first. Eager to show off i think.
I'll get this thread locked as a lesson to myself!
bedalus said:
I feel quite bad now. I don't know what possessed me to release without getting the okay first. Eager to show off i think.
Click to expand...
Click to collapse
We're not perfect we have our own mistakes in life
Sent from my Nexus S®
Actually thalamus is fine for me to release this! Yay. Thanks thalamus.
Links will reappear when the OP is properly organised and credited.

[DEV][KERNEL SOURCE]Patched 3.0.21 - Bootmode Aware

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

CM10.2 for the LG Optimus 2x

CM10.2 for the LG Optimus 2x
If you appreciate my work on the LG Optimus 2x you can support me by donating!
I am doing this for free in my leisure time because I like working on Android stuff and helping others out.
You're not required to donate, but I highly appreciate a couple free beers or pizzas as a gratidue for my work.
To quote one of the most famous xda developers:
Chainfire said:
Don't be a leech, buy me a beer (and use the "Thanks" button!). Imagine if every CF-Root user has donated me $1...
Click to expand...
Click to collapse
I am nowhere near his usercount, but just imagine if every happy (and only those) user of one of my ROMs has donated 5€+.
​
After some sleepless nights I am happy to present CM10.2 for the LG P990 :highfive:
The first post contains information for developers, the second one a download and changelog of my personal testbuilds.
My time is rather limited these days. I will maintain the p990 device tree for others to use and post my development test builds.
But I do not plan to support a clean CM10.2 build, as soon as I upgrade to my own fork of CM someone else will have to take over!
Core changelog:
Code:
2131109:
- buildflag optimizations (-Os for arm modules, slightly increases RAM)
- codebase updated to the CM-10.2-M1 snapshot (Android 4.3.1)
20130930:
- fixed camera getting stuck after taking a picture
(this isn't about camera FCs - try the norh kernel for them!)
20130930:
- fixed notifications causing media playback interruption
20130829:
- Hack: Disable Wifi suspend options by default
(this is a bcmdhd option not compatible to our bcm4329 drivers)
- Additional custom hardwarekeys button actions
- Add gesture based lockscreen security
20130824.2:
- option to use the external SD as primary
- using the T2 camera wrapper (which improves ISO, contrast and saturation)
20130824:
- removed all selinux/auditd etc. modules
- enabled timer coalescence/slack kernel functions by default
- fixed CPU speed options at the performance menu (tegra2 incompatibilities)
20130821:
- dalvik/vm: Dalvik startup with a low memory footprint (gives more free ram)
- built from the new consolidated device tree at [url=https://github.com/p990-dev/android_device_lge_p990/commits/cm-10.2]https://github.com/p990-dev/[/url]
20130820:
- Camera fixed
- hardware OMX fix (mp4 videos in the stock player etc.)
- Google TTS non-neon incompatibility fixed
20130812:
- SoftAP (wifi hotspot) fixed (see details below)
20130809:
- initial CM10.2 build
- device tree updated for Android 4.3 including:
fstab updates, RIL updates, CM10.2 source build incompatibilities fixed etc
Information for developers:
I have created a clean and consolidated device tree for cm-10.2 at p990-dev:
https://github.com/p990-dev/android_device_lge_p990/commits/cm-10.2
We do not need the split into p990 and star-common anymore (that has been done initially to support the p999), thus I decided to combine them.
I git merged them together to retain the 2.5 year old commit history (I really hate those "initial commit bringups, which destroy them completely).
It is only for the new bootloader, as we got a converter to support both.
But if someone wants to maintain a dedicated oldbl branch just send me a PM and I'll give you push access.
In order to build CM10.2 for the p990 we need to track frameworks/av to fix compiling and for the OMX stuff which fixes the camera.
I've set up a build manifest which you can use: https://github.com/p990-dev/android
If you want to fix the SoftAP (wifi hotspot) you need to track my modified system/netd package and apply the patch attached to this post to frameworks/base.
The fix isn't included by default because I'd have to maintain the frameworks/base package - and it would require almost daily updates or it gets out of sync with other packages relying on it causing the build to fail.​
Compile your own CM10.2 ROM
For those of you who want to build your own ROM (which I can highly recommend) I've copied the excellent build setup instructions by @Raum1807 here, they should still work for CM10.2:
Raum1807 said:
Make your 'own' ROM today!
0. Preparation
Things you need for building:
A computer
An internet connection
An open mind
Time
Patience
First of all you need a running up-to-date Ubuntu/Linux system. I am using Ubuntu 12.10 64-bit.
Use the terminal to make the steps. A terminal window can be opened by pressing Ctrl+Alt+T. Every single command for the terminal is marked with a $ sign. Just paste every command (without the $ sign) to your terminal window and there shouldn't be any problem.
IMPORTANT: INSTALL EVERYTHING AS A NORMAL USER. DON'T INSTALL AS ROOT!
[INDENTI. Installation of the required packages (Ubuntu 12.10 64-bit)[/SIZE]
Install packages:
Code:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk tofrodos \
python-markdown libxml2-utils schedtool pngcrush xsltproc zlib1g-dev:i386
Set the links:
Code:
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
II. Installing JAVA
You need a Java Development Kit for building CM10. Recommended is the SUN JDK 6. As of writing the most recent version is SUN JDK 6 Update 38.
1. Download the jdk-6u38-linux-i586.bin from the Oracle/Sun Java Download Area. If you are on 64-bit Ubuntu as I am, you should grab jdk-6u38-linux-x64.bin.
2. Make the bin file executable:
Code:
$ chmod +x jdk-6u38-linux-x64.bin
3. Extract the bin file:
Code:
$ ./jdk-6u38-linux-x64.bin
4. Move the extracted folder to this this location:
Code:
$ sudo mv jdk1.6.0_38 /usr/lib/jvm/./jdk-6u38-linux-x64.bin
5. Install the new Java source in system:
Code:
$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk-6u38-linux-x64.bin/bin/javac 1
$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-6u38-linux-x64.bin/bin/java 1
$ sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk-6u38-linux-x64.bin/bin/javaws 1
$ sudo update-alternatives --install /usr/bin/javadoc javadoc /usr/lib/jvm/jdk-6u38-linux-x64.bin/bin/javadoc 1
$ sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/jdk-6u38-linux-x64.bin/bin/javah 1
$ sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk-6u38-linux-x64.bin/bin/javap 1
$ sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk-6u38-linux-x64.bin/bin/jar 1
6. Select the default Java version for your system:
Code:
$ sudo update-alternatives --config javac
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javaws
$ sudo update-alternatives --config javadoc
$ sudo update-alternatives --config javah
$ sudo update-alternatives --config javap
$ sudo update-alternatives --config jar
7. Check Java version:
Code:
$ java -version
8. Verify the symlinks. Javac, Java, Javaws, Javadoc, Javah, Javap and Jar should all point to the new Java location and version:
Code:
$ ls -la /etc/alternatives/java* && ls -la /etc/alternatives/jar
III. The sources
Install repo:
Repo is a tool that makes it quite easy to download and maintain the sources of Cyanogenmod.
Code:
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ cd ~/bin
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo[/QUOTE]
[/hide]
After this is done (one time only of course) you can build your own CM10.2 ROM.
There is no need to handle a local_manifest as I included the required repos into the main mainfest.
I've again used [user=4732829]@Raum1807[/user]'s instructions but updated them to CM10.2
[hide][B][SIZE=3]Get the sources[/SIZE][/B]
Start with creating a new working directory for CM10.2:
[CODE]$ mkdir ~/cm10.2
$ cd ~/cm10.2
Initialize Repo for Android CM10.2 (Android 4.3):
Code:
$ repo init -u git://github.com/p990-dev/android.git -b cm-10.2
and enter your credentials if needed.
Download the sources:
Code:
$ repo sync
Wait until it's finished (takes a lot of time!).
If the process hangs use Ctrl+C to break out of it and resume the download with another
Code:
$ repo sync
Initialize the environment
Code:
$ . build/envsetup.sh
Build the ROM
Code:
$ repo sync
$ breakfast p990
$ mka bacon
and flash it via CWM/TWRP. Make a clean start (if necessary) with format /system, wipe data/factory reset, etc..
Have fun!
Click to expand...
Click to collapse
for users
For users:
A download of my newest newbl testbuild is here:
http://tonyp.basketbuild.com/index.php?dir=main/CM-10.2/
https://meocloud.pt/link/ab96fec3-cac7-4a3f-b652-560ea5efbfa5/tonyp ROMs&Others/ (mirror by @trocopassu, thanks!)
It comes with kk 126 + kowalskimanager, mini gapps for 4.3.
Apart from my fixes to make this old device with ICS(!) blobs and an outdated kernel work it's mostly clean cm10.2 build.
Installation instructions (coming from another ROM than CM10.2):
Do a full wipe. Do another reboot after the first boot. Don't *****.
Installation instructions (updating to a newer CM10.2 build):
Flash the ROM. Reboot. No wipes needed.​
Working:
- Nearly the same features as in CM10.1 (phone, wifi, data, etc).
Not working (oh and pretty please, no "reminders" of what's broken):
- BT is pretty much broken - see here for more details
- camera (yes, it's completely broken)
- wifi hotspot
- all the cm10.1 bugs are still there of course (hdmi etc.)
Changelog:
Code:
[B]cm-10.2-20130824-UNOFFICIAL-p990.zip[/B]
- removed all selinux/auditd etc. modules.
- fixed setting the CPU speed at the performance menu
- enabled timer coalescence/slack kernel functions by default
- lowered the vibration strength
- merged upstream (JWR66Y is merged)
[B]cm-10.2-20130821-UNOFFICIAL-p990.zip[/B]
- dalvik/vm: Dalvik startup with a low memory footprint
- add the possiblity of using external sdcard as application storage for user 0
- added sys.mem.max_hidden_apps=4 to the build.prop
- back to CM10.1 stock GPS files
[B]cm-10.2-20130820-UNOFFICIAL-p990.zip[/B]
- Camera fixed \o/
- hardware OMX fix (mp4 videos in the stock player etc.)
- added my memory management option from CM10.1 (more aggressive task killing)
- long press the clear recents button to clear cache
- enabled development settings for the device owner by default
- enabled camera shutter muting (follows device sound settings)
- re-added Focal
- Google TTS fix
- included mini gapps package updated
- merged upstream
[B]cm-10.2-20130812-UNOFFICIAL-p990.zip[/B]
- SoftAP (wifi hotspot) fixed
- merged upstream
[B]cm-10.2-20130809-UNOFFICIAL-p990.zip[/B]
- initial build
Click to expand...
Click to collapse
Thank you
Sent from my Nexus 4 using xda app-developers app
here it is:
General Discussion here
Thanks for the adherence, compliance and understanding
Old bootloader version
Tonyp's Unofficial JB 4.3 oldBL will be shortly available...
Thanks to @tonyp for the porting methods
Thanks to @Custom40 for the effort of packing/repacking boot.img
please hold on for sometime......maybe available to the testers soon
Thanks guys
Sweet, I got the power to move threads from the dev discussion to this place
As the main issue seems fixed (spoiler alert - see below ) and I doubt there will come too much input from other developers anyways, I think we can continue this here.
Still try to use SREEPRAJAY thread for general input
Sooo... what's the big news.
Thanks to the help of @timduru I managed to find the missing piece which is required for this:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
:victory: :victory: :victory:
I will post a new build in the evening :good:
Awesome Tony! You are EPIC man..Hats off
And for 4.3, let me try porting the LG cam!
That is called a good team.... @tonyp @pengus77 @spyrosk....as someone here said...you guys are preventing users from buying a new one....lol
Thanks a lot
And @Jishnu Sur joining for the cam....
And so many others who are behind the screen
BTW should I try porting it to the old bl?
Sent from my LG-P990 using xda premium
tonyp said:
[…]
As the main issue seems fixed (spoiler alert - see below ) […]
Sooo... what's the big news.
Thanks to the help of @timduru I managed to find the missing piece which is required for this:
:victory: :victory: :victory:
I will post a new build in the evening :good:
Click to expand...
Click to collapse
Ermahgerd you're such a genius, man. Thank you so much for your effort. I'm glad you finally found the missing piece required for the plant.
Tony, you're fantastic.
I can't say all my current feelings right now but I'm heating alot (me not my P990, :laugh
It's the first time in my life I hope to be back from hollydays soon to be able to download these new builds.
And any news about Github?
I know we all are grateful, but if hitting the thanks button is not enough, then please use the topic in the general section as tony said. Try to keep the topic right here as clean as it has been so far, no matter how hyped the great devs make us
Sent from my LG-P990 using xda premium
This is cool....
So i can add p990 back CM10.2 tree from PAC Man.... with nightly and mine builds. We have many things updated and added... Settings menu are new, now with OTA officially and many more xD
But i will wait a little bit and will see if all work fine in this Thread with a clean CM10.2.. Lets first fix all bugs
TonyP gratulations, great work
tonyp said:
Sweet
:victory: :victory: :victory:
I will post a new build in the evening :good:
Click to expand...
Click to collapse
:crying::crying::crying:
(tears of Joy..) hope that will be a real download link..
Amazing work! You are getting better & better on this... Halleluiah... ^__^
finally...
edit: sorry for spamming ithought im on Discussion thread.. mod will you please delete this , i can't the delete
Can u people stop spamming thank you's in DEV thread. Thanks.
Although I just bought my gs4 a few days ago, this is great news. Maybe it can increase the resale value of the 2x. Or I can even use it as a backup phone. Good job to all the devs responsible for this. I'll give this a flash as soon as I can.
Sent from my SGH-I337M using xda app-developers app
Youngbloodx said:
Although I just bought my gs4 a few days ago, this is great news. Maybe it can increase the resale value of the 2x.
Sent from my SGH-I337M using xda app-developers app
Click to expand...
Click to collapse
I don't think that is true. But if it is, that extra money should go to tonyp!
Enviado de meu LG-P990 usando Tapatalk 4
Okay, the new build is up
Changelog:
Code:
cm-10.2-20130820-UNOFFICIAL-p990.zip
- Camera fixed \o/
- hardware OMX fix (mp4 videos in the stock player etc.)
- added my memory management option from CM10.1 (more aggressive task killing)
- long press the clear recents button to clear cache
- enabled development settings for the device owner by default
- enabled camera shutter muting (follows device sound settings)
- re-added Focal
- Google TTS fix
- included mini gapps package updated
- merged upstream
It looks like GPS is broken.
Would be great if some of you guys could test it and try out different GPS fixes out there at xda, maybe one or the other will work...
lucfig said:
I don't think that is true. But if it is, that extra money should go to tonyp!
Click to expand...
Click to collapse
Oh I like that :good:
You all know where my donation links are - I'm putting lots of effort into the 2x and appreciate each and every incoming beer.
Imagine the amount of money I'd have made when each (happy) user would have donated just 5€ ...
chp2 said:
Tony, you're fantastic.
Click to expand...
Click to collapse
:highfive:
chp2 said:
And any news about Github?
Click to expand...
Click to collapse
I am almost done:
https://github.com/p990-dev/android_device_lge_p990
It should be complete but is untested, will do my next build from the sources, then I can give the green light.
Ryukenden said:
Can u people stop spamming thank you's in DEV thread. Thanks.
Click to expand...
Click to collapse
Actually: I don't really care that much.
If I would have wanted to keep the thread entirely clean I could have left it in the dev discussion section in the first place.
Almost on my birthday :laugh: Thanks man! Gonna test it's battery life, because on my Nexus 7 it's much better than on android 4.2.
Yay, camera fixed. Concerning GPS there are 2 apps that might help:
1.) FasterFix (might not be needed)
2.) GPS Status - Test & Fix
So I installed FastFix first, selected "Europe" (time server), but still got no GPS signal. I'm not sure if setting the time server is persistent. If it is, this step might be needed. But you can also try to install the 2nd app only: GPS Status - Test & Fix. I started it and suddenly the GPS worked! From then on it also worked in Ingress and Google Maps.
I attached the logcat of both situations: gps_error.txt is before installing any of the apps, gps_fixed.txt is when it works successfully. Both logcats are grepped for "gps_BRCM" and they both start when a GPS signal was not found. Then the screen turns off (GPS also), then screen turns back on (GPS also) and in one case it gets a signal, in the other case it doesn't (although it gets a good number of sattelites in both cases, you see num_svs up to 8).
@tonyp just one question. Is it build with GCC 4.7/4.8?
Asking because for now I am a heavy user of BT headset.
Thanks us advance
Enviado de meu LG-P990 usando Tapatalk 4

[GUIDE CM11] How to build your own CyanogenMod 11.0 ROM from sources for the Nexus 4

Make your 'own' KitKat-ROM today!
V1.1 - 20131108 Update 1: Java part added. Error remarks. Local_manifest: branch update.
V1.0 - 20131106 Initial release
Thank you note: Thank you to the whole CM-Team for bringing up-to-date-Android to so many devices.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Overview
I. Preparation
II. Installation of the required packages
III. Installing Java
IV. The sources
V. Building the ROM
VI. Rebuilding with newest sources
I. Preparation
Things you need for building:
A computer
An internet connection
An open mind
Time
Patience
First of all, you need a running up-to-date Ubuntu/Linux system. I am using Ubuntu 13.10 64-bit.
Use the terminal to make the steps. A terminal window can be opened by pressing Ctrl+Alt+T. Every single command for the terminal is marked with a $ sign. Just paste every command (without the $ sign) to your terminal window and there shouldn't be any problem.
IMPORTANT: INSTALL EVERYTHING AS A NORMAL USER. DON'T INSTALL AS ROOT!
II. Installation of the required packages (Ubuntu 13.10 64-bit)
Install packages:
Code:
$ sudo apt-get install bison build-essential curl flex \
g++-multilib gcc-multilib git-core gnupg gperf \
lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev \
libesd0-dev libncurses5-dev libsdl1.2-dev \
libwxgtk2.8-dev libxml2 libxml2-utils lzop \
openjdk-6-jdk openjdk-6-jre pngcrush schedtool \
squashfs-tools xsltproc zip zlib1g-dev
III. Installing Java
You need a version 6 Java Development Kit for building CM11.0. Usually, the SUN JDK 6 is recommended. But there is another way: you can use the OpenJDK 6. When you installed the required packages as described above, you will just need to configure your Java installation.
Check your Java version:
Code:
$ java -version
Verify the symlinks. Javac, Java, Javaws, Javadoc, Javah, Javap and Jar should all point to the right Java location and version:
Code:
$ ls -la /etc/alternatives/java* && ls -la /etc/alternatives/jar
If they are pointing to the wrong versions you have to change that to OpenJDK6.
Select the default Java version for your system:
Code:
$ sudo update-alternatives --config javac
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javaws
$ sudo update-alternatives --config javadoc
$ sudo update-alternatives --config javah
$ sudo update-alternatives --config javap
$ sudo update-alternatives --config jar
That's it.
IV. The sources
Install repo:
Repo is a tool that makes it quite easy to download and maintain the sources of Cyanogenmod.
Code:
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ cd ~/bin
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
Create the working directory:
Code:
$ mkdir ~/cm11
$ cd ~/cm11
Initialize Repo:
Code:
$ repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
and enter your credentials.
Download the sources:
Code:
$ repo sync
Wait until it's finished - takes some time to download the hefty 12 GB of source code!
Have a break, have a KitKat!
If the process hangs use Ctrl+C to break out of it and resume the download with another
Code:
$ repo sync
If you are running into a lot of syncing errors the reason might be that the 'repo sync' command is establishing four threads automatically. This might be too much. So try to change the command to run with one thread only by using
Code:
$ repo sync -j1
Initialize the environment
Code:
$ . build/envsetup.sh
Obtain the proprietary files:
First get two missing repositories for the Nexus 4 by running
Code:
$ breakfast mako
Then create a file with the name local_manifest.xml in the local_manifests directory. To see this directory, you have to press Ctrl-H in your file manager.
Use this code
Code:
$ gedit ~/cm11/.repo/local_manifests/local_manifest.xml
Update: Branch revision is now cm-11.0
Paste the following lines to the editor
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="TheMuppets/proprietary_vendor_lge.git" path="vendor/lge" remote="github" revision="cm-11.0"/>
</manifest>
Save the file.
Run
Code:
$ repo sync
again to get the files needed.
Download the necessary prebuilts from cyanogenmod by running
Code:
$ cd ~/cm11/vendor/cm
$ . get-prebuilts
$ croot
And you're done!
V. Building the ROM
Now build it:
Code:
$ brunch mako
And the building process starts. Now have patience. Building takes around half an hour on fast systems and a lot more on older and slower machines.
Update 20131108: The errors from 20131106 are gone now. If you made the changes revert them, sync the repo and then brunch again. There is no need to edit the source at the moment.
YOU ONLY NEED THIS PART IF YOU WANT TO REVERT THE CHANGES YOU MADE BEFORE
As of writing, you will run into two errors:
First error you will encounter:
Code:
build/core/java.mk:23: *** frameworks/support/v4:
Invalid LOCAL_SDK_VERSION '19' Choices are: current 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18. Stop.
Go to frameworks/support/v4/Android.mk and edit line 128 (it's at the end of the file):
Look for
Code:
# A helper sub-library that makes direct use of KitKat APIs.
include $(CLEAR_VARS)
LOCAL_MODULE := android-support-v4-kitkat
LOCAL_SDK_VERSION := [COLOR=DarkRed]19[/COLOR]
and change the "19" to "current"
It should look like this
Code:
# A helper sub-library that makes direct use of KitKat APIs.
include $(CLEAR_VARS)
LOCAL_MODULE := android-support-v4-kitkat
LOCAL_SDK_VERSION := [COLOR=DarkRed]current[/COLOR]
Save the file.
Re-run
Code:
$ brunch mako
The second error you will see:
Code:
build/core/java.mk:23: *** packages/apps/Launcher3:
Invalid LOCAL_SDK_VERSION '19' Choices are: current 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18. Stop.
Go to packages/apps/Launcher3/Android.mk and edit line 35 (it's in the middle of the file):
Look for
Code:
LOCAL_PROTOC_OPTIMIZE_TYPE := nano
LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)/protos/
LOCAL_SDK_VERSION := [COLOR=DarkRed]19[/COLOR]
LOCAL_PACKAGE_NAME := Launcher3
and change the "19" to "current"
It should look like this
Code:
LOCAL_PROTOC_OPTIMIZE_TYPE := nano
LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)/protos/
LOCAL_SDK_VERSION := [COLOR=DarkRed]current[/COLOR]
LOCAL_PACKAGE_NAME := Launcher3
Save the file.
Re-run
Code:
$ brunch mako
-END OF THE OLD ERROR CORRECTION-
When everything worked as it should you will find your new ROM-image in ~/cm11/out/target/product/mako
It is called cm-11-DATE-UNOFFICIAL-mako-zip. You can flash it via CWM/TWRP as usual.
VI. Rebuilding with newest sources
Whenever you like to update your sources and build a new version you have to run these four simple commands:
Code:
$ cd ~/cm11
$ repo sync
$ . build/envsetup.sh
$ brunch mako
Compiling takes less time than it took for creating the ROM the first time because it's only building new parts while reusing old parts that haven't changed.
Happy building!
Reserved
Reserved
Nice Tutorial, thank you for the work :good:
Now i have to organize a linux-computer... :/
edited to linux, my brain is out of order today...
Thank you for your post. I knew how to compile but I was lazy to compile for myself any rom until now. I planned to wait until someone will post it, but your post just got me excited and I will compile.
Thank you for your instructions and all. Good luck!
This is what I keep getting...
[email protected]:~/cm11$ repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
bash: /home/bruce/bin/repo: Permission denied
B4tnam said:
[email protected]:~/cm11$ repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
bash: /home/bruce/bin/repo: Permission denied
Click to expand...
Click to collapse
try chmod a+x /home/bruce/bin/repo
hansichen123 said:
Nice Tutorial, thank you for the work :good:
Now i have to organize a linux-computer... :/
Gesendet von meinem Transformer Pad mit Tapatalk 4
edited to linux, my brain is out of order today...
Click to expand...
Click to collapse
If you have a quite new PC running Windows, you could use a virtual machine to install Linux ontop of your Windows installation. Have a look at VirtualBox for example. It's free. https://www.virtualbox.org/
@Raum1807 How's cm11? What features have been implemented so far?
B4tnam said:
[email protected]:~/cm11$ repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
bash: /home/bruce/bin/repo: Permission denied
Click to expand...
Click to collapse
Of course, because you didn't hit the thanks button. (joking, but of course, just press it now)
Your problem is with folder permissions. I don't know how you created the folders but somehow you just don't have enough permisions now.
Try to:
chmod a+x /home/bruce/bin/repo
Bah my linux box broke.. @op Can you release the cm11 build you made?
Sent from my AOSP on Mako using Tapatalk
Imperticus said:
@Raum1807 How's cm11? What features have been implemented so far?
Click to expand...
Click to collapse
It's work in progress... :fingers-crossed:
It's actually very nice. A bit rough around the corners at the moment... But since KitKat is just a few days old, the progress right now is already fantastic compared to last year's Android 4.2-Release. I am looking forward to the days after the M2 release of CM10.2 when most of the devs will focus on CM11.0. Everything is mostly in English, but the handling is very smooth and my short test didn't reveal anything as not working.
Oh, and a printing feature has been implemented (not tested), new launcher is coming (Launcher 3), etc.
Looks very promising!
Remember guys if you try this that you can't use the ART compiler with De-Odexed GApps, so you will have to use PA GApps instead.
Raum1807 said:
It's work in progress... :fingers-crossed:
It's actually very nice. A bit rough around the corners at the moment... But since KitKat is just a few days old, the progress right now is already fantastic compared to last year's Android 4.2-Release. I am looking forward to the days after the M2 release of CM10.2 when most of the devs will focus on CM11.0. Everything is mostly in English, but the handling is very smooth and my short test didn't reveal anything as not working.
Oh, and a printing feature has been implemented (not tested), new launcher is coming (Launcher 3), etc.
Looks very promising!
Click to expand...
Click to collapse
looks great. printing is part of 4.4 not CM
can you check if compass is working?
cobhc said:
Remember guys if you try this that you can't use the ART compiler with De-Odexed GApps, so you will have to use PA GApps instead.
Click to expand...
Click to collapse
Right! Thanks. Forgot to post it.
The PA-GAPPS (FULL COMPLETE PACKAGE) from yesterday is what I was using with my test-build.
http://forum.xda-developers.com/showthread.php?t=2397942
Look for Download-Link under
Full Complete Package ~201MB
then for
pa_gapps-full-4.4-20131105b-signed.zip
Imperticus said:
looks great. printing is part of 4.4 not CM
can you check if compass is working?
Click to expand...
Click to collapse
Maps was working; GPS signal was fast and precise. But I must admit that I haven't tested the compass function while in maps...
Dang!! Now I can't wait to get out of work and try this. I've never compiled my own ROM before, but I'm looking forward to trying it with your instructions. I have full backups of my phone right now in case I blow it up. Will need to fire up Virtual Box, as one commenter pointed out. Good idea
Could this work with other phones? Assuming we use the correct device specific calls
Raum1807 said:
Right! Thanks. Forgot to post it.
The PA-GAPPS (FULL COMPLETE PACKAGE) from yesterday is what I was using with my test-build.
http://forum.xda-developers.com/showthread.php?t=2397942
Look for Download-Link under
Full Complete Package ~201MB
then for
pa_gapps-full-4.4-20131105b-signed.zip
Click to expand...
Click to collapse
I said that, then the build I tried from Dev-Host still FC's with the PA GApps you linked and the ART compiler :S
cobhc said:
I said that, then the build I tried from Dev-Host still FC's with the PA GApps you linked and the ART compiler :S
Click to expand...
Click to collapse
pa gapps are deodexed. you need odex gapps to work with ART. Use this - http://d-h.st/8PP
cobhc said:
Remember guys if you try this that you can't use the ART compiler with De-Odexed GApps, so you will have to use PA GApps instead.
Click to expand...
Click to collapse
PA Odexed GApps?
edit: user above answered my question

[Dev][Krt16m][4.4] unofficial_cyanogenmod-11 [Thread-Closed]

Note : this thread is intended only for dev disscusion , working as i m getting things mixed in my beanstalk thread So, decided to create this thread thanks @DomusX10 and @[NUT] for idea
this is work to make Kitkat working on xperia 2011 devices
Source : github.com/cyanogemod
https://github.com/rebelos/msm7x30-3.4.x-nAa
Test Build 1 link :- http://www.mediafire.com/download/5zkr6d5dxzl7zdr/cm-11-20131110-UNOFFICIAL-anzu.zip
Test Build #2
Link : http://www.mediafire.com/download/ww4p6srrs0d58kd/cm-11-20131118-UNOFFICIAL-anzu.zip
Add this line in build prop before flashing..
Code:
#ADB
ro.debuggable=1
persist.sys.usb.config=adb
thank you!
current status : stuck at bootanim [on build #1] on build #2 needed to be verified
credits : Mikeioannia , legacy xperia , saki3d ,cyanogenmod , fxp ,szezso , munjeni
how to build guide
Code:
[B]How To Make Your Own Cm_11 builds for Anzu , urushi and smultron[/B]
1. mkdir cm
2. repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
3. mkdir -p ~/cm/.repo/local_manifests
4. curl https://raw.github.com/rebelos/local_manifests/cm-11.0/semc.xml > ~/cm/.repo/local_manifests/semc.xml
5. repo sync -j1
6. curl https://raw.github.com/rebelos/local_manifests/cm-11.0/updates.sh > ~/cm/updates.sh
7. chmod a+x updates.sh
8. ./updates.sh
9. cd ~/cm/vendor/cm
10. ./get-prebuilts
11. cd ~/cm
12. . build/envsetup.sh
13. breakfast <device>
14. brunch <device>
guys build it .. try it.. debug it ..
[Dev][Krt16m][4.4] unofficial_cyanogenmod-11
I am running now the 4.4 on my n4 it don't have new kernel but it have some new resources that the devs will take and they optimization the performance.. My n4 flying I hope to see my arc s flying to..
Sent from my Nexus 4 using XDA Premium 4 mobile app
nokiagye said:
I am running now the 4.4 on my n4 it don't have new kernel but it have some new resources that the devs will take and they optimization the performance.. My n4 flying I hope to see my arc s flying to..
Sent from my Nexus 4 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
this evening I read about which sony device reiceve kitkat, and I read that xperia V and T will receive 4.3 officially.
Hope of 4.4 on Arc S never die. Obviously with a cooked ROM from xda...:good:
[Dev][Krt16m][4.4] unofficial_cyanogenmod-11
any experienced user here who knows how to do logcat cause i needed few testers for 4.4
[Dev][Krt16m][4.4] unofficial_cyanogenmod-11
officiallysonyrebel said:
any experienced user here who knows how to do logcat cause i needed few testers for 4.4
Click to expand...
Click to collapse
OK i can test and maybe ask @besttt & @vishal_android freak
which link to download?
cheers
officiallysonyrebel said:
any experienced user here who knows how to do logcat cause i needed few testers for 4.4
Click to expand...
Click to collapse
stuck with me at kernel logo using provided kernel
Cheers
[Dev][Krt16m][4.4] unofficial_cyanogenmod-11
elguneid said:
Me too confused about that ...
Sent from my LT18i using xda app-developers app
Click to expand...
Click to collapse
fixed....
Code:
[B]How To Make Your Own Cm_11 builds for Anzu , urushi and smultron[/B]
1. mkdir cm
2. repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
3. mkdir -p ~/cm/.repo/local_manifests
4. curl https://raw.github.com/rebelos/local_manifests/cm-11.0/semc.xml > ~/cm/.repo/local_manifests/semc.xml
5. repo sync -j1
6. curl https://raw.github.com/rebelos/local_manifests/cm-11.0/updates.sh > ~/cm/updates.sh
7. chmod a+x updates.sh
8. ./updates.sh
9. cd ~/cm/vendor/cm
10. ./get-prebuilts
11. cd ~/cm
12. . build/envsetup.sh
13. breakfast <device>
14. brunch <device>
guys build it .. try it.. debug it ..
[Dev][Krt16m][4.4] unofficial_cyanogenmod-11
officiallysonyrebel said:
fixed....
Code:
[B]How To Make Your Own Cm_11 builds for Anzu , urushi and smultron[/B]
1. mkdir cm
2. repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
3. mkdir -p ~/cm/.repo/local_manifests
4. curl https://raw.github.com/rebelos/local_manifests/cm-11.0/semc.xml > ~/cm/.repo/local_manifests/semc.xml
5. repo sync -j1
6. curl https://raw.github.com/rebelos/local_manifests/cm-11.0/updates.sh > ~/cm/updates.sh
7. chmod a+x updates.sh
8. ./updates.sh
9. cd ~/cm/vendor/cm
10. ./get-prebuilts
11. cd ~/cm
12. . build/envsetup.sh
13. breakfast <device>
14. brunch <device>
guys build it .. try it.. debug it ..
Click to expand...
Click to collapse
I have an ARC, no coding experience though...
Before I try this:
No need to get blobs for 4.4?
officiallysonyrebel said:
i saw u on Z forum u have created XZ dual recovery ...
everything is updated on my github..nothing needed but the problem i m not able to surpass boot screen with no adb shell access according to mikeioanniai busybox is broken ... currently trying to fix up things ... plz if u can try it for fixing these thigns then that will be great
best regards
Officiallysonyrebel
Click to expand...
Click to collapse
XZDualRecovery, yes, that's me
PM me your hangouts email, I'll attempt a build ASAP and we will be able to do some live debugging while you code
officiallysonyrebel said:
fixed....
Code:
[B]How To Make Your Own Cm_11 builds for Anzu , urushi and smultron[/B]
[STRIKE]1. mkdir cm[/STRIKE]
[STRIKE]2. repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0[/STRIKE]
[STRIKE]3. mkdir -p ~/cm/.repo/local_manifests[/STRIKE]
[STRIKE]4. curl https://raw.github.com/rebelos/local_manifests/cm-11.0/semc.xml > ~/cm/.repo/local_manifests/semc.xml[/STRIKE]
[STRIKE]5. repo sync -j1[COLOR="Red"][B]0[/B][/COLOR][/STRIKE]
[STRIKE]6. curl https://raw.github.com/rebelos/local_manifests/cm-11.0/updates.sh > ~/cm/updates.sh[/STRIKE]
[STRIKE]7. chmod a+x updates.sh[/STRIKE]
[STRIKE]12. . build/envsetup.sh[/STRIKE] [COLOR="Green"][B]needed to do here!!![/B][/COLOR]
[STRIKE]8. ./updates.sh[/STRIKE]
[COLOR="Green"][B]Open and comment cherries 53164, 51130, 51224, 52888 and 53495: ALREADY MERGED![/B][/COLOR]
[STRIKE]9. cd ~/cm/vendor/cm[/STRIKE]
[STRIKE]10. ./get-prebuilts[/STRIKE]
[STRIKE]11. cd ~/cm[/STRIKE]
[STRIKE]13. breakfast anzu[/STRIKE]
14. brunch anzu [COLOR="Red"][B]RUNNING[/B][/COLOR]
guys build it .. try it.. debug it ..
Click to expand...
Click to collapse
Doing this now, will strike off everything done sofar to show progress
-- EDIT --
Man, CM is so freaking big, even with my 2 (yes, really) 20Mbit connections it's taking for ever
@officiallysonyrebel
Code:
# breakfast anzu
including vendor/cm/vendorsetup.sh
build/core/product_config.mk:238: *** _nic.PRODUCTS.[[device/semc/anzu/cm.mk]]: "hardware/ti/wlan/mac80211/wl127x-wlan-products.mk" does not exist. Stop.
Device anzu not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_semc_anzu
Default revision: cm-11.0
Checking branch info
Default revision cm-11.0 not found in android_device_semc_anzu. Bailing.
Branches found:
cm-9.0.0
gb-release-7.2
gingerbread
gingerbread-release
ics
ics-release
jellybean
jellybean-stable
cm-7.1.0
Use the ROOMSERVICE_BRANCHES environment variable to specify a list of fallback branches.
build/core/product_config.mk:238: *** _nic.PRODUCTS.[[device/semc/anzu/cm.mk]]: "hardware/ti/wlan/mac80211/wl127x-wlan-products.mk" does not exist. Stop.
** Don't have a product spec for: 'cm_anzu'
** Do you have the right repo manifest?
Any idea how to get this fixed? For some reason, repo breakfast is not picking up your repository as a valid one... I can't find why
The path device/semc/anzu is there... breakfast somehow thinks it's not
---------- Post added at 01:31 AM ---------- Previous post was at 01:30 AM ----------
arc_n_krizt said:
How big data source for cm???
Sent from my Xperia Arc S using xda app-developers app
Click to expand...
Click to collapse
22Gb sofar... no idea if it will grow even more...
[NUT] said:
@officiallysonyrebel
Code:
# breakfast anzu
including vendor/cm/vendorsetup.sh
build/core/product_config.mk:238: *** _nic.PRODUCTS.[[device/semc/anzu/cm.mk]]: "hardware/ti/wlan/mac80211/wl127x-wlan-products.mk" does not exist. Stop.
Device anzu not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_semc_anzu
Default revision: cm-11.0
Checking branch info
Default revision cm-11.0 not found in android_device_semc_anzu. Bailing.
Branches found:
cm-9.0.0
gb-release-7.2
gingerbread
gingerbread-release
ics
ics-release
jellybean
jellybean-stable
cm-7.1.0
Use the ROOMSERVICE_BRANCHES environment variable to specify a list of fallback branches.
build/core/product_config.mk:238: *** _nic.PRODUCTS.[[device/semc/anzu/cm.mk]]: "hardware/ti/wlan/mac80211/wl127x-wlan-products.mk" does not exist. Stop.
** Don't have a product spec for: 'cm_anzu'
** Do you have the right repo manifest?
Any idea how to get this fixed? For some reason, repo breakfast is not picking up your repository as a valid one... I can't find why
The path device/semc/anzu is there... breakfast somehow thinks it's not
---------- Post added at 01:31 AM ---------- Previous post was at 01:30 AM ----------
22Gb sofar... no idea if it will grow even more...
Click to expand...
Click to collapse
Hi,
see if these works:
First, check if in cm\device folder there is "semc\anzu\..."
if not, local manifest should be changed
if there is anzu folder in cm\device\ then try one of these:
breakfast cm_anzu
breakfast cm_anzu-eng
or alternatively just type lunch and select anzu from the list
[NUT] said:
@officiallysonyrebel
Code:
# breakfast anzu
including vendor/cm/vendorsetup.sh
build/core/product_config.mk:238: *** _nic.PRODUCTS.[[device/semc/anzu/cm.mk]]: "hardware/ti/wlan/mac80211/wl127x-wlan-products.mk" does not exist. Stop.
Device anzu not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_semc_anzu
Default revision: cm-11.0
Checking branch info
Default revision cm-11.0 not found in android_device_semc_anzu. Bailing.
Branches found:
cm-9.0.0
gb-release-7.2
gingerbread
gingerbread-release
ics
ics-release
jellybean
jellybean-stable
cm-7.1.0
Use the ROOMSERVICE_BRANCHES environment variable to specify a list of fallback branches.
build/core/product_config.mk:238: *** _nic.PRODUCTS.[[device/semc/anzu/cm.mk]]: "hardware/ti/wlan/mac80211/wl127x-wlan-products.mk" does not exist. Stop.
** Don't have a product spec for: 'cm_anzu'
** Do you have the right repo manifest?
Any idea how to get this fixed? For some reason, repo breakfast is not picking up your repository as a valid one... I can't find why
The path device/semc/anzu is there... breakfast somehow thinks it's not
---------- Post added at 01:31 AM ---------- Previous post was at 01:30 AM ----------
22Gb sofar... no idea if it will grow even more...
Click to expand...
Click to collapse
its easy ..
cd ~/cm/hardware/ti/wlan
git fetch http://review.cyanogenmod.org/CyanogenMod/android_hardware_ti_wlan refs/changes/24/51224/7 && git cherry-pick FETCH_HEAD
only if it show some wired thing then
git commit --allow-empty
source is aroung 30 gb's
yup we can use hangouts [email protected] -- if anybody has problem regarding kk then can contact me at hangouts .. thnx
after it u might get librpc error [maybe] the n go in hardware / gps / delete lib rpc .. i m updating sources to upstream changes..
best regards
officiallysonyrebel
officiallysonyrebel said:
its easy ..
cd ~/cm/hardware/ti/wlan
git fetch http://review.cyanogenmod.org/CyanogenMod/android_hardware_ti_wlan refs/changes/24/51224/7 && git cherry-pick FETCH_HEAD
only if it show some wired thing then
git commit --allow-empty
source is aroung 30 gb's
yup we can use hangouts [email protected] -- if anybody has problem regarding kk then can contact me at hangouts .. thnx
after it u might get librpc error [maybe] the n go in hardware / gps / delete lib rpc .. i m updating sources to upstream changes..
best regards
officiallysonyrebel
Click to expand...
Click to collapse
gosssss.... it more 5 days to finish in my country!!! does anyone have the cd form .... it's like a repository in linux right??
arc_n_krizt said:
gosssss.... it more 5 days to finish in my country!!! does anyone have the cd form .... it's like a repository in linux right??
Click to expand...
Click to collapse
whats u r bandwidth..?
officiallysonyrebel said:
its easy ..
cd ~/cm/hardware/ti/wlan
git fetch http://review.cyanogenmod.org/CyanogenMod/android_hardware_ti_wlan refs/changes/24/51224/7 && git cherry-pick FETCH_HEAD
only if it show some wired thing then
git commit --allow-empty
source is aroung 30 gb's
yup we can use hangouts [email protected] -- if anybody has problem regarding kk then can contact me at hangouts .. thnx
after it u might get librpc error [maybe] the n go in hardware / gps / delete lib rpc .. i m updating sources to upstream changes..
best regards
officiallysonyrebel
Click to expand...
Click to collapse
The git fetch line fixed it indeed :good: I did need to remove the hardware/qcom/gps/librpc folder though, so that was a smart move
officiallysonyrebel said:
whats u r bandwidth..?
Click to expand...
Click to collapse
i cant share in this forum... whether there is a link than github??
Great!
Now it is much easier to discuss progress with kit kat on xperia 2011 lines! :good::good:
Boy, that split was a hassle
Anyway... ROM compile still running... I'm afraid to stop it, but I forgot to add export USE_CCACHE=1 and to have brunch run with a -j3 switch (which will enable it to use multicore systems)...
It's been running since 7:30 AM (GMT+1) ...
-- EDIT --
If you use the -j switch, take the amount of cores and add 1 to determine the number of threads it can handle. For every 4 cores you can add 1 extra thread. So a dual-core CPU can handle 3, a quad-core can handle 5 but an octo-core can handle 10.
Don't mix up HYPERTHREADING (HT) with actual number of cores, if you have a Pentium series CPU with HT, half the number of cores you might see in your /proc/cpuinfo, HT is doubling your core count but while compiling, it will hinder the processing power of your CPU more then it helps
That clearly does not work on lunch,brunch and breakfast ... too bad!
:victory: FINALY it was done ... or so I thought...
Code:
In file included from external/chromium_org/content/common/android/hash_set.cc:5:0:
/storage/home/nut/development/xperia/cyanogen/beanstalk/out/target/product/anzu/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:10:26: error: extra tokens at end of #ifndef directive [-Werror]
/storage/home/nut/development/xperia/cyanogen/beanstalk/out/target/product/anzu/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:11:26: error: missing whitespace after the macro name [-Werror]
target thumb C++: content_content_common_gyp <= external/chromium_org/content/common/android/surface_texture_peer.cc
In file included from external/chromium_org/content/common/android/hash_set.cc:5:0:
/storage/home/nut/development/xperia/cyanogen/beanstalk/out/target/product/anzu/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:24:20: error: expected initializer before '<' token
/storage/home/nut/development/xperia/cyanogen/beanstalk/out/target/product/anzu/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:26:17: error: expected initializer before '<' token
/storage/home/nut/development/xperia/cyanogen/beanstalk/out/target/product/anzu/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:29:22: error: expected '{' before '<' token
/storage/home/nut/development/xperia/cyanogen/beanstalk/out/target/product/anzu/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:29:22: error: expected unqualified-id before '<' token
external/chromium_org/content/common/android/hash_set.cc:30:1: error: expected '}' at end of input
cc1plus: all warnings being treated as errors
make: *** [/storage/home/nut/development/xperia/cyanogen/beanstalk/out/target/product/anzu/obj/STATIC_LIBRARIES/content_content_common_gyp_intermediates/content/common/android/hash_set.o] Error 1
make: *** Waiting for unfinished jobs....
Lets see if I can fix that...
-- EDIT --
I thought it might have been a typo somewhere ... but I'm lost already
Need help

Categories

Resources