Cross-Compiling Android Kernel – Samsung GalaxyS2

Das GalaxyS2 läuft ziemlich gut mit dem neuen nightly-builds von CM9 (Android 4.0.4) & den neusten Google-Apps & dem SiyahKernel.

Ich möchte hier kurz erklären, wie du einen Kernel für das Samsung S2 (CM9) auf Basis vom SiyahKernel kompilierst. :) 

 

1.) Installiere Linux + Cross-Compiler 

Als erstes solltest du Linux bereits installiert haben (z.B. Ubuntu, Debian …) ggf. einfach auf einen virtuellen PC z.B. via VirtualBox. Für Ubuntu gibt es bereits ab Werk GCC für ARM, bei Debian habe ich bisher folgende Paket-Quellen ( /etc/apt/sources.list ) mit aufgenommen und anschließend gcc-4.6-arm installiert, jedoch bisher nur mit Debian *sid* getestet.

deb http://www.emdebian.org/debian/ unstable main

Install:

sudo apt-get install build-essential git gcc-4.5-arm-linux-gnueabi wget libncurses5-dev

 

2.) Download der Quellen via github

Fork via github die Quellen welche du kompilieren möchtest und lade deine eigenen “Sources” herunter, um später ggf. “Pull Requests” zu stellen. Daher musst du bei den folgenden Befehlen “voku” durch deinen eigenen User-Namen bei github ersetzen.

 mkdir -p ~/sgs2/kernel/

cd ~/sgs2/kernel/

git clone https://github.com/voku/siyahkernel3

git clone https://github.com/voku/initramfs3

PS: “~” (tilde) = home-Verzeichnis -> info

Falls du nun einen anderen Cross-Compiler installiert hast als ich, musst du in der Datei (build_kernel.sh) die CROSS_COMPILE Variable anpassen. (whereis – locate the binary, source, and manual page files for a command)

cd ~/sgs2/kernel/siyahkernel3

./build_kernel.sh

 

Sobald der Kernel kompiliert wurde findest du folgende Datei “zImage”, welche wiederum der Kernel selber ist. ;)

 

PS: hier meine Version kompiliert mit gcc-4.6 & -Ofast & neuem Tweak-Script ->  http://samdroid.voku-online.de/index.php?action=list&dir=SGS2&order=name&srt=yes

 

Tipps: 

– CyanogenMod 9 Flashen -> AOSP 4.0.4 Cyanogen (mod) 9 Flash Anleitung

– keine Angst vor git -> man braucht meistens nur ein paar Befehle -> “git pull” & “git  push” & “git add –all” 

– git? -> http://rogerdudler.github.com/git-guide/index.de.html 

– Kernel-Config -> ~/sgs2/kernel/siyahkernel3/arch/arm/configs/siyah_defconfig 

– Tweak Skript ->  ~/sgs2/kernel/initramfs3/sbin/ext/thunderbolt.sh

– Makefile ->  ~/sgs2/kernel/siyahkernel3/Makefile 

Google Chrome App für Android 4

Gerade bei Twitter gelesen: “Google veröffentlicht Chrome für Android“. Leider ist die neue Google Chrome App nur für Android 4.0 “Ice Cream Sandwich” und für bestimmte Länder verfügbar… aber da ich seit einigen Wochen ein Galaxy S2 mit CyanogenMod9 nutze, ist das kein Problem für mich. ;)   

Google veröffentlicht Chrome für Android
Google veröffentlicht Chrome für Android
Google Chrome für Android Beta ist da - Alle Infos
Google Chrome für Android Beta ist da - Alle Infos

 

 

 

 

 

 

 

 

 

Tabs: geöffnete Tabs vom PC können auf’s Smartphone übertragen werden, zudem kann man zwischen den Tabs sehr einfach Navigieren und bereits geöffnete Tabs werden auf Chrome-Startseite angezeigt

Google_Chrome_Tabs
Google_Chrome_Tabs

 

Chrome + Google Suche: natürlich ist die Google Suche direkt in der URL integriert 

Chrome_Google
Chrome_Google

 

Synchronisieren: Lesezeichen synchronisieren, an Google Diensten (z.B. Google Mail) automatisch anmelden, automatisch Formular Vervollständigung … 

Chrome_Google_Synchronisieren
Chrome_Google_Synchronisieren

 

Entwickler: via adb kann man die Webseite direkt vom Computer aufrufen und so anzeigen lassen, wie diese auch auf dem Smartphone angezeigt wird. Wer nicht weiß was “adb” ist, kann dies hier nachlesen -> http://suckup.de/windows/android-debug-bridge-adb-howto/

Chrome_App_Develop
Chrome_App_Develop

 

mehr Infos: http://www.google.com/intl/de/chrome/android/features.html

Optimierte Gallery3D-App für Android (Froyo)

Ich habe für mein altes Samsung Spica (Android 2.2.2) eine optimierte Gallery3D App kompiliert und ggf. läuft die App auch auf anderen Geräten, daher würde ich mich über euer Feedback freuen…

 

Gallery3D
Gallery3D

 

Download: Gallery3D

 

Changelog:

* Gingerbread-Sources (Android 2.3)

* deaktiviertes Dithering 

* deaktivierter dynamischer Hintergrund

* Fixes / Updates

 

Sources: https://github.com/voku/android_packages_apps_Gallery3D/

 

Video: http://www.youtube.com/watch?v=zv61r9JtyUI

Screenshots von Android via shell

Wenn man auf seinem Android beispielsweise einen Kernel mit 24bpp Unterstützung installiert, kann man auch wenn man root-Rechte hat, keine Screenshot via App machen. Um dies zu umgehen kann man die “Android Debug Bridge (adb)” verwenden.

sudo apt-get install ffmpeg
/opt/android-sdk-linux_x86/platform-tools/adb pull /dev/graphics/fb0 fb0
ffmpeg -vframes 1 -vcodec rawvideo -f rawvideo -pix_fmt rgb32 -s 320x480 -i fb0 -f image2 -vcodec png image.png

 

Das gleich Verfahren kann man auch unter Windows anwenden und wer lieber mit einer GUI arbeitet, sollte sich einmal QtADB anschauen. ;)

SSH-Server auf deinem Android (CyanogenMod)

In dem “CyanogenMod” (CM) ist bereits ein SSH-Server eingebaut (Dropbear), dieser ist jedoch standardmäßig abgeschaltet. Hier zeige ich kurz wie du diesen unter Linux / Windows nutzen kannst und dich somit ohne Kabel mit deinem Android (funktioniert nach meinen Tests, nur im lokalen W-Lan) verbinden kannst …  ;-)

 

1.) Android: Vorbereitungen

adb shell

(adb shell)

mkdir /data/dropbear
cd /data/dropbear
dropbearkey -t dss -f dropbear_dss_host_key
dropbearkey -t rsa -f dropbear_rsa_host_key

 

2.1) Linux: Vorbereitungen (Debian / Ubuntu)

2.1.1) Installiere den SSH-Client

sudo aptitude install ssh-client

2.1.2) SSH-Schlüssel generieren

ssh-keygen -t rsa

2.1.3) Übertrage den SSH-Schlüssel (öffentlich / public) zu Android

adb push ~/.ssh/id_rsa.pub /data/dropbear/.ssh/authorized_keys

 

2.2) Windows: Vorbereitungen
PuTTY Download Page

2.2.1) Download “PuTTYgen”

2.2.2) SSH-Schlüssel generieren

Klick auf “Generate” und füge die Zeichenkette, welche du nun im Fenster von puttygen siehst (Beispiel: “ssh-rsa AAAAB3…hclQ==rsa-key-20100227”) in eine Text-Datei auf deinem Desktop ein -> “id_rsa.pub” und speichere (beschütze) deinen “private key”!!!

2.2.3) Übertrage den SSH-Schlüssel (öffentlich / public) zu Android

adb push  C:\Users\[USER]\Desktop\id_rsa.pub /data/dropbear/.ssh/authorized_keys

 

3.) Android: SSH-Server aktivieren

adb shell

(adb shell)

chmod 600 /data/dropbear/.ssh/authorized_keys
echo "/system/xbin/busybox sh" > /data/dropbear/.profile
chmod 755 /data/dropbear /data/dropbear/.ssh
chmod 644 /data/dropbear/dropbear*host_key
chown root.root /data/dropbear/.ssh/authorized_keys
killall dropbear
dropbear -v -s -g

 

4.1) Linux: Verbindung herstellen

-> SSH mit public-key Authentifizierung

 

4.2) Windows: Verbindung herstellen

PuTTY Download Page

4.2.1) Download “putty”

4.2.2) Verbindung zu Android aufbauen

Connection: > “SSH” > “Auth” > wähle deinen gespeicherten “private key” aus …

Session: > gib die IP-Adresse von deinem Android ein und drücke auf Enter

 

 

weitere Infos findest du hier:
Howto: Connect to Device with SSH – CyanogenMod Wiki

Tweak-Skript für Android / Spica

Ich habe hier ein kleines HowTo zum beschleunigen von Android / Spica geschrieben und wollte euch das Tweak-Skript für “bfs-Kernel” / “cfs-Kernel” / “Dateisystem” (ext2) / “3G/Edge Speed” … zur Verfügung stellen. -> Forum-LinkDownload

Optimized Android-Apps mit Linux erstellen

Ich habe meine apps mit dem folgenden Bash-Skript optimiert, welches die Bild- & Sound-Dateien komprimiert, so dass die Apps kleiner werden und weniger Speicher verbrauchen… :-)

Habe die optimierten Apps zu meinem Update-Pack für Spica hinzugefügt -> cyanogenmod + x

 

1.) Bash-Skript in einer Textdatei unter Linux speichern (Tweak_app.sh) & Ausführrechte setzen (chmod +x Tweak_app.sh)

2.) “optipng”, “pngcrush”, “sox” installieren (z.B. für Debian: apt-get install optipng pngcrush sox)

3.) android-sdk herunterladen & sudo cp …..android-sdk/android-sdk/zipalign /usr/bin/

4.) Folgendes Verzeichnis anlegen und zu optimierende Apps darin speichern (./place-apk-here-to-batch-optimize/)

5.) Tweak-Skript ausführen (./Tweak_app.sh) -> Fertig


#!/bin/bash

LOG_FILE="apk.log"

if [ \! -f `whereis optipng | cut -f 2 -d ' '` ] ; then
	echo "ERROR: install optipng (apt-get install optipng)"
	exit 1;
fi;
if [ \! -f `whereis pngcrush | cut -f 2 -d ' '` ] ; then
	echo "ERROR: install pngcrush (apt-get install pngcrush)"
	exit 1;
fi;
if [ \! -f `whereis sox | cut -f 2 -d ' '` ] ; then
	echo "ERROR: install sox (apt-get install sox)"
	exit 1;
fi;
if [ \! -f `whereis zipalign | cut -f 2 -d ' '` ] ; then
	echo "ERROR: install zipalign (sudo cp ...android-sdk/android-sdk/zipalign /usr/bin/)"
	exit 1;
fi;	

rm -rf ./place-apk-here-to-batch-optimize/original/*
if [ -e $LOG_FILE ]; then
	rm $LOG_FILE;
fi;
touch $LOG_FILE
mkdir -p ./place-apk-here-to-batch-optimize/original
find ./place-apk-here-to-batch-optimize -iname "*.apk" | while read APK_FILE ;
do
	echo "Optimizing $APK_FILE"
	7za x -o"./place-apk-here-to-batch-optimize/original" $APK_FILE
	find ./place-apk-here-to-batch-optimize/original -iname "*.png" | while read PNG_FILE ;
		do
		if [ `echo "$PNG_FILE" | grep -c "\.9\.png$"` -eq 0 ] ; then
			optipng -o99 "$PNG_FILE"
			pngcrush -rem alla -reduce -brute "$PNG_FILE" tmp_img_file.png;
			mv -f tmp_img_file.png $PNG_FILE;
		fi
	done;
	find ./place-apk-here-to-batch-optimize/original -iname "*.ogg" | while read OGG_FILE ;
		do
        	sox "$OGG_FILE" -C 0 tmp_audio_file.ogg
        	mv -f tmp_audio_file.ogg $OGG_FILE
    	done;
	7za a -tzip "./place-apk-here-to-batch-optimize/temp.zip" ./place-apk-here-to-batch-optimize/original/* -mx9
	FILE=`basename "$APK_FILE"`
	DIR=`dirname "$APK_FILE"`
	mv -f ./place-apk-here-to-batch-optimize/temp.zip "$DIR/optimized-$FILE"
	zipalign -v -c 4 "$DIR/optimized-$FILE";
	ZIPCHECK=$?;
	if [ $ZIPCHECK -eq 1 ]; then
		echo "ERROR $FILE" >> $LOG_FILE;
		#rm "$DIR/optimized-$FILE"
	elif [ $ZIPCHECK -eq 0 ]; then
		echo "OK $FILE" >> $LOG_FILE;
	else
		echo "ERROR $FILE" >> $LOG_FILE;
		#rm "$DIR/optimized-$FILE"
	fi;
	rm -rf ./place-apk-here-to-batch-optimize/original/*
done;

Android 2.2.3 Froyo (Mod+X => SpicagenMod RC1) – Samsung GALAXY SPICA I5700

I will publish my work (files) here because different forums all over the world use it and I have to update all the posts so that everybody find out that there is a new version of “Mod + X” (SpicagenMod) | here you can get more infos & help from the “Samdroid.Net”-Commuity -> [Dev] SpicagenMod BETA3 & HELPDESK + FAQs + HOW-TO GUIDES

 

Current version: Mod+X => SpicagenMod RC1

 

[stextbox id=”alert” caption=”Warning”]Even if this update should have worked for me without problems, I can not guarantee that this will work for you, so you maybe create a backup of your files before the installation![/stextbox]

 

 

INSTALLATION
If you are updating from any other Android-Version than Froyo (2.2) do wipe data/cache BEFORE installing SGM.
1. Push it to your SDcard, go to recovery and apply pushed file.
2. After complete boot make reboot one more time!

This update won’t wipe your data!

 

—————————————–

 

Download:

->SpicagenMod RC1 (~ 85M, md5: ec0ad09b51595b974020d882f8323a4f)

 

Kitchen:
->kitchen.voku-online.de (offline for the moment) 

 

Sources:

->github.com/voku

 

—————————————–

 

HowTo

If you have already installed Android 2.2 Froyo -> appy the “Mod + X” via Recovery :) otherwise or if you will have a “clean install” …

1.) Odin + spica_jc3“I570EXXJH6.tar” 

Windows: 
1.1) install driver 
1.2) start Odin, select new files + “spica_jc3.ops” 

1.3) do not connect Spica with you pc -> press “quieter+camera+hang” to boot in the download-mode 


1.4) connect Spica with your pc -> start odin-update

2.) Odin + spica_jc3“i5700_LK2-08_PDA.tar” 

3.) press “quieter+call+hang” -> “Wipe” -> “Wipe data/cache”

4.) Recovery: apply zip-file

 

PS: here you can find a detailed HowTo but it is only in German language > Android 2.2 Froyo (CyanogenMod) – Samsung GALAXY SPICA I5700

 

—————————————–

 

Changelog: SpicagenMod

SpicagenMod Froyo, based on CyanogenMod 6.1.1 & Android 2.2.3
========

RC1
* added "VOKU"-kernel v3.4 (24bpp) as default
* edit sound -> louder [need testing] (asound.conf)
* updated DalvikVM (github.com/voku/android_dalvik)
* updated Bionic-lib (github.com/voku/android_bionic)
* updated WebKit (github.com/voku/android_external_webkit)
* updated png-lib v1.2.47 (github.com/AOKP/external_libpng)
* updated some Apps (Contacts, LatinIME, Browser, ES File Explore, Nemus Launcher,
* .... MediaProvider [gingerbread], Google Maps, YouTube, GoogleVoice,
* .... GooglePlayStore [Market], Music)
* removed some Apps (DSPManager, VpnServices, OpenVPN, QQPlayer)
* fixed SQLite problems - revert last changes (github.com/voku/android_external_sqlite)
* fixed Contakt problem - revert to SM-version (github.com/voku/android_packages_apps_Contacts)
* updated framework -> added "app.keeping for services" (github.com/voku/sm_android_frameworks_base)
* updated framework -> revert "User-to-User signaling Info" (github.com/voku/sm_android_frameworks_base)
* revert orientation-backport from CM9 (github.com/voku/sm_android_frameworks_base)
* added some framework-fixes from CyanogenMod [isc] (github.com/voku/sm_android_frameworks_base)
* added ICS theme (madoreq)
* added new instal-scripts (mpjoe2000)
* default build flags (github.com/voku/sm_android_build)
* updated "SpicaTweak Lite" v1.7.5 (github.com/voku/Android-Tweak) (thx @kiryl)
  - added "fix_permissions"
  - 3G/Edge Tweaks
  - SQLite Tweaks
  - added zipalign-Tweaks

BETA6
* added "VOKU"-kernel v3.2 (24bpp) as default
* updated some Apps (ES File Explore, k-9 Mail, Gallery3D, DSPManager, Terminal Emulator, Music,
* .... Barcode Scanner v4, QQPlayer, Google Maps, Browser, Phone, DownloadProvider,
* .... UserDictionaryProvider, ApplicationsProvider)
* updated Bionic-lib (github.com/voku/android_bionic)
* updated Busybox (github.com/voku/android_external_busybox)
* updated "Skia Graphics Engine" (github.com/voku/android_external_skia)
* updated WebKit (github.com/voku/android_external_webkit)
* updated "libFLAC" (github.com/voku/android_external_flac)
* updated zoneinfo - 2012b
* updated SQLite (github.com/voku/android_external_sqlite)
* updated DalvikVM (github.com/voku/android_dalvik)
* fixed "su"-problem
* fixed "GPS"-problem
* fixed longgg... boot time
* added new default settings (keep apps [Launcher, MMS, ... ] in memory by default)
* revert framework -> tweak SQLite-settings [need testing] (github.com/voku/sm_android_frameworks_base)
* added framework-features from milaq [froyo] (github.com/milaq/android_frameworks_base)
  - keep apps in memory (e.g.: echo "sys.keep_app_2=com.whatsapp" >> /system/build.prop;)
  - don't start gmaps network location service, if gmaps main isn't running
* added some framework-fixes from CyanogenMod [isc] (github.com/voku/sm_android_frameworks_base)
  - improved widget scrolling speed
* added framework-fixes from codeaurora.org [froyo]
  (https://www.codeaurora.org/gitweb/quic/la/?p=platform/frameworks/base.git;a=shortlog;h=refs/heads/froyo)
* added framework-fixes from peteralfonso [gingerbread] (github.com/peteralfonso/platform_frameworks_base)
* updated "SpicaTweak Lite" v1.7.1 (voku1987)
  - removed SQLite-Settings
  - edit TCP read/write
  - cleaned up the script
  - more I/O-Tweaks
  - removed zipalign-Tweaks
  - removed extra CPU-settings for Apps
  - Firewall-Tweaks [need testing]

BETA5
* added "VOKU"-kernel v1.7C [with Qbanin's touch driver] (24bpp) as default
* increased default audio-volume [/system/etc/asound_default.conf]
* updated install-script from SpicagenMod
* updated Android 2.2.2 -> Android 2.2.3 (voku1987)
* updated APN-config [apns-conf.xml] (voku1987)
* updated "block advertising" [hosts] (voku1987)
* updated "SpicaTweak Lite" v1.4.1 (voku1987)
* updated DalvikVM (github.com/voku/android_dalvik)
* updated "Skia Graphics Engine" (github.com/voku/android_external_skia)
* updated Bionic-lib (github.com/voku/android_bionic)
* updated SQLite v3.7.9 (with sync off) (github.com/voku/android_external_sqlite)
* updated su-binary [v3.0.3]
* updated some Apps (Google Maps 6.0.3, Market 3.4.4, k-9 Mail 4.103, Camera, Settings, SMParts,
* .... Phone, LatinIME, RealCalc, Browser, Gallery3D, Superuser 3.0.7, QQPlayer, Google Voice,
* .... ES File Explorer, YouTube, MediaProvider)
* added all default Apps (OpenVPN, "LiveWallpapers"-Apps, DSPManager, ...)
* added "QuickSearchBox"-App => removed "Google QuickSearch"-App
* removed "ApplicationsProvider"-App (mpjoe2000)
* removed Roboto-Font -> added CyanogenMod-Font (voku1987)
* removed auto "zipalign"-script (voku1987)
* updated "Music"-App (github.com/voku/android_packages_apps_Music)
* updated "Gallery3D"-App (github.com/voku/android_packages_apps_Gallery3D)
* fixed safe factory reset [need testing] (mpjoe2000)
* fixed force close -> menu-settings (voku1987)
* fixed DeskClock-App (voku1987)
* updated framework -> tweak SQLite-settings [need testing] (github.com/voku/sm_android_frameworks_base)
* added framework-fixes from CyanogenMod [gingerbread] (github.com/voku/sm_android_frameworks_base)
* added framework-fixes from Android [master] (github.com/voku/sm_android_frameworks_base)
  - but again no theme-compatibility to SGM BETA2.1 !!

BETA4
* added "FrozenLake v3 with default touch driver" as default (darth_llamah)
* added modified Transpa-Theme (eksajlee & voku1987)
* added Roboto-Font from Android 4.0 (voku1987)
* updated APN-config [apns-conf.xml] (voku1987)
* added boot-sound [off by default] (voku1987)
* added new SGM boot_logo/boot_animation (samdroid.net community)
* added optimized "Gallery3D"-App => removed "QuickPic"-App
* added "Music"-App => removed "MIUI-Music"-App
* added keyboard with multi-language => removed default keyboard (github.com/voku/android_packages_inputmethods_LatinIME)
* added "k-9 Mail"-app v3.800 => removed "Email"-App (code.google.com/p/k9mail/downloads/)
* updated some Apps (Browser, DownloadProvider, Gallery3D, RealCalc, Google Maps, Superuser, ES File Explorer, ...)
* removed some Apps (Facebook, DSPManager, VPN) | if you need it, you can add it by yourself
* updated su-binary [v3]
* updated DalvikVM (github.com/voku/android_dalvik)
* updated Bionic-lib (github.com/voku/android_bionic)
* updated jpeg-lib optimized (github.com/voku/android_external_jpeg)
* updated WebKit (github.com/voku/android_external_webkit)
* update Opencore [optimized mp3] (github.com/voku/sm_android_external_opencore)
* fixed Gallery3D [zoom by pictures from camera] (voku/android_packages_apps_Gallery3D)
* fixed Bluetooth-CarKit-problem
* fixed wifi-dns (LordManta)
* code fixes (voku1987)
  - fixed GPS-Bug
  - fixed YouTube-Bug
  - theme-compatibility to SGM BETA2.1
* added "SpicaTweak Lite" v1.1 -> removed "SSSwitch" (voku1987)
  - some default tweaks without config via ssscfg
* added & updated translations (voku1987)
* added gingerbread backport native power manager service module
* added many framework-fixes via "Fork Queue" from froyo (github.com/voku/sm_android_frameworks_base)
* added framework-fixes from kernelzilla [froyo] (github.com/kernelzilla/android_frameworks_base)
* added framework-fixes from CyanogenMod [gingerbread] (github.com/voku/sm_android_frameworks_base)
* added framework-fixes from LiquidSmoothROMs (gingerbread) (github.com/LiquidSmoothROMs/android_frameworks_base)

BETA3
* added "VOKU"-kernel v1.7A [with Qbanin's touch driver] (24bpp) as default
* converting to ALL2EXT2 only if it's at EXT2 (luismaf, voku1987)
* updated GPS-config / NTP-config  [gps.conf] (voku1987)
* updated APN-config [apns-conf.xml] (voku1987)
* SGM boot_logo/boot_animation [without yellow color ;)] (samdroid.net community)
* updated / added install-script (voku1987)
* code fixes & clean-up (voku1987)
* optimized build flags (voku1987)
* added Intercept 3D drivers
* added 640x480 Camera with 30FPS to MP4 (maciek4323)
* added "RealCalc"-App => removed "Calculator"-App
* added "LauncherPro"-App => removed "ADWLauncher"-App
* added "MIUI-Music"-App => removed default "Music"-App (jankomuz)
* added "Email"-App with policies fix for Exchange => removed default "Email"-App
* added "QQPlayer"-App => removed "RockPlayer"-App
* added "ES File Explorer"-App => removed default FileManager
* added "QuickPic"-App => removed "Gallery3D"-App
* added default keyboard (android.git.kernel.org/?p=platform/packages/inputmethods/LatinIME.git)
* removed "Genkiller"-App
* updated some Apps (Google Maps, Superuser, Mms, Phone, Contacts, SM-Settings, Settings, Terminal Emulator, Browser...)
* updated "block advertising" (voku1987)
* updated png-lib v1.2.46 (github.com/CyanogenMod/android_external_libpng)
* updated jpeg-lib optimized for armv6 (github.com/mansr/android_external_jpeg)
* updated zlib v1.2.5 (github.com/CyanogenMod/android_external_zlib)
* updated SQLite v3.7+ (with sync off) (voku1987)
* updated libcamera (without sources?!)
* updated dropbear [ssh-daemon] (github.com/tpruvot/android_external_dropbear)
* updated Memory-Cache for webkit (github.com/voku/android_external_webkit)
* updated Sound-Control / Sound-Mixer (github.com/voku/android_hardware_alsa_sound)
* updated default theme-images & animation (voku1987)
* fixed Bluetooth-bug (criminal)
* fixed Market-install-bug (voku1987)
  - download cache will be stored now on your SD-card (/sdcard/.cache/)
* fixed earphone without mic bug
  - hear your caller through the headphones and talking via Mobile
* added faster boot-animation (surV)
* added configurable Bluetooth timeout (voku1987)
* added Norwegian translation (AreEdw)
* added "About ROM" in "Settings"-App (github.com/DroidConcepts/android_packages_apps_DroidConceptsSettings)
* added quieter camera-click-sound (voku1987)
* added "vim" (github.com/CyanogenMod/android_external_vim)
* added "SSSwitch" v1.3.4 (voku1987)
  - I/O Scheduler = BFQ
  - optimized net-settings
  - optimized I/O-settings
  - "low-memory task killer" settings configurable via "ssscfg" in the "Terminal Emulator"-App
  - CPU-settings are disabled by default
  - "keep App in memory"-settings are disabled by default
* added framework-fixes from peteralfonso [gingerbread] (github.com/peteralfonso/platform_frameworks_base)
* added framework-fixes from CyanogenMod [gingerbread] (github.com/CyanogenMod/android_frameworks_base)
* added framework-fixes from android [gingerbread] (github.com/android/platform_frameworks_base)
* added framework-fixes from pcfighter [froyo] (github.com/pcfighter/platform_frameworks_base)

BETA2
* Android 2.2.2 (AOSP)
* big code clean-up (darth-llamah)
* Bluetooth discoverability configurable (CyanogenMod, nebkat)
* clock text color fixes (nebkat)
* CM FileManager enabled (cadavre)
* DownloadManager and Browser from Gingerbread (nebkat)
* Email policies fix for Exchange (cadavre)
* extended SMS/MMS writing area to 6 lines in portrait (cadavre)
* framework cleanups (nebkat)
* locking in memory fix for Phone, Contacts and Superuser (cadavre)
* modified build flags and scripts (CyanogenMod, LeshaK, guybrusht)
* power button disabled in lockscreen (cadavre)
* PowerWidget - more long-press options (cadavre)
* rotary answer for calls (nebkat)
> RTL for framework and webkit (Y6b, cadavre) [available as additional package]
* SGM logo/anim (samdroid.net community)
* SMParts cleanup (nebkat)
* SMS send to wrong recipient fix (cadavre)
* some build fixes (Piskor)
* status bar PowerWidget new options (nebkat)
* sync off for sqlite databases improves in speed (XDA, cadavre)
* xml importing from CM and SGM fixed (cadavre)
* lockscreen improvements: (CyanogenMod, nebkat)
  - rotary lockscreen unlock drag down
  - music addons
  - battery % info
  - tab vibration on/off
  - mms/phone tab custom apps
* Android fixes: (submitted by Piskor)
  - DNS fix for wifi
  - Change default DNS server for Tethering
  - Introduce a list of all the audio files
  - Telephony: Fix radio state printing
  - Telephony: Process MT SMS with MTI set to 3
  - Fixing counting the number of days in call log screen
  - Change in media scanner to set correct date
  - frameworks/base/telephony: Release wakelock on RIL request send error
  - Changing connect and response timeout
  - Bluetooth OBEX timeout problem
  - Avoid leaking sockets
  - Launcher is missing anti-aliasing
  - java.lang.RuntimeException:Unable to pause activity (com.android.settings.applications.StorageUse)

BETA1
* new kernel WLAN module to avoid SoDs (Lukiqq)
* final DPad music controls (cadavre)
* final framework theme text colors (cadavre)
* possibility of locking Phone and Contacts in memory so phone can be more like phone (cadavre)
* integrated Intercept3D drivers (cadavre)
* smooth YouTube HQ playing (cadavre thanks to Intercept)
* you can use CM and SM .xml theme files now (cadavre)
* Finnish localization (FI translation team) [fi-rFI]
* GB green clock text color (Freedom)
* Parrot autopairing fix (cadavre)
* latest ADWLauncher (nebkat)
* looping ringtone (criminal)
* avoid immediate turning on/off wifi freeze (cadavre)
* lockscreen overlap fix (cadavre)
* Live Wallpapers enabled (cadavre)
* using OpenVPN-android-settings app (cadavre)
* minor changes (nebkat, piskor, cadavre)

pre-beta-2 (alpha_b2)
* [source] vendor & device trees cleaning and fixing (LeshaK)
* DPad music controls fixes (cadavre)
* SMParts bug fixes (cadavre)
* YouTube hq play fix (cadavre)
* new gapps 20110301 (piskor)
* new Superuser and su lib (cadavre/criminal)
* fix for default statusbar text colors (cadavre)
* OpenVPN fixes (cadavre)
* HU translation (HU translation team)
* SMParts translations (Samdroid.net community)
* "Launcher settings" bug fix (cadavre)
* 3 secs long-press BACK to kill (cadavre)
* minor changes (SM team)

pre-beta-1 (alpha_b1)
* initial build of SM (cadavre)
* added SM-froyo specific prop settings (guybrusht)
* included official Gingerbread theme (cadavre)
* hi-res png for GB theme (Kyojin)
* Ubuntu fonts (cadavre)
* Statusbar music controls (cadavre)
* settings for HOLD button (cadavre)
* keep SU in memory to avoid non-granting su access (cadavre)
* volume button orientation mapping (cadavre)
* orientation listener changes (cadavre)
* wake screen on new notification (f.e. sms, reminder, usb...) (cadavre)
* new CMParts adapted from Gingerbread (cadavre)
* created SMParts based on new CMParts (nebkat)
* framework removals: (cadavre)
- Bluetooth HID
- mouse pointer

 

—————————————–

 

Battery Calibration

1.1) Battery Calibration? -> “Calibration needs to be done after flashing a new ROM, but you can calibrate any time you think your battery is miscalibrated. This program does it by removing the batterystats.bin system file. The OS generates a new clean batterystats file soon, thus any fake information from the previous ROM is removed.
It’s suggested, but not necessary, to let the phone fully discharge after calibration, then charged to 100% without break.” 

1.2) Battery Calibration! -> “If anyone has a battery drain after an update/kernel change, wipe batterystats via recovery. At first, charge your phone to 100% when it’s on. turn it off and connect the charger again. Wait till the battery on the screen says “battery fully charged”. Disconnect the charger & reboot directly into the recovery and wipe the batterystats.” 

PS: maybe you can also try this App for calibrate your battery -> Easiest way i found to calibrate my battery

2.) More Battery Life Out of Your Android
What do you do when your battery is about to die …??

2.1) Use the Power Widget to Easily Toggle GPS, Bluetooth, Wireless, and Screen Brightness

2.2) 3G – requires a lot of power, so you can choose “2G Only” 

2.3) Backlight – adjust the backlight to be less bright (Settings –> Display –> Brightness)

2.4) Wi-Fi – disable Wi-Fi when you don’t need it

2.5) Bluetooth – disable Bluetooth when you don’t need it

2.6) GPS – disable GPS when you don’t need it

2.7) Disable Apps that Sync Constantly

For example you can use the “k-9”-Email App instead of the built-in Email application and activate the Push technology from “k-9” to get you mails. 

2.8) Background-Apps

Try the OS Monitor-App to see how much resources your running Apps consume!!!

But also other background-apps like twitter, facebook etc. can reduce the battery-time, so you can change the Update-Interval (Settings –> Background Updates) or try e.g. “MinFreeManager”-app or “SSSwitch” and configure the kernel settings to kill background-apps without installing a app for killing apps BUT this will reducing the multitasking features from your phone! 

2.9) More general Information

-> Complete Guide to Maximizing Your Android Phone’s Battery Life – How-To Geek

3) Battery Manager Apps

Maybe you can also try a Battery Manager App, but I don’t need/use it and if you try the above tips I think you will also not need it 
– “SuperPower
– “JuiceDefender

 

—————————————–

 

You can download more Apps for Spica here -> APKitchen  Files for Spica  (sugarsync.com is free (5 GB)) & here you can find some -> Wallpapers for Android 

Cross-Compiling Android Kernel – Samsung GALAXY SPICA I5700

Hier möchte ich kurz erklären wie du mit Ubuntu (oder wie in meinem Fall Lubuntu) den Kernel von deinem Spica neu kompilieren kannst.

 

CAP2011012613141
CAP2011012613141

 

1.) Pakete nachinstallieren
aptitude install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev gawk texi2html texinfo automake libtool cvs gcj git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev texinfo gcj

 

2.) crosstool-ng installieren
cd ~
wget http://ymorin.is-a-geek.org/download/crosstool-ng/crosstool-ng-1.9.2.tar.bz2
tar -xjf crosstool-ng-1.9.2.tar.bz2
cd crosstool-ng-1.9.2/
./configure --prefix=${HOME}/ctng
make
make install

 

3.) Cross-Compiling installieren
export PATH=${PATH}:${HOME}/ctng/bin
cd ~
mkdir toolchain-build
cd toolchain-build

wget http://suckup.de/uClibc-0.9.31.config
wget http://suckup.de/toolchain-build.config
mv toolchain-build.config .config

ct-ng menuconfig
"C-library"  ---> (${HOME}/toolchain-build/uClibc-0.9.31.config) Configuration file 
ct-ng build
Abwarten… und hoffen ;-)

 

———-
ggf. muss man vorher noch die Quellen ändern, falls der Server auf der Gegenseite mal gerade nicht antwortet, in diesem (meinen) Fall war dies “mpfr” …
cd ~/ctng
grep -Ri mpfr * | grep get
vim lib/ct-ng-1.9.2/scripts/build/companion_libs/mpfr.sh
… nun habe ich in der Funktion “do_mpfr_get” die URL zu der angegebenen Datei ersetzt, fertig! Alternativ kann man die Dateien auch per Hand herunterladen und in das Verzeichnis ~/toolchain-build/targets/tarballs/ kopieren… ;-)
———-

 

4.) Kernel-Quellen per git herunterladen und anpassen
cd ~
mkdir i5700.2
cd i5700.2
git clone git://github.com/ch33kybutt/i5700-initramfs-froyo-2.6.29.6
mkdir kernel
cd kernel
git clone git://github.com/ch33kybutt/i5700-kernel
cd i5700-kernel
Nun den Pfad zum initramfs anpassen …
vim config.0.1
z.B.: (lars durch deinen User-Namen ersetzen)
[...]
CONFIG_INITRAMFS_SOURCE="/home/lars/i5700.2/i5700-initramfs-froyo-2.6.29.6/"
[...]
cp config.0.1 .config
… und auch die nächste Datei müssen wir ein wenig anpassen … (wobei ich dies per vim erledigt habe! :wq zum speicher)
vim /home/lars/i5700.2/i5700-initramfs-froyo-2.6.29.6/initrd.arm.initramfs_list
:%s/\/home\/ch33kybutt\/kernel\/i5700-initramfs-froyo-2.6.29.6\//\/home\/lars\/i5700.2\/i5700-initramfs-froyo-2.6.29.6\//g
vim Makefile
[...]
CROSS_COMPILE  := /home/lars/ownapps/arm-spica-linux-uclibcgnueabi/bin/arm-spica-linux-uclibcgnueabi-
[...]

 

5.) Cross-Compiling konfigurieren

make menuconfig
"General setup" -> Initramfs source file ("/home/lars/i5700.2/i5700-initramfs-froyo-2.6.29.6/initrd.arm.initramfs_list")
ggf. Versionsnummer etc. anpassen:
vim ~/i5700.2/i5700-initramfs-froyo-2.6.29.6/init.rc

 

6.) Cross-Compiling durchführen
Habe meinen Kernel mit folgenden FLAGS kompiliert… wenn jemand eine bessere Lösung hat würde ich dieser gerne hören…
make
cd ~/i5700.2/kernel/i5700-kernel/arch/arm/boot/
tar -cvf new_kernel_PDA.tar zImage

 

7.) neuen Kernel auf dem Android installieren
oder man versucht dies per ADB, habe dies jedoch noch nicht getestet…
adb push zImage /sdcard
adb shell
/xbin/bml_flash boot /sdcard/zImage

 

weitere Infos:

Screencasts direkt vom Android

In diesem kleinen HowTo möchte ich kurz zeigen, wie man Screencasts von seinem Android erstellen kann.


1.) “droid VNC server”-App installieren

Bevor wir das besagt App über den Market installieren können, müssen wir das Smartphone rooten, dass heißt uns vollen Zugriff auf das Gerät verschaffen. (z.B. für Samsung Spica: Android 2.2 Froyo (CyanogenMod))


2.) per ADB einen Port weiterleiten

Wie die “Android Debug Bidge” im allgemeinen funktioniert habe ich bereis in einem anderem Blog-Post erwähnt -> Android Debug Bridge (adb) – HowTo

In diesem Fall rufen wir folgenden Befehl auf, um einen TCP-Port von Andoid direkt mir einem TCP-Port von unserm Betriebssystem zu verbinden.


adb forward tcp:5901 tcp:5901


weite Infos findest du hier -> developer.android.com/guide/developing/tools/adb.html#forwardports


3.) VNC-Viewer + CamStudio installieren (für Windows)

Nun müssen wir uns nur noch einen VNC-Programm und ein Bildschirm-Recorder installieren, ich habe mich z.B. für “RealVNC Viewer” und “CamStudio” entschieden. Besonders schön finde ich, dass man sein Android auch per VNC steuern kann und so während des Aufnahme das Smartphone gar nicht in die Hand nehmen muss… :-)


Demo: