Rehber TWRP ile bölümleri yeniden boyutlandırma

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 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.


1654610569255.png


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.

1654610969413.png


Bu ekran bizi karşılıyor ise şu an parted içindeyiz demektir.

1654611069160.png


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.

1654611886792.png


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
 
Şey telefonu recovery reboot yapmıştım. Ondan dolayı kabloyu da çıkardım yani parted yeri gitti bu nedenle data hangi bölümde emin değilim.
 
parted'a alabildim ve hala 31. bölümde
Konuyu kirletmeyip kendi konuma geçelim mi?
 

Dosya Ekleri

  • Ekran Görüntüsü - 2022-06-07 23-19-04.png
    Ekran Görüntüsü - 2022-06-07 23-19-04.png
    230,1 KB · Görüntüleme: 23
Şöyle yazmıştım
Kod:
(parted) mkpart 31 ext4 2575MB 15.6GB                                     
(parted) name 31 userdata
 

Yeni konular

Geri
Yukarı