Merhaba, rehberimde geliştiriciler için cihazınızda ki bölümleri yeniden boyutlandırma, yeni bölüm oluşturma ya da bir bölümü silme işlemini anlatacağım.
Parted dosyası ve cihazı hazır duruma getirme
ADB bu işlem esnasında işimizi oldukça kolaylaştıracaktır, ADB olmadan TWRP terminali ile de bu işlemleri yapabiliriz.
Parted dosyasını indirip herhangi bir klasöre atalım. Ben "C:\Rei'nin çalışma alanı" dizine atıyorum.
CMD'yi açarak parted dosyasını attığımız dizine
Parted dosyasını cihazımızın dahili hafızasına göndermek için
Şimdi bu dosyası TWRP'de çalışması için hazır hale getirmemiz gerekiyor. Öncelikle cihazımızın terminaline erişmek için
Dosya yı sbin klasörüne geçici olarak atıp chmoda almamız gerekiyor
Cihazımıza bölümleme yapmaya hazırız ama diskimizin adını bilmemiz gerekiyor. Diskin adını bilmiyor iseniz
Çoklu disk kullanımı varsa birden fazla sd* diskleri vardır, bu tip diskleri daha çok UFS depolama birimlerinde görüyoruz. MMC ise diskiniz muhtemelen mmcblk0 olacaktır.
Bölümleme işlemi
Ben "userdata" adlı bölümde oynama yapcağım, "userdata" bölümünden alıp "esp" bölümüne aktaracağım. "userdata" bölümüm "sda" diskinde bulunuyor.
Öncelikle bütün bağlantıları TWRP üzerinden kesiyoruz ve
Bu ekran bizi karşılıyor ise şu an parted içindeyiz demektir.
Buradan sonrası sizin yapacağınız işe göre değişiyor. Vendor olmayan cihaza vendor oluşturabilirsiniz, "userdata" bölümünden kısıp format atsanız dahi bile gitmeyen yeni bir bölüm oluşturabilirsiniz veya "System1" ve "data1" gibi bölümler oluşturup ek ROM kurmak için ayarlayabilirsiniz. Sizin özgür düşüncenize kalıyor.
Birkaç örnek verip rehberimi sonlandıracağım.
Yeni bölüm oluştururken yan yana olmasına özen gösterin. Bölüm boyutu belirlerken önce ki bölümün "end" boyutunu başa yazın ve bölüm boyutuna göre kendi "end" boyutunuzu sona yazın.
En son işimiz bittikten sonra
Yeni bölüm oluşturduysanız TWRP üzerinde bağlama yapmadığınız sürece gözükmez.
Bölümlerin yedekleri nasıl alınır?
Nasıl TWRP üzerinden kurulabilir bir. ZIP dosyası haline getirebilirim?
bir flashable ZIP dosyası oluşturup updater-script dosyasına aşağıdakine benzer bir şey uygulayabilirsiniz.
Tamamen sizin sorumluluğunuzdadır.
@Polorchen & @Umut Nas
Parted dosyası ve cihazı hazır duruma getirme
ADB bu işlem esnasında işimizi oldukça kolaylaştıracaktır, ADB olmadan TWRP terminali ile de bu işlemleri yapabiliriz.
Parted dosyasını indirip herhangi bir klasöre atalım. Ben "C:\Rei'nin çalışma alanı" dizine atıyorum.
CMD'yi açarak parted dosyasını attığımız dizine
cd C:\Rei'nin Çalışma alanı
komutuyla gidiyoruz.Parted dosyasını cihazımızın dahili hafızasına göndermek için
adb push parted /sdcard/
komutunu yazıyoruz.Şimdi bu dosyası TWRP'de çalışması için hazır hale getirmemiz gerekiyor. Öncelikle cihazımızın terminaline erişmek için
adb shell
yazıyoruz.Dosya yı sbin klasörüne geçici olarak atıp chmoda almamız gerekiyor
cp /sdcard/parted /sbin/ && chmod 755 /sbin/parted
komutu işimizi görecektir.Cihazımıza bölümleme yapmaya hazırız ama diskimizin adını bilmemiz gerekiyor. Diskin adını bilmiyor iseniz
ls /dev/block
ile diskleri listeleyebilirsiniz.Çoklu disk kullanımı varsa birden fazla sd* diskleri vardır, bu tip diskleri daha çok UFS depolama birimlerinde görüyoruz. MMC ise diskiniz muhtemelen mmcblk0 olacaktır.
Bölümleme işlemi
Ben "userdata" adlı bölümde oynama yapcağım, "userdata" bölümünden alıp "esp" bölümüne aktaracağım. "userdata" bölümüm "sda" diskinde bulunuyor.
Öncelikle bütün bağlantıları TWRP üzerinden kesiyoruz ve
parted /dev/block/sda
komutunu giriyoruz, daha önce dediğim gibi diskiniz farklılık gösterebilir.Bu ekran bizi karşılıyor ise şu an parted içindeyiz demektir.
p
ile disklerimizi listeleyebiliriz, rm "number"
ile bölümü silebiliriz, mkpart
komutu ile yeni bölüm oluşturabiliriz.Buradan sonrası sizin yapacağınız işe göre değişiyor. Vendor olmayan cihaza vendor oluşturabilirsiniz, "userdata" bölümünden kısıp format atsanız dahi bile gitmeyen yeni bir bölüm oluşturabilirsiniz veya "System1" ve "data1" gibi bölümler oluşturup ek ROM kurmak için ayarlayabilirsiniz. Sizin özgür düşüncenize kalıyor.
Birkaç örnek verip rehberimi sonlandıracağım.
rm 22
ve rm 21
yazarak belirlediğim bölümleri siliyorum.Yeni bölüm oluştururken yan yana olmasına özen gösterin. Bölüm boyutu belirlerken önce ki bölümün "end" boyutunu başa yazın ve bölüm boyutuna göre kendi "end" boyutunuzu sona yazın.
mkpart userdata ext4 1611MB 100GB
ve mkpart esp fat32 100GB 123GB
komutları ile yeni bölümler oluşturuyorum.En son işimiz bittikten sonra
quit
ile çıkış yapıyoruz ve cihazı tekrar recovery mod da başlatıyoruz.Yeni bölüm oluşturduysanız TWRP üzerinde bağlama yapmadığınız sürece gözükmez.
mke2fs -t ext4 /dev/block/.../by-name/"bölüm adı"
ile bölümü formatladıktan sonra mount /dev/block/.../by-name/"bölüm adı" /mnt
gibi bir komutla TWRP üzeridne oynama yapmadan /mnt dizinine bağlayabilirsiniz.Bölümlerin yedekleri nasıl alınır?
dd if=/dev/block/.../by-name/"bölüm adı" of=/sdcard/"bölüm adı".img
ile istediğiniz bölümün img olarak yedeğini alıp daha sonra fsatboot üzerinden yükleme yapabilirsiniz.Nasıl TWRP üzerinden kurulabilir bir. ZIP dosyası haline getirebilirim?
bir flashable ZIP dosyası oluşturup updater-script dosyasına aşağıdakine benzer bir şey uygulayabilirsiniz.
Kod:
set_progress(0.00);
ui_print("........................... ");
ui_print("........Repart............. ");
ui_print("........................... ");
set_progress(0.2);
ui_print(" ");
ui_print("Bağlantıları Kesme");
ifelse(is_mounted("/system"), unmount("/system"));
ifelse(is_mounted("/vendor"), unmount("/vendor"));
ifelse(is_mounted("/cache"), unmount("/cache"));
ifelse(is_mounted("/data"), unmount("/data"));
set_progress(0.5);
ui_print(" ");
ui_print("Script Çıkarma ve Kurulum");
package_extract_file("parted", "/tmp/parted");
set_perm(0, 0, 0777, "/tmp/parted");
package_extract_file("parted-komutları.sh", "/tmp/parted-komutları");
set_perm(0, 0, 0777, "/tmp/parted-komutları");
run_program("/tmp/parted-komutları");
delete_recursive("/tmp/parted-komutları");
ifelse(is_mounted("/system"), unmount("/system"));
ifelse(is_mounted("/vendor"), unmount("/vendor"));
ifelse(is_mounted("/cache"), unmount("/cache"));
ifelse(is_mounted("/data"), unmount("/data"));
set_progress(0.9);
ui_print(" ");
ui_print(" Tamamlandı! ");
set_progress(1.0);
run_program("/sbin/sh", "-c", "sleep 5");
run_program("/sbin/sh", "-c", "reboot recovery");
Tamamen sizin sorumluluğunuzdadır.
@Polorchen & @Umut Nas