[DEV] Hero Kernel Source - Hero, G2 Touch Android Development

Kernel sources are out as you can see here
Download them here
XDA Mirror here
play time

Another mirror here.
Add it as an alternative if you wish.

finally !!!

Error when Im compiling it:
[email protected]:~/mydroid/kernel_hero$ make PATH=$PATH:/home/behnam/mydroid/hero_kernel/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin ARCH=arm SUBARCH=arm CROSS_COMPILE=arm-eabi-
make: arm-eabi-gcc: Command not found
CHK include/linux/version.h
make[1]: "include/asm-arm/mach-types.h" is fresh.
CHK include/linux/utsrelease.h
CC arch/arm/kernel/asm-offsets.s
/bin/sh: arm-eabi-gcc: not found
make[1]: *** [arch/arm/kernel/asm-offsets.s] Error 127
make: *** [prepare0] Error 2
[email protected]:~/mydroid/kernel_hero$
Why?

so, when are they uploading the Tattoo Kernel......LMFAO!!
nice though, should see the birth of some seriously customised ROMs now, as well as possible updates to Bluex/Androbex and the like...

behnaam said:
Error when Im compiling it:
[email protected]:~/mydroid/kernel_hero$ make PATH=$PATH:/home/behnam/mydroid/hero_kernel/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin ARCH=arm SUBARCH=arm CROSS_COMPILE=arm-eabi-
make: arm-eabi-gcc: Command not found
CHK include/linux/version.h
make[1]: "include/asm-arm/mach-types.h" is fresh.
CHK include/linux/utsrelease.h
CC arch/arm/kernel/asm-offsets.s
/bin/sh: arm-eabi-gcc: not found
make[1]: *** [arch/arm/kernel/asm-offsets.s] Error 127
make: *** [prepare0] Error 2
[email protected]:~/mydroid/kernel_hero$
Why?
Click to expand...
Click to collapse
You need a toolchain, maybe the first post of this thread is of some info?: http://forum.xda-developers.com/showthread.php?t=431329
Install Dev Environment:
apt-get install linux-headers-$(uname -r) gcc make kernel-package libncurses5-dev fakeroot wget bzip2 git-svn curl
Download Cross Compiler
http://www.codesourcery.com/sgpp/lit...tal/release642
Select: GNU/Linux (and then Advanced Packages / IA32 GNU/Linux TAR)
Download and Unpack Cross Compiler
(http://www.codesourcery.com/sgpp/lit...ux-gnu.tar.bz2)
# wget http://www.codesourcery.com/sgpp/lit...ux-gnu.tar.bz2
# cd /usr/local ; tar -xjvf /tmp/arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
Download Kernel (Thans to Oliver Ford!)
# git clone http://www.oliford.co.uk/hpipaq214/ipaq214.git v4
Change in Makefile:
# vi /ANDROID/v4/Makefile
Code:
ARCH ?= arm
CROSS_COMPILE ?= /usr/local/xscale/arm-2008q3/bin/arm-none-linux-gnueabi-

us1111 said:
You need a toolchain, maybe the first post of this thread is of some info?: http://forum.xda-developers.com/showthread.php?t=431329
Install Dev Environment:
apt-get install linux-headers-$(uname -r) gcc make kernel-package libncurses5-dev fakeroot wget bzip2 git-svn curl
Download Cross Compiler
http://www.codesourcery.com/sgpp/lit...tal/release642
Select: GNU/Linux (and then Advanced Packages / IA32 GNU/Linux TAR)
Download and Unpack Cross Compiler
(http://www.codesourcery.com/sgpp/lit...ux-gnu.tar.bz2)
# wget http://www.codesourcery.com/sgpp/lit...ux-gnu.tar.bz2
# cd /usr/local ; tar -xjvf /tmp/arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
Download Kernel (Thans to Oliver Ford!)
# git clone http://www.oliford.co.uk/hpipaq214/ipaq214.git v4
Change in Makefile:
# vi /ANDROID/v4/Makefile
Code:
ARCH ?= arm
CROSS_COMPILE ?= /usr/local/xscale/arm-2008q3/bin/arm-none-linux-gnueabi-
Click to expand...
Click to collapse
Allready have toolchain, cloned from prebuild.git, I've set path and all but no result..

i think Lox have complied it successfully, maybe ask him...?
{
"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"
}

marazi said:
i think Lox have complied it successfully, maybe ask him...?
Click to expand...
Click to collapse
He doesn't answer on gtalk

It's not finding GCC, is the path definitely right?
Try this:
Code:
make ARCH=arm CROSS_COMPILE=/home/behnam/mydroid/hero_kernel/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-
P

modaco said:
It's not finding GCC, is the path definitely right?
Try this:
Code:
make ARCH=arm CROSS_COMPILE=/home/behnam/mydroid/hero_kernel/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-
P
Click to expand...
Click to collapse
Yeah, double checked the path, get the same error as above with your help :/ going to unpack the kernel source again and begin from start...
EDIT:
Works now!

Kernel version
Hey guys, I'm pretty new to this game, but since there is now a kernel for my mobile telephone I want to join!
It seems the branched after this commit: (http://android.git.kernel.org/?p=kernel/common.git;a=shortlog;h=refs/heads/android-2.6.27).
But they didn't included all the drivers for example this one isn't there: (http://android.git.kernel.org/?p=ke...it;h=83ab86ab33445f0975142382da2f7455001d5445).
So it is also possible they backported some features.
If I have time I'll diff the kernel sources. I'm curious how much they changed, I already saw some code they added to reset the touchscreen, etc.

So how would one go about porting their changes to the donut kernel?
It would be super useful is someone could take the shipping 1.6 kernel source and apply the HTC changes if that's feasible.
Anyone fancy it? It'd give me and other devs a good 2.6.29 kernel source to use with either cupcake or donut builds...
P

If you have HTC kernel sources and Android 1.6 sources it is possible to build a vanilla Android 1.6 for the Hero. Do I have understand right?

As I knew, I need the Hero Kernel to support Arabic (RTL language) in Hero, could you please give my hints to edit and compile this kernel to support Arabic at least in Browser and SMS?
Regards

YEAH FINALLY!
Compiled using:
$ make ARCH=arm CROSS_COMPILE=arm-linux-
You'd have to have a arm crosscompile toolchain (like the one provided with the android source) in your path.
Edit: And YES it boots! Woo!

modaco said:
So how would one go about porting their changes to the donut kernel?
Click to expand...
Click to collapse
I'd imagine it would be a case of diff'ing the Hero kernel source against the "stock" 2.6.27 for Android 1.5, analysing the differences, and then applying them (where appropriate) to the 2.6.29 source for Android 1.6.
Regards,
Dave

foxmeister said:
I'd imagine it would be a case of diff'ing the Hero kernel source against the "stock" 2.6.27 for Android 1.5, analysing the differences, and then applying them (where appropriate) to the 2.6.29 source for Android 1.6.
Regards,
Dave
Click to expand...
Click to collapse
Yes, the biggest question is how many did they change? Does anybody got some time to make some statistics about this? lines changed, added, removed?

modaco said:
So how would one go about porting their changes to the donut kernel?
It would be super useful is someone could take the shipping 1.6 kernel source and apply the HTC changes if that's feasible.
Anyone fancy it? It'd give me and other devs a good 2.6.29 kernel source to use with either cupcake or donut builds...
P
Click to expand...
Click to collapse
Can't we skip donut and go for Eclair, or is that a stupid thing to say

Given Google haven't released the source code to Eclair yet, no.
Regards,
Dave

Related

[TUTORIAL] Setting up and Compiling JB and ICS from AOSP

Quite a few people have asked about compiling ROMs from source, so here's a guide.
This guide is directed mainly at compiling JB or ICS for the GSM Galaxy Nexus.
It will show you how to set up the building environment really quickly with a few simple commands in the Terminal, then show you how to sync up with the repository and compile a ROM.
http://www.freeyourandroid.com/guide/compile-ics
It can also be done in a Virtual Machine.
Thanks Nathan (nprussell) for the write up!
My XDA TV Video Guide:
http://www.youtube.com/watch?v=H_ReU-0w4IE&feature=g-u&context=G2a40714FUAAAAAAAZAA
---
Here are the steps:
(There are additional things you can do via the link above).
======================
{
"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"
}
IMPORTANT NOTES:
- For the purposes of this guide, you MUST be running 64-bit Ubuntu. This can be set up on a VM (it will compile if set correctly).
- If using a VM, ensure you give it at LEAST 2gb RAM and 2xCores (it'll take 3-4 hours at best)
- The source download is approximately 6gb.. you're going to need 25gb HD space for a single build.
To learn how to setup a Ubuntu 64bit VM on your Windows PC, use THIS GUIDE. I recommend using 10.04.
So... let's assume you're running Ubuntu 64 bit for the first time, and start right from the beginning.
NOTE : You're probably better of copying and pasting these commands, as some are quite long! All commands are in RED!
======================
1. Preparing your development environment
The very first thing you're going to need to do, is ensure you're working in a root terminal. Much like when using your Android phone, you'll want the # and not the $. In order to do this, open TERMINAL, and type:
sudo -i
Then type in your password. From this point forward, all of the commands in this guide assume you have root priviliges (saves typing sudo *superuser do* before everything!)
Next, we need to add a repository so that apt-get knows where to look for Java JDK:
add-apt-repository "deb http://archive.canonical.com/ lucid partner"
After that, you'll need to update the repository with the following command:
apt-get update
Now that your repository has been updated, you can proceed with installing the required packages to make building Android from source possible. The first thing you're going to need is the Java Development Kit 6:
apt-get install sun-java6-jdk
Followed by (and this may already be installed depending on which version of Ubuntu you went for):
apt-get install python
Now you're going to need Git. Git is the revision control system.
apt-get install git-core
Now, you're going to pull in all the required packages needed for the build process. As I have stated already, this guide is for 64 bit ONLY. Some of these will not work on 32-bit, so if you're using 32 bit, you're reading the wrong guide (sorry)!
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 lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils
IF YOU'RE USING UBUNTU 11.10, TYPE THIS COMMAND (if not, ignore this next one)
ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
Congratulations; you now have all the required packages to proceed with the next step!
======================
2. Installing and initialising the repo
Now we need to download repo, add it to our path and set the permissions . Please note that if you close terminal, you'll have to do this again. Type each command on a new line, pressing enter after each:
mkdir ~/bin
PATH=~/bin:$PATH
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
Now we need to create a directory for where our source is going to be pulled to, and change directory to it:
mkdir ICS_SOURCE
cd ICS_SOURCE
Next, you'll need to initialize the repo. There are two commands below; the top one initializes the specific branch, and the bottom is the master.
ONLY USE ONE OF THE FOLLOWING COMMANDS (recommended - TOP)
ICS: repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.4_r1
Jellybean: repo init -u https://android.googlesource.com/platform/manifest -b android-4.1.2_r1
OR:
repo init -u https://android.googlesource.com/platform/manifest
You will now be prompted to provide your name and email address. Please give it real details; that way you can use the gerrit code review tool if your email is connected with a Google account.
======================
3. Downloading the source (sync)
This is probably the most simple part, but depending on your connection speed, it could take a while. I am on 40mb download/10mb up, and it took about 25 mins. If you're on a typical DSL connection, expect to be waiting 60-120 minutes.
repo sync
======================
4. Obtaining proprietary binaries
New for ICS, Android cannot just be compiled from source code only. It requires additional hardware-related proprietary libraries to run, specifically for graphics acceleration (and GSM/LTE).
The binaries must first be downloaded from here
Each set of binaries comes as a self-extracting script in a compressed archive. After uncompressing each archive, run the included self-extracting script from the root of the source tree, confirm that you agree to the terms of the enclosed license agreement, and the binaries and their matching makefiles will get installed in the vendor/ hierarchy of the source tree. For example... after extracting one of the files, you will have 'extract-imgtech-maguro.sh'. Simply run:
sh extract-imgtech-maguro.sh
From your ICS_Source directory.
IMPORTANT NOTE : If you are building for the Nexus S, you will need the Nexus S binaries.
======================
5. It's build time!
If you're a JAVA developer, feel free to have a play with the source and make any changes you want to make at this stage. Be careful though, adding rubbish/old syntax code to the source (formatting is slightly different to gingerbread) will cause the build to fail.
Assuming that you just want to get on with building ICS, set the build environment up with:
source build/envsetup.sh
Next, you'll need to lunch. I don't mean go and have a sandwich, I mean... select which device you're building for.
NOTE - you can add other devices to this list PRIOR to proceeding with this step. If you're NOT building for the GNexus, go to the bottom of this guide and look at how to add devices to the list.
As previously stated, we're going to assume you're building for the Galaxy nexus, so type:
lunch
You'll be presented with a number of options (full-eng, etc).
If you're building for the Galaxy Nexus (codename: Maguro), type:
8
(7 for Nexus S and 6 for Nexus S 4G)
and hit enter. Now, we're ready to set the compile in motion, ladies and gentlemen. There's a lot of debate over the next bit. the -j part of the below command is technically not needed, but I have had MUCH more success compiling on a virtual machine with the -j1 added. Could be random... who knows...
Anyway, to set your build in motion, you now have TWO options. The first option will output the build as img files. The second option will output a flashable .zip file. I recommend the latter if you intent to use CWM over fastboot.
make -j1
or
make -j1 otapackage
Congratulations - in a few hours, you should have a working AOSP build for the Galaxy Nexus!
thank you
i tried it ,and works fine
is there any easier way to debug ?
like using eclipse
i imported the source eclipse but no idea what the next steps are
Thanks for this, will study properly when I get a chance
Sent from my Galaxy Nexus using xda premium
@sbice try this http://www.javahotchocolate.com/tutorials/setup-eclipse.html#64-bit
@op, Thanks, but at least, check the howtos you link to, there's missing steps there.
I dont agree these kind of threads should be in dev section.
bk201doesntexist said:
@op, Thanks, but at least, check the howtos you link to, there's missing steps there.
I dont agree these kind of threads should be in dev section.
Click to expand...
Click to collapse
Why? It's great for people to learn.
Sent from my Galaxy Nexus using xda premium
ljwnow said:
Why? It's great for people to learn.
Sent from my Galaxy Nexus using xda premium
Click to expand...
Click to collapse
Agreed, the thing which fuels development is curiosity, and when people want to know how to do something, it helps to have links or topics dedicated to that specific area.
The OP's link is pretty much the same as this too (official Android building guide)
http://source.android.com/source/initializing.html
Has anyone managed to build the android-4.0.1_r1.2 branch with Ubuntu 11.10?
I know it works on the master branch and the r1 branch supposedly didn't support it but have the build tools been updated this one?
Just wanted to check before commiting to a massive download!
dave_t321 said:
Has anyone managed to build the android-4.0.1_r1.2 branch with Ubuntu 11.10?
I know it works on the master branch and the r1 branch supposedly didn't support it but have the build tools been updated this one?
Just wanted to check before commiting to a massive download!
Click to expand...
Click to collapse
It's the branch I use for building VillainROM.
dave_t321 said:
Has anyone managed to build the android-4.0.1_r1.2 branch with Ubuntu 11.10?
I know it works on the master branch and the r1 branch supposedly didn't support it but have the build tools been updated this one?
Just wanted to check before commiting to a massive download!
Click to expand...
Click to collapse
The only thing to note with 11.10, is when you install all the build libraries, one of them is incorrect (no longer available in 11.10). Instead of installing lib32readline5-dev you need to install lib32readline-dev instead.
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 lib32readline-dev lib32z-dev \
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
libxml2-utils
Perfect, ta muchly.
ljwnow said:
Why? It's great for people to learn.
Sent from my Galaxy Nexus using xda premium
Click to expand...
Click to collapse
If you didn't code it yourself, it doesn't belong in dev subforum. There's Q&A subforum for that.
/me sent this on a i9250 using tapatalk
dave_t321 said:
Has anyone managed to build the android-4.0.1_r1.2 branch with Ubuntu 11.10?
I know it works on the master branch and the r1 branch supposedly didn't support it but have the build tools been updated this one?
Just wanted to check before commiting to a massive download!
Click to expand...
Click to collapse
Yeah -- there are a few fixes you need to do, here are a few main ones:
https://github.com/TeamKang/external_gtest/commit/869a8876632f5bd17bf181930a6535b5c5084b94
https://github.com/TeamKang/frameworks_compile_slang/commit/cb818131815e8a4e608e3329addbc791ff3a5d82
https://github.com/CyanogenMod/andr...mmit/387c70bd952c033453fc99da1672fa40af837376
I think there may be one or two more, just google the errors you get
Just a quick question...
I've just compiled a ROM using the guide, got the binaries, etc. etc. but the build.prop from the resulting ROM had LOADS of random entries in it for LTE phones? and it's all singray as opposed to maguro. Have I done something wrong?
EddyOS said:
Just a quick question...
I've just compiled a ROM using the guide, got the binaries, etc. etc. but the build.prop from the resulting ROM had LOADS of random entries in it for LTE phones? and it's all singray as opposed to maguro. Have I done something wrong?
Click to expand...
Click to collapse
Yeah you've compiled it for the wrong device. I forgot to update the lunch menu bit, cos they added the xoom and the nexus s onto the list. You want full eng maguro. I'll fix it now.
Just realised that, option 4 in the lunch menu isn't the GN - it's 8
Rebaking
OK, correct ROM built this time. Compiled it as .IMG files so I could then get it into the kitchen but once the ROM has been rooted, etc. it won't flash - I get a Status 7 error mentioning the boot.img
Any suggestions?
P.S. The 8 in your guide is smaller than the rest of the text
Probably a bad repack of the boot.img?
Not too sure, took the boot.img from a known working 4.0.3 ROM and still get the same error:
assert failed: write_raw_image("/tmp/boot.img". "/dev/block/platform/omap/omap_hsmc.0/by-name/boot")
E:Error in/sdcard/update.zip
(Status 7)
Installation aborted.
Fixed, dsixda updated the kitchen to extract the boot.img before flashing (which is why it was failing before)

[Guide] How to customize the CM10 i9000 kernel

This is a complementary guide to [Guide] How to compile and install CM10 for Samsung i9000
Want to add support for another filesystem to the CM10 kernel?
Add a module?
Maybe slim things a bit by removing some stuff?
All fine, but where to start?
Since CM9, the kernel source code should be integrated with CM's source code.
So, if you are building CM10, you should already have a kernel folder in the source code.
So, where's the config file used to build the i9000 kernel?
Well, it's here: ~/android/system/kernel/samsung/aries/arch/arm/configs/cyanogenmod_galaxysmtd_defconfig
You can edit the file directly in a text editor (if you know what you're doing) and it looks something like this:
Code:
CONFIG_EXPERIMENTAL=y
CONFIG_KERNEL_LZMA=y
# CONFIG_SWAP is not set
CONFIG_SYSVIPC=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_CGROUPS=y
CONFIG_CGROUP_DEBUG=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
CONFIG_CGROUP_SCHED=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_INITRAMFS_SOURCE="source/usr/galaxysmtd_initramfs.list"
...
You can just edit the text file, but sometimes it's not that easy to find/do what you want because the labels aren't very user-friendly.
It's easy to make several types of mistakes.
... but there is a better way to do it, using the menuconfig tool.
To use menuconfig, just do:
Code:
cd ~/android/system/kernel/samsung/aries
make menuconfig
You should now have a text GUI to access all the options that is much easier and safer to use:
{
"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"
}
Now you need to load the i9000 configuration file.
Select "Load an Alternate Configuration File" at the bottom of the menu
Point to the i9000 default kernel config file: arch/arm/configs/cyanogenmod_galaxysmtd_defconfig
After you hit OK, you'll open the i9000 config file. Make the changes you want and exit. You'll be asked if you want to save the changes.
NOTE: I've had some issues with make menuconfig producing "strange" files.
Do:
Code:
grep CONFIG_USB_G_ANDROID kernel/samsung/aries/arch/arm/configs/cyanogenmod_galaxysmtd_defconfig
and confirm the result is:
Code:
CONFIG_USB_G_ANDROID=y
If it's not, menuconfig "missbehaved".
(There's a backup of the original config in kernel/samsung/aries/arch/arm/configs/cyanogenmod_galaxysmtd_defconfig.old)​
Final step: Tidy things up:
Code:
cd ~/android/system/kernel/samsung/aries
make mrproper
That's it.
Build away.
(Don't forget to do a "make installclean" and cleaning things up before building)
For more information on CM's kernel building, see this: http://wiki.cyanogenmod.com/wiki/Integrated_kernel_building
another great summary! thank you!
USB
EDIT: This comment is now obsolete.
--------------
NOTE: While everything builds nicely and is functional, somehow the USB support seems to be gone in the builds produced. Charging still works but ADB and Storage don't.
There's something missing.
If you know what it is, drop a line.
pmos69 said:
NOTE: While everything builds nicely and is functional, somehow the USB support seems to be gone in the builds produced. Charging still works but ADB and Storage don't.
There's something missing.
If you know what it is, drop a line.
Click to expand...
Click to collapse
Did you enable/disable things in the config file? It is not as easy to change things by just changing the config file, often the underlying source code also needs to be changed if you want to enable certain features...
Did you somehow add fast charge support?
kasper_h said:
Did you enable/disable things in the config file? It is not as easy to change things by just changing the config file, often the underlying source code also needs to be changed if you want to enable certain features...
Did you somehow add fast charge support?
Click to expand...
Click to collapse
Just made simple tests enabling simple features, like enabling btrfs filesystem support.
At first I was enabling stuff like swap and zRam, but then thought about what you are saying and went for simple tests.
Just enabling btrfs filesystem support, triggers the behaviour.
I think any change may do it.
Maybe just saving the config file in menuconfig does it.
Sent from my GT-I9000 using xda premium
pmos69 said:
Just made simple tests enabling simple features, like enabling btrfs filesystem support.
At first I was enabling stuff like swap and zRam, but then thought about what you are saying and went for simple tests.
Just enabling btrfs filesystem support, triggers the behaviour.
I think any change may do it.
Maybe just saving the config file in menuconfig does it.
Sent from my GT-I9000 using xda premium
Click to expand...
Click to collapse
I often change stuff in defconfig, but I always do it for code I added to the source. Never had a problem with USB after that. So in principle, it should work...
kasper_h said:
I often change stuff in defconfig, but I always do it for code I added to the source. Never had a problem with USB after that. So in principle, it should work...
Click to expand...
Click to collapse
Make menuconfig + make mrproper are making a mess.
Code:
diff -d <(sort kernel/samsung/aries/arch/arm/configs/cyanogenmod_galaxysmtd_defconfig.old) <(sort kernel/samsung/aries/arch/arm/configs/cyanogenmod_galaxysmtd_defconfig)|grep CONFIG_USB_G_ANDROID
< CONFIG_USB_G_ANDROID=y
> # CONFIG_USB_G_ANDROID is not set
WTF?
Back to hand-editing the config file, I guess...
Edit: Just tried it again, starting from the original config, and it's not happening this time... Building now.
Maybe I did something dumb before? (happens a lot)
pmos69 said:
Make menuconfig + make mrproper are making a mess.
Code:
diff -d <(sort kernel/samsung/aries/arch/arm/configs/cyanogenmod_galaxysmtd_defconfig.old) <(sort kernel/samsung/aries/arch/arm/configs/cyanogenmod_galaxysmtd_defconfig)|grep CONFIG_USB_G_ANDROID
< CONFIG_USB_G_ANDROID=y
> # CONFIG_USB_G_ANDROID is not set
WTF?
Back to hand-editing the config file, I guess...
Edit: Just tried it again, starting from the original config, and it's not happening this time... Building now.
Maybe I did something dumb before? (happens a lot)
Click to expand...
Click to collapse
That is the way you learn quickest: by making mistake. I tell this to my students everyday when the ruin experiments
kasper_h said:
That is the way you learn quickest: by making mistake. I tell this to my students everyday when the ruin experiments
Click to expand...
Click to collapse
Well, don't know what happened (but it happened quite a few times).
Working fine now...
Nice howto, thanks. Have one question. I want to build kernel for ypg1, really similar device to i9000. So what to do next when I have zImage and modules. I mean have only kernel source and toolchain without whole Android sources. I need to make installable pkg but don't know how.
I'm looking for step by step how to build kernel, build recovery etc.
Sent from my GT-I9001 using xda app-developers app
oisis said:
Nice howto, thanks. Have one question. I want to build kernel for ypg1, really similar device to i9000. So what to do next when I have zImage and modules. I mean have only kernel source and toolchain without whole Android sources. I need to make installable pkg but don't know how.
I'm looking for step by step how to build kernel, build recovery etc.
Sent from my GT-I9001 using xda app-developers app
Click to expand...
Click to collapse
I think there are a few how-to's on that in the cm wiki.
I've not looked much into it, sorry.
Guess you'll only have to sync the kernel sources + device specific trees and only build the kernel.
oisis said:
Nice howto, thanks. Have one question. I want to build kernel for ypg1, really similar device to i9000. So what to do next when I have zImage and modules. I mean have only kernel source and toolchain without whole Android sources. I need to make installable pkg but don't know how.
I'm looking for step by step how to build kernel, build recovery etc.
Sent from my GT-I9001 using xda app-developers app
Click to expand...
Click to collapse
You could take a look at my github (github.com/kasperhettinga). I use a kernel building script (developed by stratosk) that does not require the whole source code of cm10 but will build a flashable zip using a separate ramdisk (also originating from the work of stratosk).
Verstuurd van mijn GT-I9000
Could you describe how to, after make when i have zImage and modules, pack everything to img to have CWM installable zip? I don't have this device but would like to learn it. Thanks a lot.
oisis said:
Could you describe how to, after make when i have zImage and modules, pack everything to img to have CWM installable zip? I don't have this device but would like to learn it. Thanks a lot.
Click to expand...
Click to collapse
I adapted the teamhacksung buildscript so it automatically creates a CWM-zip:
https://github.com/kasperhettinga/buildscript
I have a zImage built from CM10 kernel sources in Cygwin and I want to inject it into the CM10 boot.img.
Anyone has any idea how I can do that?
I tried to extract the boot.img from one of the nightlies using the dsxida's android kitchen, but it seems that it does not have ramdisk and the extracted zImage file is 0 bytes.
hey man i ve been trying to compile the kernel for my galaxy s2 and downloaded all the things recomended from the cyanogenmod github
these are the steps that i follow:
1. cd into my kernel root directory.
2. make cyanogenmod_i9100g_defconfig
3. make menuconfig
4. make -j5
after a few seconds i get this error
Code:
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
/home/incarnation95/cm10kernel/t1/scripts/gen_initramfs_list.sh: Cannot open '/home/incarnation95/home/incarnation95/cm10kernel/t1/usr/i9100g_initramfs.list'
make[1]: *** [usr/initramfs_data.cpio] Error 1
make: *** [usr] Error 2
[email protected]:~/cm10kernel/t1$
do you know how to tackle this problem?
please help i am really in a mess due to this.
previously i compiled a stock kernel, in stock kernel the compillation process went very good but it didnt boot
i really want to make this aosp kernel, and this is the only guide which indicates compilling an aosp kernel
hope you could sort out my problem.
thanks in advance
incarnation95 said:
hey man i ve been trying to compile the kernel for my galaxy s2 and downloaded all the things recomended from the cyanogenmod github
these are the steps that i follow:
1. cd into my kernel root directory.
2. make cyanogenmod_i9100g_defconfig
3. make menuconfig
4. make -j5
after a few seconds i get this error
Code:
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
/home/incarnation95/cm10kernel/t1/scripts/gen_initramfs_list.sh: Cannot open '/home/incarnation95/home/incarnation95/cm10kernel/t1/usr/i9100g_initramfs.list'
make[1]: *** [usr/initramfs_data.cpio] Error 1
make: *** [usr] Error 2
[email protected]:~/cm10kernel/t1$
do you know how to tackle this problem?
please help i am really in a mess due to this.
previously i compiled a stock kernel, in stock kernel the compillation process went very good but it didnt boot
i really want to make this aosp kernel, and this is the only guide which indicates compilling an aosp kernel
hope you could sort out my problem.
thanks in advance
Click to expand...
Click to collapse
These steps should resolve it
1. open the .config file that is created after you do make cyanogenmod_i9100g_defconfig
2. check the path of the file i9100g_initramfs.list and gen_initramfs_list.sh
3. edit the .config file to make sure the actual path matches to that in the .config file.
4. make -j5
5. Enjoy the new kernel !!
msri3here said:
These steps should resolve it
1. open the .config file that is created after you do make cyanogenmod_i9100g_defconfig
2. check the path of the file i9100g_initramfs.list and gen_initramfs_list.sh
3. edit the .config file to make sure the actual path matches to that in the .config file.
4. make -j5
5. Enjoy the new kernel !!
Click to expand...
Click to collapse
2. CONFIG_INITRAMFS_SOURCE="source/usr/i9100g_initramfs.list" (THIS WAS THERE BY DEFAULT)
I MADE IT CONFIG_INITRAMFS_SOURCE="~/home/incarnation95/cm10kernel/t1/usr/i9100g_initramfs.list"
as the location was.
i dont think we really have to define the path of gen_initramfs_list.sh or do we? and if yes then where?
There you have the problem...remove the "source/" from the path in the .config file
This path is defined by default and just needs customization for our device...
Sent from my GT-I9000 using xda premium
msri3here said:
There you have the problem...remove the "source/" from the path in the .config file
This path is defined by default and just needs customization for our device...
Sent from my GT-I9000 using xda premium
Click to expand...
Click to collapse
O thanks mate it really worked
Thanks a ton. Was tryna find sol. Since 3 days
Sent from my GT-I9100G using Tapatalk 2
---------- Post added at 11:32 PM ---------- Previous post was at 10:42 PM ----------
now after getting over those errors i am getting this error now :/
Code:
//home/incarnation95/Downloads/arm-2011.03/bin/arm-none-eabi-ld: cannot open linker script file /arch/arm/mach-omap2/sec_omap.lds: No such file or directory
make[1]: *** [arch/arm/mach-omap2/mailbox_mach.o] Error 1
make: *** [arch/arm/mach-omap2] Error 2
and weird thing is the files exists :/

[EC09][KERNEL] [email protected]!!!!! <3 ciscogee

DISCLAIMER: DO NOT FLASH UNLESS YOU KNOW HOW TO UNDO!
Special THANKS TO:
XDA [nuff said]
adrynalyne [for all his dev on the continuum and fascinate (OC Porting)
imnuts [for all his dev work involving our device + private kernel lessons]
trailblazer101 [for all his mods that make this device worth keeping around ]
txwolf1980 [for all the help and conversations provided ]
(will update tonight after work.)
So yeah this one finally boots stock EC09 ROMS.
I just booted and wanted to share asap. [I have not ddms or logcat yet since this is the first boot]
What it does NOT do yet (That I know So Far):
Not officially rooted
No network
end list
You can see that it has been compiled on my laptop by going into terminal emulator or adb shell
$ su (if not rooted in terminal emu)
#cat /proc/version
it will out put the version and what machine it was compiled on. ([email protected])
root= I had to log in as root on my VM ubuntu
ubuntu=the VM name
so yeah hopefully i can remember what i did at 3am to reproduce another with further modifications.
{
"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"
}
so now that it boots it can be patched
To UN-KERNEL
So you seen the kernel boot, now what?
Flash in CWM:
Stock EC09 Kernel: Here
I believe it to be fully stock, unrooted? It was packed in ODIN.tar from txwolf1980's D) thread HERE.
or
Imnuts' EC07 Repacked Customized Kernels: Here
I am unaware of a rooted unsecure EC09 Kernel around, a one would pull there current ROOTED EC09 KERNEL from their current rom, we could have that available.
TO HELP DEBUG:
taken from: http://code.google.com/p/tegraowners-ics-rom/wiki/How_to_get_logs
Code:
How to get logcat
The Android logging system provides a mechanism for collecting and viewing system debug output. Logs from various applications and portions of the system are collected in a series of circular buffers, which then can be viewed and filtered by the logcat command. You can use logcat from an ADB shell to view the log messages.
To get logcat on your device you need to do:
Open terminal app
Enter "su" to get root privileges
Enter "logcat -f /sdcard/logcat.txt". This will start logcat output to file /sdcard/logcat.txt
Stop logcat by "ctrl+c" or just close terminal emulator app
If you use some logcat reader app(for example CatLog), then it should have "save log" option.
To save logcat with adb shell you need to run "adb logcat > /path/where/save/logcat.txt" from command line on your pc.
How to get kernel log
Kernel log shows what happens with kernel since tablet power on.
To get kernel log on your device you need to do:
Open terminal app
Enter "su" to get root privileges
Enter "dmesg > /sdcard/dmesg.txt" to save current log. Or run "cat /proc/kmsg > /sdcard/kmsg.txt" to start kernel log output to file.
If you are using "cat /proc/kmsg" you need to stop it by "ctrl+c" or close terminal app.
To save kernel log with adb shell you need to run "adb shell dmesg > /path/where/save/dmesg.txt" from command line on your pc.
How to get last_kmsg log
If your tablet rebooted unexpectedly, you need to save last_kmsg log. It will contain kernel log just before reboot and may show what caused reboot.
To get last_kmsg log on your device you need to do:
Open terminal app
Enter "su" to get root privileges
Enter "cat /proc/last_kmsg > /sdcard/last_kmsg.txt" to save current log.
Close terminal app.
To save last_kmsg log with adb shell you need to run "adb shell cat /proc/last_kmsg > /path/where/save/last_kmsg.txt" from command line on your pc.
HOW TO POST THEM IN THREAD:
Please either CnP SNIPPETS in post WITH *.txt attached or link to
or
link to pastebin
PLEASE DO NOT CnP txt file in post, it makes thread drag out and its easier to FIND lines in a txt file than viewing the thread.
thank you!
Change log:
10.4.12
+ Debugging Instrustions
10.01.12
+ change log
updated un-kernel instructions
+ Debugging Instructions
09.30.12
+ Alpha released
So what does this kernel fo and how do you go about flashing it?
Sent from my SCH-I400 using xda app-developers app
Jaggar345 said:
So what does this kernel fo and how do you go about flashing it?
Sent from my SCH-I400 using xda app-developers app
Click to expand...
Click to collapse
oh yea. ..
This kernel so far does everything stock except network lol.
Wifi works
Right now its just proof it can be compiled from sources.
Big accomplishment in my opinion
Also if anyone can beta ect...
And a simple cwm flash installs it
I will odin and all in future release.
Sent from my SPH-M580BST using Tapatalk 2
Good job man! And just when you were about to give up
trailblazer101 said:
Good job man! And just when you were about to give up
Click to expand...
Click to collapse
It must have been my setup cause I had to reformat laptop and just started over.
I've been catching on... last night spent until 530am porting i500 OC! (Didn't boot lol, it was for gb ed01 ) but I gotta take a break and get back to school work this week.
You know any c?
Sent from my SPH-M580BST using Tapatalk 2
I am taking Computer Science right now in college, and we are learning the basics of C++ So, that isn't helping me with the Continuum in any way right now, haha.. And I have no real background with building kernels/builds from source, however I do have a knack for following directions, and for debugging...
Continuum
As my Continuum is just an MP3 player and Angry Birds machine I will flash anything.
hey logan, its been awhile, my kernel and theme work might will be limited this quarter with my class schedule and life... so any help debugging would be appreciated.
for any one whose continuum is there extra device i would love it if you helped also. this help would include more or less googling the warnings, errors, or suspensions in the kernel boot up.
Now i see where i forced an extra netfiller module in the config and hoping that will solve network failure, but again it was outta pure luck that one compiled and booted, i didnt log my build or make notes on what i included in config. so i wont be starting completely over.
i have since though changed a round 2000 lines of code to port fascinates OC ability to 1.7ghz and it looks to have booted yet there is more to be edited to actually be able to OC. Also half way through i seen i was porting there GB code, so our 2.6.32 kernel maybe cant see it? I already pulled adrynanalyns froyo kernel source for the 1.4ghz overclock but have not jumped into since the lake port took about 5 hours.
Im just torn between perfecting froyo or tackling GB+.
the dev ive been in talks with about patching the kernel up says that i can try to compile a kernel from I500 GB sources that boots or work out the warnings in my froyo kernel and update the the linux sources to boot GB+.
"ANDHOW!?" - Buckwheat (little rascals)
ps.
Spoiler
Code:
anyone point me in the direction of the forum tags when posting? ie spoiler button and scrollable textbox. please no links to the noob video lol.
still looking for button
thanks.
http://www.tauniverse.com/forum/misc.php?do=bbcode
Holy crap! Amazing job dude! I'm definitely willing to go back to stock to beta this kernel. I personally don't care about mobile data anyway. Can calls still be made or is it a complete no network? As far as Froyo/GB it may be beneficial to perfect the Froyo kernel if all thats needed later is to merge the GB source. I too am a Computer Science student though we havent touched programming yet and all I really have to look forward to is an Introduction to Java course next semester. Let me know if I can help, I, like TB, am great at following directions and I have 2 very capable computers at your disposal.
-Justin
As of right now its network is unavailable. I haven't tried reflashing modems (may need to start with dl17 and patch up. I haven't been back on comiling a dif config yet. Just been getting lost in c land comparing sources for hopefully mods/ports.
Sent from my SPH-M580BST using Tapatalk 2
Ok so, I flashed your kernel and let it run for about an hour with a couple problems. Unfortunately I didn't grab the logcat at the time sorry..
1. Voodoo sound crashed at start up but loaded fine after that. On a second reboot Voodoo started just fine.
2. Cannot update SU
3. WiFi works fine but no network (as already stated)
4. Battery level dropped from approx 70% to 15% immediately after flashing.
5. Nandroid backup didnt work.
I tried flashing the EC03 radio only over the kernel with no joy. Still no network. If you have the EC09 radio/modem I'd be happy to give it a try.
Otherwise everything else seemed to work with no problems. I did see a VERY brief screen flash during reboot but couldn't reproduce it.
Hope this helps, sorry about no logcat.
-Justin
Awesome thanks ill look into those. Yeah I have all the modems. Ill post em later today. I'm home sick as hell so I didn't even go to classes.
My biggest problem is reproducing a clean build with a working config lol (not really lol)
Battery level will return. I had this kernel on for a couple days before reverting back.
I believe I forced the build for all the platforms.
This kernel is just a stepping stone to port i500 roms AND kernels.
Thanks to the dozen of continuumers out there!
Sent from my SPH-M580BST using Tapatalk 2
Actually Added DEBUG instructions for logcat and kernel msgs
What is your plan for the ticker if you intend to use i500 roms and kernels?
jaizero said:
What is your plan for the ticker if you intend to use i500 roms and kernels?
Click to expand...
Click to collapse
my plan right now is to try and build the atlas (i500) display modules with our screen dimensions MINUS the ticker, this is the only way i see to gb+ kernel and roms from i500.
also i will try and build the garnett (i400) video drivers taking out the ticker to see if the drivers are device dependent and plus there are sooo many lines of C that are confusing but im picking through it
I ALSO have to try and figure what i did right to compile a bootable kernel again, SUPER . I dont see me reverting back to build a froyo unless i see no way possible to build i500 sources with our device drivers
Well, forward is a good direction. Let me know if you need anything, like I said I have 2 very capable computers if you need compilers.
-Justin
peep this...
Code:
WARNING: modpost: Found 11 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
GEN .version
CHK include/generated/compile.h
UPD include/generated/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
KSYM .tmp_kallsyms1.S
AS .tmp_kallsyms1.o
LD .tmp_vmlinux2
KSYM .tmp_kallsyms2.S
AS .tmp_kallsyms2.o
LD vmlinux
SYSMAP System.map
SYSMAP .tmp_System.map
OBJCOPY arch/arm/boot/Image
Kernel: arch/arm/boot/Image is ready
AS arch/arm/boot/compressed/head.o
GZIP arch/arm/boot/compressed/piggy.gzip
AS arch/arm/boot/compressed/piggy.gzip.o
CC arch/arm/boot/compressed/misc.o
In file included from arch/arm/plat-samsung/include/plat/uncompress.h:30,
from arch/arm/mach-s5pv210/include/mach/uncompress.h:17,
from arch/arm/boot/compressed/misc.c:38:
arch/arm/plat-samsung/include/plat/regs-serial.h:281: warning: 'struct uart_port' declared inside parameter list
arch/arm/plat-samsung/include/plat/regs-serial.h:281: warning: its scope is only this definition or declaration, which is probably not what you want
CC arch/arm/boot/compressed/decompress.o
SHIPPED arch/arm/boot/compressed/lib1funcs.S
AS arch/arm/boot/compressed/lib1funcs.o
LD arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
[B] Kernel: arch/arm/boot/zImage is ready[/B]
Building modules, stage 2.
MODPOST 8 modules
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
Building modules, stage 2.
MODPOST 8 modules
crypto/ansi_cprng.ko
drivers/misc/vibetonz/vibrator.ko
drivers/misc/param/param.ko
drivers/scsi/scsi_wait_scan.ko
drivers/net/wireless/bcm4329/dhd.ko
drivers/onedram/dpram/dpram_atlas.ko
drivers/onedram/dpram_recovery/dpram_recovery.ko
net/sched/cls_flow.ko
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
GEN usr/initramfs_data.cpio
AS usr/initramfs_data.o
LD usr/built-in.o
LD vmlinux.o
MODPOST vmlinux.o
WARNING: modpost: Found 11 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
GEN .version
CHK include/generated/compile.h
UPD include/generated/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
KSYM .tmp_kallsyms1.S
AS .tmp_kallsyms1.o
LD .tmp_vmlinux2
KSYM .tmp_kallsyms2.S
AS .tmp_kallsyms2.o
LD vmlinux
SYSMAP System.map
SYSMAP .tmp_System.map
OBJCOPY arch/arm/boot/Image
[B]Kernel: arch/arm/boot/Image is ready[/B]
GZIP arch/arm/boot/compressed/piggy.gzip
AS arch/arm/boot/compressed/piggy.gzip.o
SHIPPED arch/arm/boot/compressed/lib1funcs.S
AS arch/arm/boot/compressed/lib1funcs.o
LD arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
Building modules, stage 2.
MODPOST 8 modules
---------------------------------------------------------------
BUILD OUTPUT
---------------------------------------------------------------
[B]9da434e08855259ceea4fbaf4c33f89d zImage
9da434e08855259ceea4fbaf4c33f89d recovery.bin
19ee4edb285ef88839412448a2a2de78 sch-i500-kernel.zip
36671bc7d1dd751e3f70257b1c3f7a57 sch-i500-recovery.zip
3569651ce124ed2b5d18074db5a69ed1 sch-i500-kernel.tar.md5
22a1d2760cb5473a37f729f9f68615a8 sch-i500-recovery.tar.md5[/B]
[email protected]:/home/ciscogee/Downloads/[B]dmriley-sch-i500-gingerbread[/B]-15f22ec#
so the build.sh that was provided in sources would of build GB platform but i only have froyo sources atm.
i will need to repo them but that takes hours lol.
now does anyone have any ideas on how to flash a GB rom from fascinate on the continuum, i got a recovery that was built with kernel and an update zip, i replaced binaries to flash in cwm, i did flash kernel but of course it will not boot cause i dont have rom, i am curently downloading EH03 full package tar to repack with the new kernel, but i wont be able to do that till fiance is done with that laptop . im scared to flash the recovery since in not sure if a dif update.zip is needed, or if it is needed at all.
i think im fawkked!
so i flashed in cwm gb kernel, no boot.
BUT
it did change device name in adb to some random one.
and i couldnt logcat cause busybox is built in platform so yeah (repoing now)
then while i was waiting i downloaded a odin tar of EH03 (i500 GB Full ota) and tar balled it back up with my zImage. (but forgot to delete recovery)
NOW
i can only get DOWNLOAD MODE,
pwr doesnt seem to do anything unless vol- is held for DL mode.
any suggestions?

[Guide]How to Compile PAC Rom

Hey guys, so a lot of you have be eagerly anticipating the release of PAC-4.4. Others of you may be seeking pac for a device that is not supported at this moment. So I thought I would take this opportunity to write a guide on how to compile PAC.
In order to compile Android, I recommend that you use a Linux distro. For the purposes of this guide, I shall be using Ubuntu 13.10. It is pretty easy to set up, even as a dual boot with windows.
The first thing you need to do, once you have installed Ubuntu, is to set it up to be able to compile Android. There are a lot of guides that show you how to do this, and this guide has pretty clear instructions. Follow all of his directions until you reach the point where he tells you to initialize the repository (The command he has as an example there is repo init -u git://github.com/AOKP/platform_manifest.git -b jb-mr2. Do not run this command or you will have downloaded the AOKP sources instead of the PAC sources)
To download the pac sources, we need to initialize the repository first. For this guide, I will be downloading the pac source to ~/android/pac. Run:
Code:
mkdir -p ~/android/pac
cd ~/android/pac
repo init -u git://github.com/PAC-man/pacman.git -b pac-4.4
Now it is time to download the source itself. Keep in mind that the source is rather large (~10+ GB), so you might want to make yourself a cup of tea (or 10 cups if you have a crappy isp) while waiting. Run:
Code:
repo sync
Now, it is time to do the actually compiling. If your device is already supported by PAC, please skip directly to post 3. Else, go to post 2.
Adding Support for a device
To add support for your device, the first thing you need to do is to hunt down your device tree. If you are not sure where your device tree is located, google it or ask in your device's subforum. Now, it is time to add the files required to build.
From the root of directory where you have downloaded the pac source (~/android/pac), go to the vendor/pac directory. This is where we will be making the changes necessary to build for your device. Here are the files that need to be modified/added. Obviously, substitute your devices codename for CODENAME.
1. dependencies/CODENAME.dependencies
This file grabs your device and kernel tree. Look at the dependencies file of a device that is similar to yours to figure out what you need to place in here. A list of all the devices we support and their respective codenames can be found here. Again, if you are unsure about what to place here, you may want to ask for help in your devices subforum. Whenever possible, try to use the CM device tree. For the vendor files, keep the account name as "Pinky-Inky-and-Clyde" but change the repository to the appropriate OEM (check here for repos). Do not worry if the vendor files for your device are not in that repository. We will be adding them later.
Here is a sample CODENAME.dependencies file for a Samsung device (note that the account names are case sensitive):
Code:
[
{
"account": "Pinky-Inky-and-Clyde",
"repository": "proprietary_vendor_samsung",
"target_path": "vendor/samsung",
"revision": "cm-11.0"
},
{
"account": "CyanogenMod",
"repository": "android_device_samsung_CODENAME",
"target_path": "device/samsung/CODENAME",
"revision": "cm-11.0"
},
{
"account": "CyanogenMod",
"repository": "android_kernel_samsung_CODENAME",
"target_path": "kernel/samsung/CODENAME",
"revision": "master"
},
{
"account": "CyanogenMod",
"repository": "android_hardware_samsung",
"target_path": "hardware/samsung",
"revision": "cm-11.0"
}
]
Once you have done this, go to the root of your pac source (~/android/pac for this guide), and run
Code:
./vendor/pac/tools/getdependencies.py CODENAME
This will attempt to create the file .repo/local_manifests/roomservice.xml and then sync up the sources. If you have to make changes to your dependencies, please remove the roomservice.xml file and re-run the script again to ensure that no incorrect repositories are left lingering.
Go to the vendor files directory (~/android/pac/vendor/YOUR_OEM), and search for the vendor files of your device. If they are not there, you will have to search for them online and copy them into the folder.
Alternatively, if your device has an extract-files.sh script, in the device tree (located in device/OEM/CODENAME), you can hook up your device via usb and run that command to grab the vendor files directly from your device. In this case, connect your device and run:
Code:
cd device/OEM/CODENAME
./extract-files.sh
2. products/pac_CODENAME.mk
Again, look at the same file for a device that is similar to yours and make the appropriate changes for your device.
Here is a sample pac_CODENAME.mk file for a hdpi device:
Code:
# Check for target product
ifeq (pac_CODENAME,$(TARGET_PRODUCT))
# OVERLAY_TARGET adds overlay asset source
OVERLAY_TARGET := pa_hdpi
# PAC device overlay
PRODUCT_PACKAGE_OVERLAYS += vendor/pac/overlay/pac/hdpi_480x800
# PAC boot logo
PRODUCT_COPY_FILES += \
vendor/pac/prebuilt/common/bootlogo/pac_logo_480x800.rle:root/logo.rle
# Copy bootanimation
PRODUCT_COPY_FILES += \
vendor/pac/prebuilt/480x800/bootanimation.zip:system/media/bootanimation.zip
# include PAC common configuration
include vendor/pac/config/pac_common.mk
# Inherit CM device configuration
$(call inherit-product, device/samsung/CODENAME/cm.mk)
PRODUCT_NAME := pac_CODENAME
endif
Note: for the PAC device overlay, look inside vendor/pac/overlay/pac for the available overlays. Likewise, for the bootanimation and boot logo, look in their respective directories for the available sizes.
3. vendorsetup.sh
Add a line that looks something like this in the appropriate area of this file (under the appropriate OEM, and in alphabetical order, please).
Code:
add_lunch_combo pac_CODENAME-userbebug
--- The below files are not necessary for successful compilation, but are required if you submit your device for official PAC support. ---
4. Contributors
5. Nightly.xml
6. XDAThreads
7. devices-breakdown.xml
For these files, follow the format of the other devices.
Building PAC
Now that we got all of the housekeeping out of the way, it is time to build the rom!
Open up a terminal and change directory to the base of where you downloaded the PAC source to begin compiling. Run (substitute your device's codename for CODENAME):
Code:
./build-pac.sh CODENAME
There are some additional options available in the build script. To see them all, simply run:
Code:
./build-pac.sh
If everything goes well, your build should be starting. Go take a walk or something while it is building. This may take a while if you have a computer with weak specs.
Submitting your device for official support
Once you have successfully built PAC for your device and tested it, you can submit your changes to our gerrit for official support and automatic nightly builds.
In order to do this, you need to first sign up on our gerrit and get your ssh keys set up. So head on over to http://review.pac-rom.com/ to register for an account. Next, we need to generate an ssh key pair in order to push changes to gerrit. To check if you already have a key pair generated, run
Code:
ls ~/.ssh
If it shows a id_rsa.pub, you already have your keys generated and you can skip to the adding your ssh key to gerrit part.
On the other hand, if there is nothing in your .ssh folder, run
Code:
ssh-keygen -t rsa -C "[email protected]"
When you run this command, it will ask you where you want to save this file. Just hit enter. Next, it will ask you for a passphrase for your private key. Enter a passphrase here that you can remember.
Now, it is time to add your public key to our gerrit. To copy your public key over, run:
Code:
sudo apt-get install xclip
xclip -sel clip < ~/.ssh/id_rsa.pub
(Alternatively, you can cat the file and just copy it, but the above mentioned way avoids any missing characters while copying.)
Now, login to our gerrit and go to your account settings > ssh public keys. Click on add, and paste the key and save.
It is time to upload your changes. We have a script to make this process easier. To grab the script, run:
Code:
cd ~/bin
wget http://pac-rom.com/downloads/pac-review
chmod a+x pac-review
Now, run:
Code:
cd ~/android/pac
cd vendor/pac
git add -A
git commit
This should open up a text editor (probably nano) where you can put a commit message. For our purposes, just write something along the lines of "Add support for ___." To save the file, hit Ctrl + o. To exit, hit Ctrl + x. Then, run:
Code:
pac-review -p
Follow the prompts and your changes should be automatically pushed and a link will show to your change on gerrit.
If you realize that you made a mistake in your commit, DO NOT submit a new change. Instead, make your changes, then run:
Code:
git add -A
git commit --amend
Update your commit message if necessary and then push with the pac-review script. This will create a new patchset on our gerrit instead of creating a new commit.
And that is all! If you have any questions, dont hesitate to ask them here. Ill try to get back to you as soon as possible
Hey iurnait, I didn't find any instructions on pac's github on how to clone the entire trees. Please help.
Ateekujjawal said:
Hey iurnait, I didn't find any instructions on pac's github on how to clone the entire trees. Please help.
Click to expand...
Click to collapse
cd into the directory where you are working, and then run
Code:
repo init -u git://github.com/PAC-man/pacman.git -b pac-4.4
then run
Code:
repo sync
iurnait said:
cd into the directory where you are working, and then run
Code:
repo init -u git://github.com/PAC-man/pacman.git -b pac-4.4
then run
Code:
repo sync
Click to expand...
Click to collapse
By doing this, will I get all the packages_apps_settings,frameworks_av etc.
Ateekujjawal said:
By doing this, will I get all the packages_apps_settings,frameworks_av etc.
Click to expand...
Click to collapse
this will grab everything needed to compile
How can I use linaro toolchain to compile pacman and where to download it.
Simplest Method you found here:
http://forum.xda-developers.com/showthread.php?t=2644910
You need only one a Machine with a Ubuntu ready,
Is this method also usable for the LG P990 (Optimus 2x) ?
If so, any special things I should look out for with this old device?
Sent from my LG P990 running CM11 (thnx tonyp) via xda-developers app
DavidLouwers said:
Is this method also usable for the LG P990 (Optimus 2x) ?
If so, any special things I should look out for with this old device?
Sent from my LG P990 running CM11 (thnx tonyp) via xda-developers app
Click to expand...
Click to collapse
If you can find your device here: https://github.com/PAC-man/android_vendor_pac/blob/pac-4.4/devices-breakdown.xml
it will work
@DavidLouwers
talk with tonyp and penguin77 if the device repos work PAC 4.4
You can only one use the Kernel/Device/Vendor Tree... (if you planned to run as nightly in jenkins) If tonyp use for her [email protected] other modified repos was normally is in PAC or Cyanogenmod... it can build but you must modifing default.xml in .repo/manifests. But then you can not add to nighlys...
if you want help, ask me, i had this device before and maintained PAC for p990
MetaIIica said:
@DavidLouwers
talk with tonyp and penguin77 if the device repos work PAC 4.4
You can only one use the Kernel/Device/Vendor Tree... (if you planned to run as nightly in jenkins) If tonyp use for her [email protected] other modified repos was normally is in PAC or Cyanogenmod... it can build but you must modifing default.xml in .repo/manifests. But then you can not add to nighlys...
if you want help, ask me, i had this device before and maintained PAC for p990
Click to expand...
Click to collapse
Thanks, I will! I will do everything in my power to make PAC ROM available for my phone! I used to have your PAC 4.3 ROM, which I loved, and that's the reason I really want a KitKat PAC ROM, because KitKat is optimised for phones with low memory, so it'd be awesome to have PAC 4.4 for the old P990.
I shall try to gather the penguins and port PAC to P990!
Langes said:
If you can find your device here: github site, can't post it because I'm a new member :/
it will work
Click to expand...
Click to collapse
Sadly enough, P990 isn't on it, but with the help of Metallica and the penguins, maybe we'll be able to make PAC available for the P990 anyway!
Ateekujjawal said:
How can I use linaro toolchain to compile pacman and where to download it.
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=2348366
For now, there is only cm11 available for the note 3.
Does this matter?
If not, I can try to make it
Gesendet von meinem SM-N9005 mit Tapatalk
Thumper_ said:
For now, there is only cm11 available for the note 3.
Does this matter?
If not, I can try to make it
Gesendet von meinem SM-N9005 mit Tapatalk
Click to expand...
Click to collapse
If there is a working cm 11 tree available, have a look at the second post on how to add PAC support. It shouldnt be too difficult considering you already have cm11
Sent from my Nexus 7 using Tapatalk
Thumper_ said:
For now, there is only cm11 available for the note 3.
Does this matter?
If not, I can try to make it
Gesendet von meinem SM-N9005 mit Tapatalk
Click to expand...
Click to collapse
Would be great if you built it and shared the build..not much available for the note 3 yet
Sent from my SM-N900P using Tapatalk
nelsonator1982 said:
Would be great if you built it and shared the build..not much available for the note 3 yet
Sent from my SM-N900P using Tapatalk
Click to expand...
Click to collapse
Just downloading the repo
Let's see what I can do.
Gesendet von meinem SM-N9005 mit Tapatalk
Can't get it
where should I place the pac_CODENAME.mk ?
Then the dependencies?
Suppose, I am building for c1905, then the dependencies must be in /device/sony/c1905/c1905.dependencies?
Then
Is this pac_c1905.mk okay?
Code:
# Check for target product
ifeq (pac_c1905,$(TARGET_PRODUCT))
# OVERLAY_TARGET adds overlay asset source
OVERLAY_TARGET := pa_hdpi
# PAC device overlay
PRODUCT_PACKAGE_OVERLAYS += vendor/pac/overlay/pac/hdpi_480x854
# PAC boot logo
PRODUCT_COPY_FILES += \
vendor/pac/prebuilt/common/bootlogo/pac_logo_480x854.rle:root/logo.rle
# Copy bootanimation
PRODUCT_COPY_FILES += \
vendor/pac/prebuilt/480x854/bootanimation.zip:system/media/bootanimation.zip
# include PAC common configuration
include vendor/pac/config/pac_common.mk
# Inherit CM device configuration
$(call inherit-product, device/sony/c1905/cm.mk)
PRODUCT_NAME := pac_c1905
endif
Help Me out. I am trying to build for Xperia M.

[KERNEL] Anykernel

ANYKERNEL
tuna (maguro / toro / toroplus)​[#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 we add them official to our kernel source on Unlegacy-Android (most of the time security bugfixes)!
Android 5.1, Android 6.0 and Android 7.x
This Kernel should work on all Android 5.1, Android 6.0 and Android 7.xRoms
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.7
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)
lineage-13.0_maguro-6.0.1-20180130-2235.zip and newer
lineage-13.0_toro-6.0.1-20180130-2258.zip and newer
lineage-13.0_toroplus-6.0.1-20180130-2323.zip and newer
OmniRom (unofficial)
OmniRom 4.4: omni_tuna-4.4.4-20180128-0005.zip and newer
OmniRom 6.0: omni_tuna-6.0.1-20180128-0334.zip and newer
OmniRom 7.x: omni_tuna-7.1.2-20180128-1348.zip and newer
SlimRoms (unofficial)
Slim6: Slim_tuna-6.0.1-20180128-2356.zip and newer
Slim7: Slim_tuna-7.1.2-20180131-1640.zip
Unlegacy-Android:
All official Unlegacy-Android builds starting on 15th feburary use the default libion
On older Roms, using TI's libion, you can use attached kernel from here.
[#DONATETOME]
XDA:DevDB Information
(tuna) Anykernel, Kernel for the Samsung Galaxy Nexus
Contributors
Android-Andi, Ziyan
Source Code: https://github.com/Unlegacy-Android/android_kernel_samsung_tuna/tree/staging
Kernel Special Features: Testing before applying on our source official, CVE fixes
Version Information
Status: Testing
Created 2017-06-23
Last Updated 2018-05-09
Reserved
As requested, here's my setup to compile tuna 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, "tuna kernel")
GCC ( https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7 )
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 (update for tuna needed)
build-gcc4.7.env
Code:
export CROSS_COMPILE=[COLOR="Red"]'/home/andi/android2/kernelcompile/arm-eabi-4.7/bin/arm-eabi-'[/COLOR]
export LDFLAGS=''
export CFLAGS=''
export SUBARCH=arm
export ARCH=arm
export STRIP=[COLOR="Red"]/home/andi/android2/kernelcompile/arm-eabi-4.7/bin/arm-eabi-strip[/COLOR]
alias 'stm'='$STRIP --strip-unneeded *.ko'
compile-tuna.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/tuna" 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
info "Import kernel config file: $DEFCONFIGNAME"
make O=$WORKINGDIR $DEFCONFIGNAME
info "Change kernel configuration if needed using:"
info " make O=$WORKINGDIR menuconfig "
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
cp $WORKINGDIR/arch/arm/boot/zImage $WORKINGOUTDIR/
find $WORKINGDIR/ -type f -name *.ko -exec cp {} $WORKINGOUTDIR/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..."
make -j8 -C $PVRSAUCE/build/linux2/omap4430_android TARGET_PRODUCT="blaze_tablet" 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/pvrsrvkm_sgx540_120.ko
mv $PVRSAUCE/binary2_omap4430_android_release/target/pvrsrvkm.ko $WORKINGOUTDIR/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
stm
info "####################"
info "# Done! #"
info "####################"
else
warn "####################"
warn "# FAILED! #"
warn "####################"
fi
cd $SAUCE
tuna_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.7"
DEFCONFIGNAME=tuna_kitkat_defconfig
WORKINGDIR=$SAUCE/tuna-kitkat
WORKINGOUTDIR=$WORKINGDIR-bin
. `dirname $0`/compile-tuna.sh
tuna_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.7"
DEFCONFIGNAME=tuna_defconfig
WORKINGDIR=$SAUCE/tuna-marshmallow
WORKINGOUTDIR=$WORKINGDIR-bin
. `dirname $0`/compile-tuna.sh
Hey together!
We started preparing a common 3.0 omap4 kernel.
I have started applying some small stuff to our current kernel (also reverts some previous commits) which needs testing.
The kernel should work on all L, M and N Roms. Please let me know if you face any new issues.
Android-Andi said:
Hey together!
We started preparing a common 3.0 omap4 kernel.
I have started applying some small stuff to our current kernel (also reverts some previous commits) which needs testing.
Click to expand...
Click to collapse
Thanks for your hard work. I flashed your kernel onto DU 11.5 (Android 7.12). It boots fine and I'm writing this post with this configuration. I will test it during the next days. First difference: Nightlight now works...
Android-Andi said:
Want to support development? You can consider donating, we've spent countless of hours with this
Click to expand...
Click to collapse
@Android-Andi @Ziyan Thank you for your work! I have donated $10 and I hope others will join me to support our developers
Android-Andi said:
Please let me know if you face any new issues.
Click to expand...
Click to collapse
It's running very well but I'm getting battery drain cause of missing deep-sleep-cycles.
@guest4711 maguro?
On toro or toroplus issues i need a dmesg always because i own a maguro only.
Android-Andi said:
@guest4711 maguro?
Click to expand...
Click to collapse
Yes, good old maguro (with baseband I9250XXLJ1, see #3).
@guest4711 attached kernel reverts "cpufreq: interactive: sync with p-android-omap-3.0-dev", let's see if this fixes your issue.
double, ignore
Android-Andi said:
@guest4711 attached kernel reverts "cpufreq: interactive: sync with p-android-omap-3.0-dev", let's see if this fixes your issue.
Click to expand...
Click to collapse
Ok, I'll test it. Simple dirty flashing without any wiping?
guest4711 said:
Ok, I'll test it. Simple dirty flashing without any wiping?
Click to expand...
Click to collapse
Yeah if it's not that i have another idea. My maguro was almost empty, only could quick test wifi, camera, audio yesterday. Charging it now and going to work on it later again.
Android-Andi said:
Yeah if it's not that i have another idea. My maguro was almost empty, only could quick test wifi, camera, audio yesterday. Charging it now and going to work on it later again.
Click to expand...
Click to collapse
Ok. Quick tries to enter deep sleeping show "some devices failed to suspend" in dmesg, see attached log.
guest4711 said:
Ok. Quick tries to enter deep sleeping show "some devices failed to suspend" in dmesg, see attached log.
Click to expand...
Click to collapse
Would it help to log the same with "DU kernel" and post it here? Or do you need other logs too?
guest4711 said:
Would it help to log the same with "DU kernel" and post it here? Or do you need other logs too?
Click to expand...
Click to collapse
One more to test.
Android-Andi said:
One more to test.
Click to expand...
Click to collapse
Keep quite, please - the cpus are sleeping...
One more attached. Almost spend the whole day with it.
Have fun with it!
Android-Andi said:
One more attached. Almost spend the whole day with it.
Have fun with it!
Click to expand...
Click to collapse
Thank you. Installed and running, but need a while for testing it.
Have a nice weekend!
Another one, adds a bunch of zram changes (not enabled - shouldn't hurt) and core parts from galaxy tab2 (shouldn't hurt tuna, but we need to test).

Categories

Resources