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
 
Komutu yazmadan önce adb shell yazmayı unutmuşum sorunum çözüldü. Sizi meşgul ettiysem özür dilerim.
Kendimizin belirlediği "end" boyutunu önceki bölümün "end" boyutu ile diğer bölümün "start" boyutu arasından rastgele mi seçiyoruz?
 
Son düzenleme:
Komutu yazmadan önce ADB Shell yazmayı unutmuşum sorunum çözüldü. Sizi meşgul ettiysem özür dilerim.
Kendimizin belirlediği "end" boyutunu önceki bölümün "end" boyutu ile diğer bölümün "start" boyutu arasından rastgele mi seçiyoruz?

Evet hocam, oluşturacağınız bölümün boyutu bu "start" ve "end" arasında ki boyut olacaktır.
 
bölümleri sildim ama daha sonra yeniden oluştururken sanırım 29 yani cacheye yeteri kadar alan ayırmamışım bu yüzden hata verdi ben de 28 e kadar bölümleri silip yeniden bölümleri oluşturmaya başladım ama şöyle bir uyarı veriyor. Ne yapmalıyım?
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel?
Önceki bölümlendirme şeklim
25 724992s 3522559s 2797568s ext2 system
26 3522560s 3883007s 360448s recovery
27 3883008s 4145151s 262144s odm
28 4145152s 4249599s 104448s ext4 persist
29 4249600s 4528127s 278528s ext4 cache
30 4528128s 4530175s 2048s frp
31 4530176s 30533631s 26003456s ext4 userdata




Şimdiki bölümlendirme şeklim

25 724992s 3522559s 2797568s ext2 system
26 3522560s 3883007s 360448s recovery
27 3883008s 4145151s 262144s odm
28 4145152s 4249599s 104448s ext4 persist




bu s yi mb şeklinde nasıl yazarım (unit MB print all) bu komutla çözdüm
 
Son düzenleme:
Bölümleri sildim ama daha sonra yeniden oluştururken sanırım 29 yani cacheye yeteri kadar alan ayırmamışım bu yüzden hata verdi ben de 28'e kadar bölümleri silip yeniden bölümleri oluşturmaya başladım ama şöyle bir uyarı veriyor. Ne yapmalıyım?
Warning: The resulting Partition is not properly aligned for best performance.
Ignore/Cancel?
Önceki bölümlendirme şeklim
25 724992S 3522559S 2797568S ext2 System.
26 3522560S 3883007S 360448S recovery.
27 3883008S 4145151S 262144S odm.
28 4145152S 4249599S 104448S ext4 persist.
29 4249600S 4528127S 278528S ext4 cache.
30 4528128S 4530175S 2048s FRP.
31 4530176S 30533631s 26003456s ext4 userdata.


Şimdiki bölümlendirme şeklim.

25 724992S 3522559S 2797568S ext2 System.
26 3522560S 3883007S 360448S recovery.
27 3883008S 4145151S 262144S odm.
28 4145152S 4300000S 154849S ext4 persist.


Warning hatası bağlamalar yüzünden oluyor, doğru ayarlamayı yaptığınızdan eminseniz ıgnore yazarak geçebilirsiniz.

Sizin konunuzda System bölümünün boyutunu arttırıp gapps kurmak için uğraşıyorduk.
Sistem bölümünün boyutu hala aynı gözüküyor. Sanırım sisteme kadar olan bölümleri silip geri yeniden oluşturdunuz.
Bu s yi MB şeklinde nasıl yazarım (unit MB print all) bu komutla çözdüm.

MB tipinde olan tabloyu kendi konunuzdan paylaşın burada ceza yemiyelim, sizin konuyu takipteyim.
 
Ne yapacağımı buldum sistemi 2448MB yaptım. Daha sonra diğer dosya sistemlerinden mb kısıyorum ama o aradaki yaklaşık 700-750 mb'ı çıkarabilecek miyim göreceğim.
Sanırım çıkabilecek boş alanı abartmışım bu yüzden önce hesaplayacağım sonra yapacağım.
Her şeyi yaptım korku filmi edasıyla ve beynim yandı ama sonunda şöyle bir hata verdi. Mount: Mounting /dev/block/mmcblk0p31 on /data failed: Invalid argument.
 
Son düzenleme:
Her şeyi yaptım korku filmi edasıyla ve beynim yandı ama sonunda şöyle bir hata verdi. Mount: Mounting /dev/block/mmcblk0p31 on /data failed: Invalid argument.

Hatanın sebebi TWRP, diskin numarası değiştiği için artık 31. sırada değil.
TWRP'yi bu yüzden disk sırasına göre değil bölüm adına göre bağlantılarını yapmak gerekiyor.

Dilerseniz TWRP dosyanızı bana atın bağlantıları tekrar yapıp size geri atayım.

Eğer data bölümü hala 31. sırada ise TWRP üzerinden format data seçeneği ile bölüme format atın.
 

Geri
Yukarı