N900 komplett újrapartícionálása
Bizonyára sok N900 tulajdonos fejében megfordult már, hogy miért áll csak 2GB rendelkezésre az alkalmazások számára, hiszen ez sokszor nem elég. Amennyiben az alkalmazásokat úgy konfiguráljuk, hogy azok a MyDocs partícióból is használjanak területet, akkor még a készülék funkcionalitásából is veszítünk (nem használhatjuk azt mass storage módban). Következzen egy olyan leírás, amely lépésről lépésre bemutatja, hogyan tudjuk átszabni a beépített 32GB-os tárhelyet, mindenféle adatvesztés nélkül. (A cikk megértéséhez haladó szintű informatikai ismeretek szükségesek!)
Mindenekelőtt szükségünk lesz egy legalább 2GB szabad területtel rendelkező microSD memóriakártyára, és a PC-re feltelepített WinSCP programra. Saját dolgunk megkönnyítése érdekében telepítsük és konfiguráljuk be a PuTTY segédprogramot WinSCP alatt, valamint frissítsük telefonunk szoftverét legalább PR1.2 -re.
Első lépésként csatlakoztassuk a készüléket adatkábellel mass storage módot választva a számítógépünkhöz, majd innen minden adatról csináljunk másolatot számítógépünkre, ugyanis ez a tartalom a folyamat során elvész, és utólag vissza kell majd másolnunk.
Második lépésként a microSD kártyán tárolt adatokról is csináljunk mentést (amennyiben van) majd formázzuk le a memóriakártyát ex3fs fájlrendszerre. (Windows alatt egy ingyenes program innen tölthető le) Amennyiben a memóriakártyánk már eleve ext3 fájlrendszert tartalmaz, tartalmától az egyszerűség kedvéért szabaduljunk meg a folyamat alatt. Alternatív megoldásként létrehozhatunk egy üres ext3fs partíciót, de ez esetben ügyeljünk rá, hogy a mmcblk1p1 helyett mmcblk1pX -et használjunk, ahol az ‘X’ a partíció megfelelő sorszámára utal.
Harmadik lépésként válasszuk le a készüléket a PC-ről, majd parancssoron keresztül végezzük el a mountolásokat: a memóriakártyát fel, a MyDocs -ot pedig le a rendszerről
mount /dev/mmcblk1p1 /mnt
umount /home/user/MyDocs
Negyedik lépésként másoljuk kompletten a /home/ mappa tartalmát az újonnan felmountolt meghajtóra. Ez el fog tartani egy ideig.
cp -a /home/* /mnt
Következő lépésben nyissuk meg szerkesztésre a /usr/lib/genfstab.awk fájlt és kommenteljük ki (# sor elejére) az alábbi kódsorokat a fájlban:
start == 1 && $6 == 83 && !__home {
printf "%s /home ext3 %s 0 0\n", $1, home_opts
printf "/home/opt /opt none bind\n"
__home++
}
start == 1 && $6 == "c" && !__fat {
printf "%s /home/user/MyDocs vfat %s 0 0\n", $1, fat_opts
__fat++
}
Ezáltal biztosítottuk, hogy indításkor ne mountolja be a rendszer a beépített tárolóról a /home és a /home/user/MyDocs partíciókat. Helyette viszont a memóriakártyát kell használni /home partíciónak, ehhez nyissuk meg szerkesztésre a /etc/event.d/rcS-late fájlt, keressük ki azt a sort ami a “-f /usr/lib/genfstab.awk > $tmp_fstab” kódrészletet tartalmazza, majd utána illesszük be a fájlba az alábbi kódsorokat:
echo "/dev/mmcblk1p1 /home ext3 rw,noatime,errors=continue,commit=1,data=writeback 0 0" >> $tmp_fstab
echo "/home/opt /opt none bind" >> $tmp_fstab
ezáltal biztosítottuk, hogy következő indításkor a beépített memória helyett a memóriakártyáról mountolja a rendszer a /home meghajtót, és ne keresse és mountolja be a /home/user/MyDocs meghajtót, ezáltal a beépített memória szabad marad a kézi partícionálásra. Indítsuk újra a készüléket. (Figyelem! Amennyiben eddig bármelyik lépést hibásan végeztük el, bekapcsoláskor egy darab téglát fogunk a kezünkben tartani, nem pedig egy működőképes N900-at! Ha a rendszer folyamatosan újraindul, akkor egyértelmű: csak a reflash segíthet!)
Míg a rendszer újraindul, készítsük el az új partíciós tábla adatait. Hozzunk létre valahol gépünkön egy új fájlt (lehetőleg kiterjesztés nélkül), amit én a leírásban egyszerűen “new_pt_table” -nek fogok nevezni.
A fájl első sora mindenféleképpen a “unit: sectors” kódsort tartalmazza. A következő (minimum) 4 sor pedig egy táblázat-szerű elrendezést követel meg, az értékek a következőek:
/dev/[eszköznév][partíció sorszáma]; START=[LBA szektorszám]; SIZE=[méret szektorban megadva]; ID=[partíció típusa]
Az első START érték kompatibilitási okokból a 64.-ik LBA szektorra mutasson. A következő sorokban a START érékéhez adjuk hozzá a SIZE értékét, így tudjuk megmondani, hogy a következő partíció melyik LBA szektortól kezdődjön. ID-k az alábbiak lehetnek: “c” (0C) jelöli a FAT32 partíciót; 83 (83) jelöli az ext3fs partíciót; 82 (82) jelöli a linux/swap partíciót.
Amennyiben nem értük el a minimális 4 sort, hozzuk létre akkor is a mezőket és töltsük fel őket nulla értékekkel!
Fontos: a partíció mérete (SIZE értéke) mindig osztható legyen 32KB-tal! Mivel a partíció méretét szektorban adjuk meg, de mi byte-tal számolunk, ezért átváltáskor ne feledjük, hogy 1 szektor = 512 byte.
Mintafájl, amely 1280MB SWAP, 6656MB /home és ~23GB /home/user/MyDocs partíciókat ír elő:
unit: sectors
/dev/mmcblk0p1 : start= 64, size= 46145536, Id=c
/dev/mmcblk0p2 : start= 46145600, size= 13631488, Id=83
/dev/mmcblk0p3 : start= 59777088, size= 2621440, Id=82
/dev/mmcblk0p4 : start= 0, size= 0, Id= 0
Megj.: 1280MB SWAP partícióra semmi szükség, a gyári 768MB érték is bőven elegendő.
tipp: a jelenlegi partíciós táblát a “sfdisk -d /dev/mmcblk0 > old_pt_table” paranccsal menthetjük le
Másoljuk fel a fájlt az N900-ra, majd az alábbi paranccsal írjuk fel az új partíciós táblát (ne feledjük hogy ha a parancs kiadásakor a fájlnév útvonala eltér, úgy azt is adjuk meg):
sfdisk --no-reread /dev/mmcblk0 < new_pt_table
Majd egy újabb újraindítás következik.
Újraindítás után a “df” paranccsal ellenőrizzük, hogy a /home/user/MyDocs meghajtót a rendszer nem mountolta-e fel. Ha ez mégis megtörtént, válasszuk le.
umount /home/user/MyDocs
Majd egyesével formázzuk le az új partíciókat…
mkfs.vfat -F32 -s64 /dev/mmcblk0p1
mkfs.ext3 /dev/mmcblk0p2
mkswap /dev/mmcblk0p3
… és mountoljuk fel őket:
swapon /dev/mmcblk0p3
mount /dev/mmcblk0p2 /mnt
Másoljuk vissza a memóriakártyáról a belső memóriára a /home meghajtó tartalmát (ez ismételten el fog tartani egy ideig):
cp -a /home/* /mnt
Utolsó lépésekként pedig nyissuk meg újra az /usr/lib/genfstab.awk fájlt, és távolítsuk el a korábban beírt # szimbólumokat a sorok elejéről, és a /etc/event.d/rcS-late fájlból is töröljük ki a cikk elején beírt extra 2 sort.
Ezután indítsuk újra a készüléket, majd adatkábellel másoljuk vissza a MyDocs tartalmát.
Ha mindent jól csináltunk, akkor minden adatunk megmaradt, és egy nagyobb /home partíció fogad bennünket értelemszerűen a MyDocs kárára.
u.i.: mass storage módban csak akkor fogjuk ismételten látni a memóriakártyát, ha azt készülékünk segítségével megformázzuk, és kézzel csatlakoztatjuk:
mount /dev/mmcblk1p1 /media/mmc1
Referenciaanyagok:









Szólj hozzá Te is!
You must be logged in to post a comment.