[Samsung Galaxy Nexus] morfes:
Hello everyone, sorry for my english I'm using google translate. I was able to compile the toolchain linaro 4.7.4 kernel 3.0.72 is that the whole of the AOSP rom from source Google Samsung Galaxy Nexus.

Kernel + ramdisk:

Kernel updated to: 3.0.72 (compiled with Linaro GCC 4.7.4-2013.06.26)

Compressed zImage – LZO

Disabled ro.adb.secure

Enable adb remount

Available I/O Schedulers: Deadline – CFQ – No-op

Available CPUFreq govenor: performance – powersave – userspace – ondemand – interactive – conservative – hotplug

Enabled CIFS support

Enabled NFS support

Enabled TUN support

Fix shell adb in standard GNU/Linux

Enabled Local Version

Enabled /proc/config.gz

Enabled extract config zImage

System:

AOSP Jelly Bean 4.3 build JWR66V (compiled with Linaro GCC 4.7.4-2013.06.26)

Installed busybox

The rom has no root, also lack the google apps, if you want you can install ClockworkMod recovery, the links at the bottom of the download.

Installation Guide:

Install the ClockworkMod Recovery

Download the rom and copy the zip on sdcard

Reboot into recovery, do wipe data / factory restore and flash it.

Download

- Galaxy-Nexus-4.3-linaro-odexed

- Galaxy-Nexus-4.3-linaro-deodexed

- Root SuperUser 1.51

- gapps-jb-4.3

Galaxy Nexus 4.3 compiled with toolchain linaro 4.7.4 with cflags -O3

Galaxy_Nexus_4.3_linaro_odexed_02

The rom odexed seems much smoother and faster, to increase the speed of the luncher, go to Settings - enabled Developer options - select scale window animation, transition and animator 0.5x.

Credits:

- Google Android Source

- Team Project Linaro

- EstebanSannin

If you like my rom thank me with a Donation

Guide for completing the sources linaro:

- You must have installed ubuntu 10.04 64-bit compilation but also goes with ubuntu 13.04 64-bit tested by me and the oracle java 6

- Download the source AOSP Android 4.3, the Android Developers website explains how to do

- Download the kernel sources of the Galaxy Nexus:

git clone https://android.googlesource.com/kernel/omap.git

cd omap

git branch -a (This command will list the various kernel versions)
master
* remotes/origin/android-omap-tuna-3.0-jb-mr2
remotes/origin/HEAD -> origin/master
remotes/origin/android-omap-3.0
remotes/origin/android-omap-panda-3.0
remotes/origin/android-omap-steelhead-3.0-ics-aah
remotes/origin/android-omap-tuna-3.0
remotes/origin/android-omap-tuna-3.0-ics-mr1
remotes/origin/android-omap-tuna-3.0-jb-mr0
remotes/origin/android-omap-tuna-3.0-jb-mr1
remotes/origin/android-omap-tuna-3.0-jb-mr1.1
remotes/origin/android-omap-tuna-3.0-jb-mr2
remotes/origin/android-omap-tuna-3.0-jb-pre1
remotes/origin/android-omap-tuna-3.0-mr0
remotes/origin/android-omap-tuna-3.0-mr0.1
remotes/origin/glass-omap-xrr02
remotes/origin/glass-omap-xrr35
remotes/origin/glass-omap-xrr64b
remotes/origin/glass-omap-xrr88
remotes/origin/linux-omap-3.0
remotes/origin/master
remotes/origin/sph-l700-fh05

git checkout remotes/origin/android-omap-tuna-3.0-jb-mr2 (choose the last updated version of the 3.0.72 kernel jelly beans)

git checkout -b remotes/origin/android-omap-tuna-3.0-jb-mr2

- Download the toolchain linaro 4.7-2013.07 (4.7.4) from here

- Set the variables to compile the kernel:

export ARCH=arm
export CROSS_COMPILE=/home/utente/Scrivania/Galaxy_Nexus/Toolchain-Linaro/arm-linux-gnueabi-linaro_4.7.4/bin/arm-unknown-linux-gnueabi-

make tuna_defconfig (This command will load the config gnexus)
make menuconfig (this command using a graphic interface you can select and load the modules in the kernel and change the configuration)
make (start compilation)

- To compile the source google AOSP, we have to download this toolchain linaro 4.7.4: http://snapshots.linaro.org/android/~linaro-android/toolchain-4.7-bzr/447/android-toolchain-eabi-4.7-daily-linux-x86.tar.bz2

- We extract and copy it in the folder: sorgenti-aosp/prebuilts/gcc/linux-x86/arm/ in this folder are the gcc toolchain to google, I do not to confuse it with the other folders called arm-linaro-4.7, now we just have to edit the file TARGET_linux-arm.mk which is located in the sorgenti-aosp/build/core/combo and let's change the name of the folder on TARGET_TOOLCHAIN_ROOT,

by this way:

# You can set TARGET_TOOLS_PREFIX to get gcc from somewhere else
ifeq ($(strip $(TARGET_TOOLS_PREFIX)),)
TARGET_TOOLCHAIN_ROOT := prebuilts/gcc/$(HOST_PREBUILT_TAG)/arm/arm-linux-androideabi-$(TARGET_GCC_VERSION)
TARGET_TOOLS_PREFIX := $(TARGET_TOOLCHAIN_ROOT)/bin/arm-linux-androideabi-
endif

in this way:

# You can set TARGET_TOOLS_PREFIX to get gcc from somewhere else
ifeq ($(strip $(TARGET_TOOLS_PREFIX)),)
TARGET_TOOLCHAIN_ROOT := prebuilts/gcc/$(HOST_PREBUILT_TAG)/arm/arm-linaro-$(TARGET_GCC_VERSION)
TARGET_TOOLS_PREFIX := $(TARGET_TOOLCHAIN_ROOT)/bin/arm-linux-androideabi-
endif

Once this is done you can start filling out the following site guides android source

Command to compile the AOSP rom odexed:

make DISABLE_DEXPREOPT=false WITH_DEXPREOPT=true

Oh I forgot before he ends up filling in the system you have to copy the folder that is created out of the blob proprietary Galaxy Nexus that you can take from your stock rom 4.3, otherwise the rom will not boot. ;)

News:

I recompiled the rom with the cflags -O3, to set it in the sources I have modified the file TARGET_linux-arm.mk by so:

TARGET_arm_CFLAGS := -O2 \
-fomit-frame-pointer \
-fstrict-aliasing \
-funswitch-loops

# Modules can choose to compile some source as thumb.
TARGET_thumb_CFLAGS := -mthumb \
-Os \
-fomit-frame-pointer \
-fno-strict-aliasing

in so:

TARGET_arm_CFLAGS := -O3 \
-fomit-frame-pointer \
-fstrict-aliasing \
-funswitch-loops

# Modules can choose to compile some source as thumb.
TARGET_thumb_CFLAGS := -mthumb \
-O3 \
-fomit-frame-pointer \
-fno-strict-aliasing

I first tried to compile the rom exporting only the variables:

export CFLAGS="-O3 -pipe"
export CXXFLAGS="-O3 -pipe"

before giving the command make, but I was not sure so compiled with cflags -O3 , the compilation is completed without error but I have not tried the rom.

Compiling with the change to the file TARGET_linux-arm.mk[/ B] is finished without errors, the system.img who created me is 259.1 Mb, instead system.img with the export of cflags is 250 Mb, the same size as the system.img that I compiled without the cflags -O3, so I think that with the changes to the file are able to compile the cflags -O3, I just have to try the rom and take tests benchmark to see if the rom has been optimized and is smoother and faster.

I did some benchmark tests with Antutu on rom compiled with the cflags -O3, with freq to 1200 and governor performance did score of 7830, higher than the rom compiled without cflags -O3 and stock rom.