[KERNEL] marmite v10.6 final - Nexus S Android Development

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.

Related

Building AOSP Gingerbread for Droid

(I would post this in the developer forum, but I don't have 10 posts)
I'm working on building Gingerbread from AOSP for Droid. I was hoping to gather information here on how to do this should someone want to build a rom in the future.
So far, I've followed the steps at http://source.android.com/source/download.html to fetch android-2.3.3_r1 (FWIW, I'm running OS X). For the droid, I also needed to clone these git repositories (mostly CM7 fixes) into the associated folder:
https://github.com/koush/proprietary_vendor_motorola - into vendor/motorola. When running git clone, be sure to add "-b gingerbread" to get the latest version. These are the binary blobs that one would normally get by running extract-files.sh.
https://github.com/CyanogenMod/android_device_motorola_sholes - into device/motorola/sholes. This is Droid-specific device information.
https://github.com/CyanogenMod/android_system_wlan_ti - into system/wlan/ti. This is the wifi driver.
https://github.com/CyanogenMod/android_hardware_ti_omap3 - into hardware/ti/omap3. These are other hardware drivers.
https://github.com/CyanogenMod/android_hardware_libhardware_legacy - into hardware/libhardware_legacy. More hardware libraries.
Additional fixes needed to complete build:
In device/motorola/sholes/overlay/frameworks/base/core/res/res/values/config.xml, comment out the line containing "config_flashlight_affects_lightsensor". This is part of CM7 code which disables the light sensor when the flashlight is on; an alternative fix would be to port this code into your tree.
Perform the two fixes at the bottom of the OP in http://forum.xda-developers.com/showthread.php?t=899674 - RGB_565 and Camera. Camera is definitely necessary for building - I believe the RGB_565 fix is necessary for Live Wallpapers.
Take the changes from https://github.com/CyanogenMod/andr...mmit/29f40ea86fe96f66b5a22c7a2bb84055c73e99be - this will prevent Launcher from crashing on boot. Thanks to PeterAlfonso for this fix!
Once the source tree is set up as described, you can run:
Code:
source build/envsetup.sh
lunch (select generic_sholes-userdebug)
make -j 4 otapackage
to start building Android, which will take a while depending on the speed of your machine.
This will create a file named out/target/product/sholes/generic_sholes-ota-eng.*username*.zip - this can be applied as an update.zip in the usual fashion. However, it contains the stock recovery files, which will overwrite the recovery partition you have. So, using any program which can modify zip files, delete the recovery/ folder.
At this point, you should have a flashable, Gingerbread, AOSP rom for droid!
Peter Alfonso (author of a great stock rooted Gingerbread rom for Droid) pointed out a fix for the launcher issues I was having, and I've updated the OP to reflect this. Compiling the changes now - hopefully the rom will boot, and this will represent a full set of instructions for compiling a vanilla gingerbread Droid rom!
I'm trying to compile it, but I'm getting this error:
Code:
Nathan-Camposs-MacBook-Pro:AOSP Nathan$ lunch generic_sholes-userdebug
sed: illegal option -- r
usage: sed script [-Ealn] [-i extension] [file ...]
sed [-Ealn] [-i extension] [-e script] ... [-f script_file] ... [file ...]
build/core/product_config.mk:194: *** _nic.PRODUCTS.[[device/motorola/sholes/sholes.mk]]: "build/target/product/small_base.mk" does not exist. Stop.
** Don't have a product spec for: 'generic_sholes'
** Do you have the right repo manifest?
Nathan-Camposs-MacBook-Pro:AOSP Nathan$
Could you help me?

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]Git tuts drive me nuts -a Roofer's guide to GIT

For all the things you can do in Android
somewhere someone has made a great definitive guide
that will help to both guide you
and provide a basic understanding of the steps involved
assuring you of success in your android tweaking endeavour.
This is not one of those guides.
I'm going to do my best to articulate my
dysfunctional
and admitted retardation
of an understanding of git.
I'll provide some links to guides I have found
so you can check them out and hopefully get a better grasp than I.
When you do, post your tips and tricks here..
I will add links to any posts with tips tricks or guides so you get your proper credit.
(if your into that sorta thing)
This guide is in no particular order and
is subject to random mistakes and inaccuracies.
I will be putting all git commands in red
If it's in red you can assume you just type that and hit enter.​
What is Git?
Git is a tool used to manage projects housed on github and/or locally on your machine. For a greater understanding and comprehensive guide try gitready.com
Cloning
The simplest of things to do with git. Same steps to clone any repository be it your own or one from another github.
git clone <URL of your repository on github> -b <branch> (name of repo)
Example:
Code:
[COLOR="Red"]git clone [email protected]:jamieg71/kernel.git -b master msm8960
[/COLOR]
This tells it what to clone, denotes the branch with -b in this case branch
name is 'master' and finally (name of repo) tells git what you wish for your
cloned repository to be named in this case 'msm8960'.
Making commits & Pushing
Let's say you want to make a couple changes to an app and then push those changes back to github,
we'll use ROMControl for an example.
Navigate to root of ROMControl directory.
First do
repo start ska43 .
Here use the name of the branch you are on, for SofaKingAndroid 4.3 it's "ska43",
also include the dot [space dot] "." at the end of the command.
If instead of working within the rom source in /packages/apps/ you
instead had cloned ROMControl to it's own seperate folder, this is not necessary.
Some helpful commands-
gitk a helpful GUI for git
git status
This will give you an update of what branch you are on and what if any changes have been made.
git log
Will give you a commit history with change ID's commit messages authors time stamps etc,
it can be very handy when looking for specific commits to cherry-pick or revert. This should
show the complete history of a given project with all contributions along the way. To exit this
quickly hit the "q" key.
git reflog
This will give you a short history of your local cloned repository listing each seperate head
Click to expand...
Click to collapse
Once you've made your changes, (and built to be sure everything works as planned....)
git status Just for a reference of what you've done, it will also show any files with a "~" in case your like me and occasionally screw up
To stage changes before committing you have multiple options-
git add .
This will add ALL changed files, sometimes it's handy but if you have done several unrelated
things it can be nice to have them in separate commits with their own commit messages and ID's
git add -a
Same as above
git add (directory/name of file) Example: git add src/com/aokp/romcontrol/AOKPActivity.java
The easiest way to do this, for me, is to just c/p the names of modified files
from the list after running git status
Click to expand...
Click to collapse
Now to commit-
git commit -m 'your message here' Put a brief description of what your commit involves
To Push-
git push <URL of your repository on github>
Example:
Code:
[COLOR="Red"]git push [email protected]:SofaKingAndroid/packages_apps_ROMControl.git[/COLOR]
Fetching Upstream Changes
What if you had forked a project and been working on it for awhile, and you notice there where changes to the original source. Now you need to pull in upstream changes. To do this let's clone our fork to it's own folder on our machine-
We will assume you work in ~/android/ and know how to mkdir upstrm4krnl && cd upstrm4krnl
git clone <URL of your repository on github> -b <branch> (name of repo)
Example:
Code:
[COLOR="Red"]git clone [email protected]:jamieg71/kernel.git -b master msm8960[/COLOR]
This tells it what to clone, denotes the branch with -b in this case branch
name is 'master' and finally (name of repo) tells git what you wish for your
cloned repository to be named in this case 'msm8960'.
To add a remote repository to fetch upstream changes, (where you forked from)
git remote add upstream <URL of remote repository>
Example:
Code:
[COLOR="Red"]git remote add upstream [email protected]:CyanogenMod/android_kernel_htc_msm8960.git[/COLOR]
[COLOR="Red"]git fetch upstream [/COLOR]
This will add the log and pre stage all the changes on the remote repository.
After doing this Be aware of what your intentions are. If there have only been
minor changes with low likelyhood of major conflicts go ahead with merge.
Otherwise it may be best to cherry-pick specific changes.
To add these changes to your working files you have some options, I'm positive these are not the extent of those options but perhaps someone with better know-how will chime in....
[quote]
[COLOR="Red"]git merge upstream/master[/COLOR]
This merges all commits from both the upstream repository and any commits
you made to your forked repo.
[COLOR="Red"]git pull upstream/master[/COLOR]
This will pull in changes only from the remote repository[/quote]
For a better explanation see [url="http://eagain.net/articles/git-for-computer-scientists/#history"]Git for Computer Scientists[/url]
Now do-
[COLOR="Red"]git checkout master[/COLOR]
This should return you to your working branch
of course do a [COLOR="Red"]git status[/COLOR]
Finally do-
[COLOR="Red"]git add .[/COLOR]
[COLOR="Red"]git commit -m 'commit message'[/COLOR]
[COLOR="Red"]git push[/COLOR]
From cloned repo a simple git push should suffice. If not go ahead
and do git push <URL of your forked repo>
Example: [code][COLOR="Red"]git push [email protected]:jamieg71/kernel.git[/COLOR]
Cherry-picking
What is cherry-picking? Simple answer- grabbing commits from a different repo and adding to your own.
Here's some links-
Cherry-Pick-Manual from Kernel.org it don't 'git' more comprehensive than that.
Gitready Guide Greate guide for beginners to experts
I never really got it until I found this on Pastebin. Unknown author or I'd give em creds in all my threads.
And another here it has a different take at the begining
A multitude of guides can be found on Google, I have found the majority take for granted there is a roofer trying to follow them and don't necessarily explain some of the simple things. Which is always what screws me up..
Here's what works for me. I'm going to c/p a session from terminal and will highlight the actual git commands in red and add notes in green (0)
Code:
[email protected]:~/android/sofa/frameworks$ [COLOR="Red"]git clone [email protected]:SofaKingAndroid/frameworks_base.git -b ska43 base[/COLOR]
Cloning into 'base'...
remote: Counting objects: 796444, done.
remote: Compressing objects: 100% (192783/192783), done.
remote: Total 796444 (delta 525643), reused 795809 (delta 525149)
Receiving objects: 100% (796444/796444), 1.06 GiB | 6.67 MiB/s, done.
Resolving deltas: 100% (525643/525643), done.
Checking out files: 100% (21192/21192), done.
[email protected]:~/android/sofa/frameworks$ cd base
[email protected]:~/android/sofa/frameworks/base$ [COLOR="Red"]git status[/COLOR]
# On branch ska43
nothing to commit, working directory clean
[email protected]:~/android/sofa/frameworks/base$ [COLOR="Red"]git remote add ok [email protected]:AOKP/frameworks_base.git[/COLOR] [COLOR="SeaGreen"](1)[/COLOR]
[email protected]:~/android/sofa/frameworks/base$ [COLOR="Red"]git fetch ok[/COLOR]
remote: Counting objects: 40, done.
remote: Compressing objects: 100% (17/17), done.
remote: Total 23 (delta 14), reused 12 (delta 3)
Unpacking objects: 100% (23/23), done.
From github.com:AOKP/frameworks_base
* [new branch] jb -> ok/jb
* [new branch] jb-broke -> ok/jb-broke
* [new branch] jb-mr1 -> ok/jb-mr1
* [new branch] jb-mr2 -> ok/jb-mr2
[email protected]:~/android/sofa/frameworks/base$ [COLOR="Red"]git cherry-pick 4829174d6f6fa33cd51f2bde9df2e100420ef3bf[/COLOR] [COLOR="SeaGreen"](2)[/COLOR]
[ska43 f8380a3] SystemUI: 4G/LTE icon toggle
Author: Roman Birg <[email protected]>
2 files changed, 17 insertions(+), 2 deletions(-)
[email protected]:~/android/sofa/frameworks/base$ [COLOR="Red"]git status[/COLOR]
# On branch ska43
# Your branch is ahead of 'origin/ska43' by 1 commit.
# (use "git push" to publish your local commits)
#
nothing to commit, working directory clean
[email protected]:~/android/sofa/frameworks/base$ [COLOR="Red"]git remote add upstream [email protected]:SofaKingAndroid/frameworks_base.git[/COLOR] [COLOR="SeaGreen"](3)[/COLOR]
[email protected]:~/android/sofa/frameworks/base$ [COLOR="Red"]git push[/COLOR]
Counting objects: 31, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (13/13), done.
Writing objects: 100% (16/16), 1.61 KiB, done.
Total 16 (delta 10), reused 0 (delta 0)
To [email protected]:SofaKingAndroid/frameworks_base.git
05ade0e..f8380a3 ska43 -> ska43
Notes
1) git remote add (initials) <URL of repository to grab commits>
The initials are what you make em, I used "ok"
2) git cherry-pick <Change ID or SHA of commit you want>
To find the change ID refer to commit history for
the project you are working on after fetch
you may be able to do git log and find the
change ID you want.
3) git remote add upstream <URL of your github repository>
Pretty sure I could have done git checkout ska43 and
it would have returned me to my working files, but I
wasn't sure so I did it this way.
This is an example of a very simple cherry-pick with no conflicting code. Most times when cherry-picking there will be many conflicts. You can use gitk (a GUI for git) to help resolve conflicts and get ready to merge.
More to come.
If you see a mistake or have anything to add
please by all means
respond in this thread.
More to come-​
reserved
Great Guide .!
Thanks for this one! Bookmarked!
haha, love the title, thanks for the laugh and useful info!
Nice work Jamie!
-Mike
Great work there Jamie!
Good Job! Lots of work went into this along with a sense of humor.
forking in another way
git remote add fork <url of fork>
git fetch fork
git checkout -b fork_branch fork/<branch>
example :-
I want to fork https://github.com/omnirom/android_frameworks_av android-4.4 branch into https://github.com/Legacy-Xperia/android_frameworks_av xyz branch
make a directory as you wish in your PC/COMP
git init
git pull https://github.com/Legacy-Xperia/android_frameworks_av.git
git remote add fork https://github.com/omnirom/android_frameworks_av
git fetch fork
git checkout -b xyz fork/android-4.4
done then push it
PS:- You can directly fork using browser but i love working via terminal
You can also add gitg in OP, it's a great software for working with git.
Sent from my EMVIRUS Sensation XL ! using XDA Premium 4 mobile app
excellent guide jamie
great job as always :beer:
percy_g2 said:
forking in another way
git remote add fork <url of fork>
git fetch fork
git checkout -b fork_branch fork/<branch>
example :-
I want to fork https://github.com/omnirom/android_frameworks_av android-4.4 branch into https://github.com/Legacy-Xperia/android_frameworks_av xyz branch
make a directory as you wish in your PC/COMP
git init
git pull https://github.com/Legacy-Xperia/android_frameworks_av.git
git remote add fork https://github.com/omnirom/android_frameworks_av
git fetch fork
git checkout -b xyz fork/android-4.4
done then push it
PS:- You can directly fork using browser but i love working via terminal
Click to expand...
Click to collapse
Nice, thanks for the alternate means.
Nico_60 said:
You can also add gitg in OP, it's a great software for working with git.
Click to expand...
Click to collapse
I've been inactive for some time now dang life gets in the way of me hobby. Next time I'm in the PC I'll add this as well as Percy_g2 method. Thanks for the input.
youdug said:
excellent guide jamie
great job as always :beer:
Click to expand...
Click to collapse
Hey hey, I see you doing some great stuff over in the G2 forum. Great stuff buddy!
Sent from my EVO using Tapatalk
http://www.youtube.com/watch?v=ZDR433b0HJY
Interesting talk about how git works(rebase,merge,pull,push,status etc) and more info

39A based Rom Building - No SIm

So, I've tried building CM12 off JPC's sources.
I've tried building PAC-ROM 5.1.
They both boot fine for me. Except that neither recognize my SIM on boot.
Is there some commit that *has* to be made/reverted/cherry-picked in order to get the SIM to work?
I can provide my dmesg/locat if that helps.
Please, only devs reply. No need to clutter the thread with useless chatter.
*diregard* got to the bottom of it on IRC and JPC's CM12 thread. There was a boardconfig flag missing.
Where is the reference link?You can tell us how to fix it
qqzwc said:
Where is the reference link?You can tell us how to fix it
Click to expand...
Click to collapse
Here was his original instructions for what commits to revert/cherrypick: http://forum.xda-developers.com/showpost.php?p=60404718&postcount=3614
And here was the fix: http://forum.xda-developers.com/showpost.php?p=60418759&postcount=3641
However, he's updated his device tree on github to account for it now.
Yoinx said:
Here was his original instructions for what commits to revert/cherrypick: http://forum.xda-developers.com/showpost.php?p=60404718&postcount=3614
And here was the fix: http://forum.xda-developers.com/showpost.php?p=60418759&postcount=3641
However, he's updated his device tree on github to account for it now.
Click to expand...
Click to collapse
Well I just tried to build RR and kicked it off about 4 hours ago. I'll do another repo sync and try again.
Bright side, RR booted up for me
Edit - tried pulling in the commit and cherrypicking the fix (http://review.cyanogenmod.org/#/c/61459/) and got the stuff below. I'm wondering if the changes he made to his source took care of this?
Code:
[email protected]:~/rr$ git fetch http://review.cyanogenmod.org/CyanogenMod/android_frameworks_native refs/changes/59/61459/1 && git cherry-pick FETCH_HEAD
From http://review.cyanogenmod.org/CyanogenMod/android_frameworks_native
* branch refs/changes/59/61459/1 -> FETCH_HEAD
error: cherry-pick is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit, or use
hint: 'git commit -a'.
fatal: cherry-pick failed
[email protected]:~/rr$
ming3r said:
Well I just tried to build RR and kicked it off about 4 hours ago. I'll do another repo sync and try again.
Bright side, RR booted up for me
Edit - tried pulling in the commit and cherrypicking the fix (http://review.cyanogenmod.org/#/c/61459/) and got the stuff below. I'm wondering if the changes he made to his source took care of this?
Code:
[email protected]:~/rr$ git fetch http://review.cyanogenmod.org/CyanogenMod/android_frameworks_native refs/changes/59/61459/1 && git cherry-pick FETCH_HEAD
From http://review.cyanogenmod.org/CyanogenMod/android_frameworks_native
* branch refs/changes/59/61459/1 -> FETCH_HEAD
error: cherry-pick is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit, or use
hint: 'git commit -a'.
fatal: cherry-pick failed
[email protected]:~/rr$
Click to expand...
Click to collapse
You've changed files. Do 'git status' to find out what changes you made, then you have to commit them before you can cherry-pick anything.
Thanks. Trying to do a "git add ." right now so I can get the cherry pick in, but I'm a little surprised that it didn't pull the change automatically from the device tree when I did a repo sync earlier today for this. Thanks for helping out with my newb-ness
Edit - instead of doing a git add *, it's better to go into the specific folder and just do the cherrypick from there...go figure. Time to build this out again!

[KERNEL] [UNIFIED] Anykernel

ANYKERNEL
espressowifi / espresso3g
Please respect the following 2 points
No feature requests!
Overclocked Kernel can be found here
NOTE:
This product is provided "as is" without any warranty. Use on your own risk.
I am not responsible for burned CPU or GPU.
Any kind of OC is really dangerous on Galaxy Tab2. While OMAP 4460 has a built-in temperature sensor, OMAP 4430 doesn't have one. Nothing stops it from overheating...
If you don't read and respect the OP, you accept to make a donation of 50$ to a charity of your choice!
​ [#WARRANTY]
It is difficult to update all Roms frequently, and it does not always makes sense to compile, download and flash a whole rom, if only some kernel changes are applied.
This kernel will include changes before i add them official to our kernel source (most of the time security bugfixes)!
Android 5.1 and Android 6.0
This Kernel works on all Android 5.1 and Android 6.0 Roms for espressowifi and espresso3g.
Android 4.4
On Android 4.4 we need a different kernel, 4.4 Kernel includes "KitKat" tag on zip name.
What else to say
Kernel compiled using GCC 4.8
Anykernel based on Anykernel2 by @osm0sis ( https://github.com/osm0sis/AnyKernel2 ) - it will dump your boot.img and replace the zImage and add proper kernel modules.
Roms with default libion
LineageOS (unofficial)
espresso3g
lineage-11-20180131-2053-UNOFFICIAL-espresso3g.zip and newer
lineage-13.0_espresso3g-6.0.1-20180130-2211.zip and newer
lineage-14.1_espresso3g-7.1.2-20180131-1859.zip and newer
espressowifi
lineage-11-20180131-2033-UNOFFICIAL-espressowifi.zip and newer
lineage-13.0_espressowifi-6.0.1-20180130-2146.zip and newer
lineage-14.1_espressowifi-7.1.2-20180131-1818.zip and newer
OmniRom (unofficial)
espresso3g
omni_espresso3g-4.4.4-20180127-2337.zip and newer
omni_espresso3g-6.0.1-20180128-0312.zip and newer
omni_espresso3g-7.1.2-20180128-1319.zip and newer
espressowifi
omni_espressowifi-4.4.4-20180127-2310.zip and newer
omni_espressowifi-6.0.1-20180128-0251.zip and newer
omni_espressowifi-7.1.2-20180128-1254.zip and newer
SlimRoms (unofficial)
espresso3g
Slim-espresso3g-4.4.4.build.9.15-UNOFFICIAL-20180128-0125.zip and newer
Slim_espresso3g-6.0.1-20180128-2332.zip and newer
Slim_espresso3g-7.1.2-20180131-1617.zip and newer
espressowifi
Slim-espressowifi-4.4.4.build.9.15-UNOFFICIAL-20180128-0028.zip and newer
Slim_espressowifi-6.0.1-20180128-2308.zip and newer
Slim_espressowifi-7.1.2-20180131-1555.zip and newer
Unlegacy-Android:
All official Unlegacy-Android builds starting on 15th feburary use the default libion
Roms with new DDK
Slim6 , Slim7, OmniROM4, OmniROM 6, OmniROM 7 and LineageOS 11, LineageOS 13 and LineageOS 14.1 compiled after 01.03.2019
[#DONATETOME]
XDA:DevDB Information
(unified) Anykernel, Kernel for the Samsung Galaxy Tab 2
Contributors
Android-Andi, Ziyan
Source Code: https://github.com/Unlegacy-Android/android_kernel_ti_omap4/commits/3.0/common
Kernel Special Features: Testing before applying on our source official, CVE fixes
Version Information
Status: Testing
Created 2016-10-21
Last Updated 2020-05-02
Reserved
As requested, here's my setup to compile espresso kernel.
01.05.2020
Follow https://github.com/andi34/android_build-bot/blob/manifest/README.md and https://github.com/andi34/android_build-bot/blob/kernelcompile/README.md
What do you need
Kernel Source (you can get our latest kernel source on SlimRoms, OmniRoms or CyanogenMods github, "espresso10 kernel")
GCC ( https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8 )
pvr source, added to omap4-common device repo and hardware_ti_omap4 repo (can be found on SlimRoms, OmniRoms or CyanogenMods github)
you can use my scripts put below (update some paths, marked red )
AnyKernel2 Source from osm0sis (see 1. post, update for your tab2 needed)
build-gcc4.8.env:
Code:
[COLOR="Red"]export CROSS_COMPILE='/android/kernelcompile/arm-eabi-4.8/bin/arm-eabi-'[/COLOR]
export LDFLAGS=''
export CFLAGS=''
export SUBARCH=arm
export ARCH=arm
[COLOR="Red"]export STRIP=/android/kernelcompile/arm-eabi-4.8/bin/arm-eabi-strip[/COLOR]
alias 'stm'='$STRIP --strip-unneeded *.ko'
compile-espresso.sh
Code:
#!/bin/bash
readonly red=$(tput setaf 1) # red
readonly grn=$(tput setaf 2) # green
readonly ylw=$(tput setaf 3) # yellow
readonly blu=$(tput setaf 4) # blue
readonly cya=$(tput setaf 6) # cyan
readonly txtbld=$(tput bold) # Bold
readonly bldred=$txtbld$red # red
readonly bldgrn=$txtbld$grn # green
readonly bldylw=$txtbld$ylw # yellow
readonly bldblu=$txtbld$blu # blue
readonly bldcya=$txtbld$cya # cyan
readonly txtrst=$(tput sgr0) # Reset
err() {
echo "$txtrst${red}$*$txtrst" >&2
}
warn() {
echo "$txtrst${ylw}$*$txtrst" >&2
}
info() {
echo "$txtrst${grn}$*$txtrst"
}
setbuildjobs() {
# Set build jobs
JOBS=$(expr 0 + $(grep -c ^processor /proc/cpuinfo))
info "Set build jobs to $JOBS"
}
info "Kernel source path: $KERNELSOURCE"
info "PVR Source path: $PVRSAUCE"
info "Working directory: $WORKINGDIR"
info "resulting zImage and modules stored at: $WORKINGOUTDIR"
setbuildjobs
info "Moving to kernel source"
cd $KERNELSOURCE
info "Import toolchain environment setup"
info "Toolchain: $TOOLCHAIN"
source $SAUCE/build-$TOOLCHAIN.env
info "Create a buid directory, known as KERNEL_OUT directory"
# then always use "O=$SAUCE/espresso" in kernel compilation
info "create working directory"
mkdir -p $WORKINGDIR
warn "Make sure the kernel source clean on first compilation"
make O=$WORKINGDIR mrproper
warn "Rebuild the kernel after a change, maybe we want to reset the compilation counter"
echo 0 > $WORKINGDIR/.version
if [ "$VARIANTDEFCONFIG" = "*p*" ]; then
info "Import kernel config file: $DEFCONFIGNAME"
info "Import variant config file: $VARIANTDEFCONFIGNAME"
make O=$WORKINGDIR VARIANT_DEFCONFIG=$VARIANTDEFCONFIG $DEFCONFIGNAME
info "Change kernel configuration if needed using:"
info " make O=$WORKINGDIR menuconfig "
VARIANTDEFCONFIG=
else
info "Import kernel config file: $DEFCONFIGNAME"
make O=$WORKINGDIR $DEFCONFIGNAME
info "Change kernel configuration if needed using:"
info " make O=$WORKINGDIR menuconfig "
fi
info "lets build the kernel"
make -j$JOBS O=$WORKINGDIR
if [ -f $WORKINGDIR/arch/arm/boot/zImage ]; then
info "Copying the resulting zImage and modules to: $WORKINGOUTDIR"
info "Creating directory..."
mkdir -p $WORKINGOUTDIR
mkdir -p $WORKINGOUTDIR/modules/system/lib/modules
cp $WORKINGDIR/arch/arm/boot/zImage $WORKINGOUTDIR/
find $WORKINGDIR/ -type f -name *.ko -exec cp {} $WORKINGOUTDIR/modules/system/lib/modules/ \;
info "Files moved!"
info "Pointing KERNELDIR to KERNEL_OUT directory"
export KERNELDIR=$WORKINGDIR
warn "Make sure the PVR source clean."
warn "Running 'make clean'..."
make clean -C $PVRSAUCE/build/linux2/omap4430_android
info "Building the PVR module..."
# we now use the default libion, our kernel was updated
make -j8 -C $PVRSAUCE/build/linux2/omap4430_android TARGET_PRODUCT="blaze_tablet" BOARD_USE_TI_LIBION=false BUILD=release TARGET_SGX=540 PLATFORM_VERSION=4.1
info "Copying the resulting PVR module to: $WORKINGOUTDIR"
cp -fr $PVRSAUCE/binary2_omap4430_android_release/target/pvrsrvkm.ko $WORKINGOUTDIR/modules/system/lib/modules/pvrsrvkm_sgx540_120.ko
mv $PVRSAUCE/binary2_omap4430_android_release/target/pvrsrvkm.ko $WORKINGOUTDIR/modules/system/lib/modules/
warn "Don't leave any module objects in PVR source!"
warn "Running 'make clean'..."
make clean -C $PVRSAUCE/build/linux2/omap4430_android
info "Properly stripping the kernel modules for smaller size (implified as stm command inside build.env)..."
cd $WORKINGOUTDIR/modules/system/lib/modules
stm
info "####################"
info "# Done! #"
info "####################"
else
warn "####################"
warn "# FAILED! #"
warn "####################"
fi
cd $SAUCE
espresso-m.sh
Code:
#!/bin/bash
[COLOR="Red"]SAUCE=~/android2/kernelcompile
PVRSAUCE=~/android2/official/omap4/stable/pvr-source/eurasiacon
KERNELSOURCE=~/android2/official/kernel/android_kernel_ti_omap4[/COLOR]
TOOLCHAIN="gcc4.8"
DEFCONFIGNAME=espresso_defconfig
WORKINGDIR=$SAUCE/out/$DEFCONFIGNAME
WORKINGOUTDIR=$SAUCE/$DEFCONFIGNAME-bin
. `dirname $0`/compile-espresso.sh
espresso-k.sh
Code:
#!/bin/bash
[COLOR="Red"]SAUCE=~/android2/kernelcompile
PVRSAUCE=~/android2/official/omap4/stable/pvr-source/eurasiacon
KERNELSOURCE=~/android2/official/kernel/android_kernel_ti_omap4[/COLOR]
TOOLCHAIN="gcc4.8"
DEFCONFIGNAME=espresso_kitkat_defconfig
WORKINGDIR=$SAUCE/espresso-kitkat
WORKINGOUTDIR=$WORKINGDIR-bin
. `dirname $0`/compile-espresso.sh
Reserved
DEVICE SPECIFIC ANYKERNEL
Edit 02.05.2020
Latest device specific AnyKernel-Zip can be found here:
https://forum.xda-developers.com/showpost.php?p=79259009&postcount=204
Please note: our kernel detects your Tab2 variant at boot and chooses the right driver and config for your device! In some cases (e.g. if the mainboard or the screen got replaced) your device variant isn't detected right and it will use wrong driver!
I am not sure how many user are affected, but in such case we can skip the intelligent board detection and hardcode the variant.
Attached device specific kernel should work on all unified espresso/espressowifi & espresso3g roms from Android 5 up to Android 7, for Android 4 Roms please use the "kitkat" version.
Feel free to buy me a coconut water if it helped you to keep your Tab still, after many years, almost up to date.
UPDATE AnyKernel-2016-10-21
- Update the ext-csd.rev check for eMMC5.1 (fixes emmc detection for some tab2)
- CVE-2016-5195
- CVE-2016-6828
- CVE-2016-7042
thanks andi.
working nice on my own builded aosp-6.0 10/16
Some more CVE fixes applied on top of previous kernel:
CVE-2014-8173
CVE-2014-7970
CVE-2014-5206
CVE-2016-0819
CVE-2015-8830
CVE-2014-9715
I added a CVE overview on 2nd post.
Edit:
Added a KitKat version
Hi Android-Andi.
Has this kernel the OPTION (or plan to enable) to overclock ?
Thanks.
galoneta said:
Hi Android-Andi.
Has this kernel the OPTION (or plan to enable) to overclock ?
Thanks.
Click to expand...
Click to collapse
No as mentioned in first post! Move out of this thread if you are not able to read first post.
~ All my work, news etc. on http://andi34.github.io ~
Guys, if you don't read the OP the thread will be closed and you can take care about a security patched kernel yourself.
Source is available on github, add everything you miss by your own and stop spamming this thread!
Edit: everyone not accepting the forum rules will be reported!
Edit2: Thanks @ Moderator for the post remove / thread clean
~ All my work, news etc. on http://andi34.github.io ~
SORRY!
I know its off topic but you should read this
http://www.xda-developers.com/9-yea...-dirty-cow-can-root-every-version-of-android/
Emo Darkemotion said:
SORRY!
I know its off topic but you should read this
http://www.xda-developers.com/9-yea...-dirty-cow-can-root-every-version-of-android/
Click to expand...
Click to collapse
OP states that its already patched
Android-Andi said:
"CVE-2016-5195" https://github.com/Unlegacy-Android/...b19311a9089b77
Click to expand...
Click to collapse
Emo Darkemotion said:
SORRY!
I know its off topic but you should read this
http://www.xda-developers.com/9-yea...-dirty-cow-can-root-every-version-of-android/
Click to expand...
Click to collapse
It is quite funny making noise about a bug which existed 9 years now.
1. It is fixed on my kernel as mentioned on 2nd post (wonder why i spend time doing it)
2. I don't see an issue on custom roms (can be fixed within 2 minutes), i would worry about android by your Manufacturer (on all devices).
On android we change the wheel: no central updates like on linux or windows - it is up to your manufacturer to update your device and there's a lot of security issues fixed by google on android every month (and sure, some kernel side too). How many stock updates you get? 1, maybe 2 within 1 year and support drops after that.
To be true: i am not sure if my next device is an android device:
On my g4 i am on stock rom and LG cares 0 about it (Security patch level 2016-07-01... I waited 6 or 7 month to get that update and it was already 1 month behind).
If manufacturer don't care about theire flagships, what else can we do? Flashing custom roms? Right works, but on my daylie driver i don't like to be a flashahollic... I am more thinking about using a different OS.
You should think about my words and don't care about a already fixed security issue
~ All my work, news etc. on http://andi34.github.io ~
Hi Andy,
First of all, many thanks for all your work! I´m using your ROMs and kernels since Slimkat and all are great!
I also do my best colaborating with the translating team of CyanogenMod and SlimRoms (Brazilian Portuguese).
But now I would like to compile a kernel bymyself, to patch the CVEs, changes I like, etc.
If you have time, can you post here the steps you do to compile the Anykernel?
Don´t need to waste time explaining the things, just post the step-by-step commands (git clone, makes, ADBs, etc) and I will do my research, ok?
Thanks in advance and greetings from Brazil!
AranhaEscarlate said:
Hi Andy,
First of all, many thanks for all your work! I´m using your ROMs and kernels since Slimkat and all are great!
I also do my best colaborating with the translating team of CyanogenMod and SlimRoms (Brazilian Portuguese).
But now I would like to compile a kernel bymyself, to patch the CVEs, changes I like, etc.
If you have time, can you post here the steps you do to compile the Anykernel?
Don´t need to waste time explaining the things, just post the step-by-step commands (git clone, makes, ADBs, etc) and I will do my research, ok?
Thanks in advance and greetings from Brazil!
Click to expand...
Click to collapse
Sure, i have nothing to hide i can upload my script next days. Busy on other stuff atm maybe send a small reminder if the script isn't added on 3rd post of this thread end of next week.
~ All my work, news etc. on http://andi34.github.io ~
Android-Andi said:
Sure, i have nothing to hide i can upload my script next days. Busy on other stuff atm maybe send a small reminder if the script isn't added on 3rd post of this thread end of next week.
~ All my work, news etc. on http://andi34.github.io ~
Click to expand...
Click to collapse
Oh and @Android-Andi just a small request , change the color of the text for ""CVE-XXXXXYYYY" DOES NOT AFFECT" because This colour is hard to read on the screen .
AranhaEscarlate said:
(...)
If you have time, can you post here the steps you do to compile the Anykernel?
Don´t need to waste time explaining the things, just post the step-by-step commands (git clone, makes, ADBs, etc) and I will do my research, ok?
(...)
Click to expand...
Click to collapse
http://forum.xda-developers.com/showpost.php?p=69241933&postcount=3
Must be enough, everything else you need to read / find out yourself
iamashwin said:
Oh and @Android-Andi just a small request , change the color of the text for ""CVE-XXXXXYYYY" DOES NOT AFFECT" because This colour is hard to read on the screen .
Click to expand...
Click to collapse
Done, should be better now.
Android-Andi said:
http://forum.xda-developers.com/showpost.php?p=69241933&postcount=3
Must be enough, everything else you need to read / find out yourself
Click to expand...
Click to collapse
Thank you very much, Andy!!!
It´s more than enough!
Everything else, I will read documentation at the Internet, but this is a great starting point for me.
What kind ANY KERNEL is important when you can not clocked CPU and graphics
Kutuzov666 said:
What kind ANY KERNEL is important when you can not clocked CPU and graphics
Click to expand...
Click to collapse
Dont use it if you dont want it!
It is for the kind of people who want a secure kernel ... more secure than the one given by samsung (I dont remember the last time they sent us a patched kernel update ...or did they !)
Nearly all the device I own are waaaay too insecure (be it my router (its also a linux system) , phone Landline TV ...) except for my 4 year old tab all thanks to Andi ! Respect it
Besides OP is doing all this as a hobby and not for your or my benefit.
Stop spaming this thread ! Please READ
Please respect the following 2 points
No feature requests!
Overclocking will never be added here!
If you don't read and respect the OP, you accept to make a donation of 50$ to a charity of your choice!
Click to expand...
Click to collapse
PSS If you are satisfied with the answer please delete the message and so will I .Lets keep this thread clean.

Categories

Resources