Arşivler: Ağustos 2011

Android Dalvik Cache Alanını Başka Bölüme Taşımak

2 Yorum

29/08/2011 at 14:48Kategori:Android

Android yüklü cihazları root edip sonrasında kurcalamak ve yeni özellikleri, iyileştirmeleri uygulayıp takip etmek bazen çok eğlenceli olabiliyor. Kullandığım cihazların dahili hafızalarının ne kadar olduğu, sistemin nasıl çalıştığı ya da daha iyi nasıl çalışabileceği hep kurcaladığım ve uğraşmaktan zevk aldığım konulardan olmuştur. Yabancı ülkelerde de bu şekilde uğraşan ve daha profesyonel olarak kernel development ya da rom oluşturma gibi işleri yapanlar var. CynogenMod bunlardan birisi ve aralarında en profesyonel ve kaliteli olanlardan sayılabilir. Cynogen romlar ile cihazınızı 2.1/2.2 ve 2.3 android romlara yükseltebiliyorsunuz ve çoğu zaman orjinal romlardan daha çok kaliteli ve stabil bir cihaza sahip oluyorsunuz. Cynogenmod açık kaynak olarak ilerlediği için cynogenmod sitesinde desteklenmeyen telefonlar için  de çalışmalar yapılıyor ve telefon modeline özel romlar ve yeni kollar çıkıyor. Bu kadar cynogenmod tanıtımı yaptıktan sonra asıl yazının başlığında bahsedilen konuya geçebilirim.

Android işletim sistemi çalışırken birden çok disk bölmesi ( partition) ile çalışıyor. Bunlar
/system  : sistem uygulamalarının, araçlarının ve diğer configurasyon dosyalarının bulunduğu alan.
/data  : Sonradan kurulan uygulamaların ve uygulamalara ait verilerin ayrıca sistem başlangıcında üretilen dalvik-cache dosyalarının bulunduğu alan
/cache : Bazı uygulamalar tarafından geçici olarak kullanılan alan (android market vs. )

Bu 3 ana bölümden başka sistemde birkaç bölme daha bulunuyor fakat bu kısımlarda recovery dosyaları ve boot işlemi için gerekli dosyalar bulunuyor. Android sistemlerde çalışma anında sd-kart ve depolama aygıtları menusunden dahili hafıza olarak görüntülenen yer sadece /data kısmı oluyor. Örnek olarak benim cihazımda dahili 512 mb bellek bulunmasına rağmen data kısmı için ayrılan bellek sadece 145 Mb. Dalvik cache için yaklaşık 60 mb alanın da data kısmında kullanıldığını düşünürsek kullanım için sadece 90 mb gibi bir alan kalıyor. Bu sorunu aşmak için dalvik cache kısmını /cache dizinine taşıyıp sonrasında sembolik link etmek /data kısmında daha çok kullanılabilir alan sağlıyor. Aşağıda scripti ve recovery ile uygulanabilecek zip dosyasını ekliyorum. Ek olarak cihazınızın dizin yapısı aşağıdakinden farklıysa sistemi inceleyip buna göre tekrar kodları düzenlemeniz gerekebilir. Script Samsung Spica i5700 için uygulanmıştır.

dalvik-cache.zip

#!/system/bin/sh
#
# Move dalvik-cache to /cache
#
# Remove Debugger Mem Dumps

if [ ! -d /cache/dalvik-cache ]
then
	busybox rm -rf /cache/dalvik-cache /data/dalvik-cache
	mkdir /cache/dalvik-cache /data/dalvik-cache
fi

busybox chown 1000:1000 /cache/dalvik-cache
busybox chmod 0771 /cache/dalvik-cache

# bind mount dalvik-cache so we can still boot without the sdcard
busybox mount -o bind /cache/dalvik-cache /data/dalvik-cache
busybox chown 1000:1000 /data/dalvik-cache
busybox chmod 0771 /data/dalvik-cache

# remove debugger memory dumps
busybox rm -rf /data/tombstones/*