To compile ICS:
1) Download Android SDK and ensure ADB is working from any directory.
2) Install required libraries:
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 lib32readline5-dev lib32z-dev
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown
libxml2-utils
For Ubunut 10.10:
Code:
sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so
For Ubuntu 11.10:
Code:
sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
4) Make directories:
Code:
mkdir -p ~/bin
mkdir -p ~/android/system
5) Install the repo:
Code:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
Code:
cd ~/android/system/
repo init -u git://github.com/CyanogenMod/android.git -b ics
repo sync
6) Setting up Galaxy Mini source:
Code:
cd ~/android/system/device/samsung
git clone https://github.com/teamhacksung/android_device_samsung_tass
* Now you should have SGM source in samsung directory, rename the the folder to tass. (if it is not already like that)
6.1) After that navigate to tass folder:
Code:
cd ~/android/system/device/samsung/tass
6.2) Connect your device to PC and do:
6.3 (optional) If you don't have the permissions:
Code:
adb kill-server
sudo adb start-server
7) Building from source:
Code:
cd ~/android/system
. build/envsetup.sh
lunch tass-eng
make -j1 || make -j1 otapackage
7.1) If it shows unknown architecture armv6-vfp:
I don't know how to compile for armv6, but as far as I know armv6 is compatible with armv5, so we can build it for armv5te.
To do that:
Code:
cd ~/android/system/device/samsung/tass
gedit BoardConfig.mk
Find:
Code:
TARGET_ARCH_VARIANT := armv6-vfp
Rename to:
Code:
TARGET_ARCH_VARIANT := armv5te
Also I heard there is problems with JIT on armv6 so find:
Code:
WITH_JIT := true
ENABLE_JSC_JIT := true
Rename to:
Code:
WITH_JIT := false
ENABLE_JSC_JIT := false
Repeat step 7
The SGM source may need editing, for example, I had some errors. But it may be also due to my ****ty PC (I mean very, very ****ty PC)