lunedì 16 maggio 2011

Guida per creare la swap file su sd per Android

Vi spiegerò come creare un file di swap da mettere nelle vostre rom cucinate, dovete avere una sd con almeno una partizione ext e l'app link2d, scaricabile dal market. Per creare il file di swap dovete utilizzare l'emulatore terminale di android già root o adb, da terminale andate sulla cartella /sdcard e digitate questi comandi:


dd if=/dev/zero of=swapfile bs=1M count=64


con questo comando ho creato un file di swap da 64Mb io vi consiglio di creare un file a partire da 32Mb a un massimo di 128Mb


mkswap swapfile


questo comando imposta il file di swap


swapon swapfile


questo comando l'attiva

dopo di che copiate il file swap in /data/sdext2/, io ho questa cartella perchè ho una partizione ext2 di 512Mb sulla sd, ma penso che cambia in base al filesystem creato, questa guida è stata testata solo con l'app link2SD. Affinchè tale swapfile possa funzionare sul nostro ideos, dovete avere un kernel con attivo il supporto swap. Il problema che rimane è quello di avere la swap attiva ad ogni avvio, per far questo dobbiamo creare uno script su /etc/init.d/. Lo script avvia il file swap sulla sd ext ad ogni avvio di android, ma visto che android monta la sd e la sd ext dopo che legge questi script, dobbiamo montare noi prima l'sd ext tramite questi comandi:

01swap esempio nome script su /etc/init.d


#!/system/bin/sh 
mount -t ext2 /dev/block/vold/179:2 /data/sdext2  
/system/xbin/swapon /data/sdext2/swapfile


dovete ovviamente modificare lo script in base al vostro filesystem se è ext2,ext3 o ext4


come vedete dallo script nel primo comando io ho montato la sd ext in /data/sdext2, vi chiedete come mai non montarla sulla /mnt/sdcard? perchè facendo cosi avete molti problemi con l'installazione delle app e l'avvio di alcune che utilizzano l'sd, sopratutto avremo problemi se lasciamo il file swap attivo sulla sd, infatti quando andiamo a collegare il cellulare acceso al pc la sd non viene montata, per questo grazie anche al consiglio di JackTheVendicator e di EstebanSannin, è meglio metterla nella partizione ext. Ma se non volete un avvio automatico della swap ad ogni avvio ma volete avviarla e stopparla voi, potete creare due scripts in /system/xbin come ho fatto io, cioè cosi:

startswap nome file per avviare la swap


#!/system/bin/sh 
#Avvio della swap 
swapon /data/sdext2/swapfile


stopswap nome file per stoppare la swap


#!/system/bin/sh 
#Stop della swap 
swapoff /data/sdext2/swapfile


Ah dimenticavo per rendere gli script eseguibili dovete dare questo comando:

chmod +x nomescript


Per vedere se la vostra swap è attiva date su adb o terminale il comando

free
se non capite la guida o non riuscite, aspettate la prossima versione della Dronix che avrà la swap. Come vedete ho modificato la guida, perchè finalmente almeno per ora ho trovato la soluzione per avere la swap ad ogni avvio senza alcun problema, ne di app ne di mantaggio della sd. Enjoy :D

Kernel Developer Ideos U8150

Ho pubblicato i sorgenti del Kernel 2.6.32.9 del nostro Ideos su github, le modifiche fatte sono state al file acpuclock.c per l'under e overclock da parte di EstebanSannin il file è stato aggiornato, inserito nei files board-msm7x25.c e synaptics_i2c_rmi_tm.c le modifiche di TJ Style per il multitouch e messo a disposizione anche la sua patch, aggiunto da me in /drivers/cpufreq/ tre governor l'interactive, smartass e il minmax. L'interactive è stato preso dal kernel della cyanogen, lo smartass e il minmax dal kernel hero 2.6.29.flykernel che li trovate su github. Ho inserito pure il file .config per compilare il kernel, in questo file è stato abilitato il supporto per ext3/4, swap, cifs, nfs, tun e tap per openvpn, abilitati tutti i governor. Ho voluto pubblicare tutti i sorgenti modificati per coloro che volessero apportare qualche altra modifica e compilarsi a loro piacimento tramite il menuconfig il loro kernel personale. Ringrazio il team di Myppc, di Hacklabproject e il mitico EstebanSannin che mi ha e hanno dato molti consigli e idee.Il repo verrà aggiornato anche con i lavori di esteban o di altri sviluppatori che vogliono migliorare il kernel.


Link: https://github.com/morfes/Kernel-IdeosU8150/tree/master/kernel-ideos


Guida di Esteban per compilare il kernel ideos: http://www.hacklabproject.org/drupal/content/compilare-il-kernel-dellhuawei-u8150-ideos

Guida mia per compilare il kernel ideos:

- prima di tutto utilizzate una distro debian o ubuntu
- poi aggiungete in /etc/apt/sources.list alla fine del file questi repository:

# -- Emdebian sources.list entries
#
# deb http://www.emdebian.org/debian/ unstable main
# deb http://www.emdebian.org/debian/ testing main
deb http://www.emdebian.org/debian/ lenny main

- date questi comandi per installare la toolchain di emdebian per la crosscompilazione di architetture arm:

sudo apt-get update

sudo apt-get install gcc-4.3-arm-linux-gnueabi linux-libc-dev-armel-cross

- infine andate nella cartella principale del vostro kernel e compilate con questi comandi:

export ARCH=arm

export CROSS_COMPILE=arm-linux-gnueabi-

make menuconfig

make

Happy Hacking!

lunedì 2 maggio 2011

Morfes Droid 0.1 per Android Ideos

La Morfes Droid è una rom per android ideos U8150 smartphone della Huawei, creata da me, essa contiene un kernel compilato da me con frequenze da 49Mhz a 691Mhz, supporto per il filesystem ext3 - ext4 e tun - tan per openvpn. Per maggiore info visitate il mio post sul forum MyPPC: Morfes Droid 0.1.

Link dove scaricarla: Morfes Droid 0.1 .