Malo sie udzielam, ale w tym wypadku podziele sie moim wlasnym osiagnieciem (pod namowa niektorych osob ;p). Tak podobno nie ma app2sd dla Spice z romem 2.1:
jak widac da sie, jest tylko jeden maly problem - wszystko trzeba z reki robic, nie udalo mi sie opracowac jeszcze automatu ktory to by robil, zaleta - ma sie rownoczesnie dostepne i nowy storage i stary.
Przepis w skrocie (root wymagany):
- robimy partycje na karcie sd (mozna znalezc na sieci jak to sie robi)
- podlaczamy telefon do kompa i teraz:
adb shell
su
mkdir /data_old
mkdir /data_new
mount -t ext2 /dev/block/vold/179:2 /data_new
i teraz najgorsza zabawa, trzeba zrobic kopie wszystkich plikow z /data - nie jest to proste - czemu? bo root na spice ma jakis dziwny problem z uprawnieniami, chownem trzeba zmieniac uprawnienia by przechodzila kopia, ale potem jest zabawa z nadawaniem ich z powrotem. Ja to zrobilem w inny sposob:
cat /dev/stl5 > /sdcard/data-stl5.img
przegranie pliczku na kompa, pod linuxem podmontowanie tak:
mount -o loop data-stl5.img /punkt/montowania
nastepnie spakowanie zawartosci /punkt/montowania (do tar.gz), przegranie go na telefon, wypakowanie, i zabawa z chownem
ostatni krok to wydanie polecenia pod adb:
# mount -o bind /data_new /data
i sprawdzenie czy wszystko dziala, jak nie, uruchamiamy ddms'a z sdk i patrzymy w logi, jesli sa problemy z uprawnieniami, zaczyna sie zabawa w nadawanie - mi na szybko pomoglo zmienienie wszystkich uprawnien dla katalog /data/system i /data/apk oraz /data/apk-private na 777...
kwestia otwarta jest jeszcze dodanie montowania partycji z karty do startu systemu i binda, jak to rozwiaze to postaram sie moze zrobic skrypt ktory ulatwi migracje, ale nie obiecuje - zalezy to od mojego wolnego czasu (tak swieta byly ;p)
Połączone: Kwiecień 07, 2010, 00:25:11
ok poprzednia wersja sprawiala pewne problemy (np. zapetlone wykladanie sie panteonu ;p), oto nowa wersja, sprawdzona i dziala - plik z zalacznika nalezy rozpakowac na karte pamieci i nastepnie wydac polecenia:
cp /sdcard/app2sd.sh /data/local/tmp/
cp /sdcard/app2sd.mount /data/local/tmp/
chown root.root /data/local/tmp/
chmod 775 /data/local/tmp/app2sd.sh
a nastepnie:
cd /data/local/tmp/
./app2sd.sh
po skonczeniu pracy skryptu trzeba sprawdzic czy istnieja wszystkie pliki w /data_new/app/, /data_new/app-private i /data_new/dalvik-cache
o tym ze karta pamieci musi miec partycje ext2 dodatkowa nie bede wspominal - jedynie jedna bardzo wazna sprawa - ta partycja musi byc za partycja fat, czyli jako druga. Testowalem na 512MB partycji - dziala bez problemow.
W razie problemow z dzialaniem systemu nie trzeba robic wipe, wystarczy podczas bootowania ze podlaczymy telefon do komputera, w momencie jak zniknie animowane logo samsunga wpisujemy:
adb shell
su
remount rw
cd /system/etc/
cat install-recovery.sh | grep -v bind > install-recovery.sh-clean
cat install-recovery.sh-clean > install.recovery.sh
rm install-recovery.sh-clean
remount ro
jesli zrobimy to wystarczajaco szybko zanim uruchomi sie sam dalvik i odpali launcher'a - mamy dzialajacy poprawnie system bez restartu
w innym wypadku mozna zrobic sobie profilaktycznie restarta telefonu (shell -> reboot)
dodatkowa porada - jesli w testach wyjdzie ze wszystko dziala poprawnie, to mamy na karcie przygotowana przez skrypt kopie bezpieczenstwa plikow z /data/app i /data/app-private (stan sprzed modyfikacji), dzieki temu mozna wyczyscic sobie /data_old/app i /data_old/app-private ze zbednych plikow i zwolnic troszke miejsca dodatkowego. Miejsce to jest przydatne podczas instalacji apk - jesli system wyswietli komunikat o bledzie otwarcia pliku apk i braku pamieci to znaczy ze brakuje wolnego miejsca na /data_old - wtedy jedyna metoda to przeczyszczenie tych katalogow w tamtym miejscu. Przywracania z kopii nie bede podawal bo chyba kazdy na googlu znajdzie jak rozpakowywuje sie pliki tar.gz.
Aha to wersja beta, nie biore odpowiedzialnosci za ewentualne uszkodzenia systemu/telefonu (nie powinny miec miejsca - ale rozne przypadki sie zdarzaja). W wypadku tej modyfikacji nie wgrywamy niczego na stale do romu, wiec po wipe wszystko powinno dzialac po staremu.
I jeszcze jedno - jesli pojawia sie jakies problemy z dzialaniem skryptu - piszcie smialo