İpucu APatch ve KernelSU kurulumu

onununcuköy

Hevesli Üye
Uzman Üye
MIUI Sever
SMS Onaylı
Adım
Erkan
Cihazım
Yok
Konum
Eskişehir
Katılım
6 Mart 2017
Konular
6
Mesajlar
2.341
Çözümler
44
Tepkime puanı
1.908
Puanları
188
Otadan gğncelleme yaptıktan sonra apatch aktifliğini yitiriyor tekrar yama yapılmasını istiyor bu durumda ne yapılmalı?
Otadan indirdiğimiz dosyanın içerisindeki stok boot imaj dosyasını mı tekrar yamalamalıyız yoksa romu kurarken makyajladığımız cmd ile gömdüğümüz boot imaj dosyasını mı alıp apatch ile tekrar yamalamalıyız?
Tekrar yamalayın garanti olsun.

Büyük sistem güncellemeleri, android sürüm değişiklikleri vs. olmadığı sürece kernel de değişmiyor yani eski boot.img kullanılabiliyor. (Eski sürümdeki kernel ile yeni sürümdeki kerneli karşılaştırarak doğrulamasını yapabilirsiniz.) Fakat yamalamak zaten zor bir işlem değil bu nedenle hiç risk almadan yeni boot.img dosyasını yamalayıp yüklemeniz daha sağlıklı olur.
 

ıhlamur

Kıdemli Üye
Kıdemli Üye
MIUI Sever
Adım
erca
Cihazım
9t pro
Yaş
35
Konum
hatay
Katılım
19 Mayıs 2020
Konular
36
Mesajlar
317
Tepkime puanı
61
Puanları
43
Tekrar yamalayın garanti olsun.

Büyük sistem güncellemeleri, android sürüm değişiklikleri vs. olmadığı sürece kernel de değişmiyor yani eski boot.img kullanılabiliyor. (Eski sürümdeki kernel ile yeni sürümdeki kerneli karşılaştırarak doğrulamasını yapabilirsiniz.) Fakat yamalamak zaten zor bir işlem değil bu nedenle hiç risk almadan yeni boot.img dosyasını yamalayıp yüklemeniz daha sağlıklı olur.
Yeni sürüm sadece recovery olarak paylaşıldığından içinden boot.img dosyasını bulamıyorum bir önceki sürüm fastboot olarak paylaşıldığından bi önceki sürümün boot imaj dosyasını alıp yamalasam bir sorun olur mu?
 

TheSingular

Yeni Üye
Yeni Üye
MIUI Sever
SMS Onaylı
Adım
Batuhan
Cihazım
Xiaomi 12T
Yaş
31
Konum
Trabzon
Katılım
29 Ağustos 2019
Konular
1
Mesajlar
43
Tepkime puanı
41
Puanları
18
Yeni sürüm sadece recovery olarak paylaşıldığından içinden boot.img dosyasını bulamıyorum bir önceki sürüm fastboot olarak paylaşıldığından bi önceki sürümün boot imaj dosyasını alıp yamalasam bir sorun olur mu?
programı kullanıp payload.bin içinden boot.img'yi çıkartabilirsiniz. Önceki sürümün boot.img'sini kullanmayı deneyebilirsiniz ama son zamanlarda her güncellemede boot.img'nin içindeki bir şeyleri değiştirdiklerini görüyorum. (hash değerleri farklı çıkıyor)

Kullanımı:
Programı indirip zipten çıkarın. İndirdiğiniz recovery rom'u zipten çıkarın. Recovery zipten çıkan payload.bin'i programın exe'sinin üstüne getirip bırakın.

Komut satırında .\payload-dumper-go X:\klasörler\payload.bin şeklinde bir komutla da çalıştırmak mümkün.

Kusura bakmayın cevap geç oldu.
 
Son düzenleme:

Hengen

Üye
MIUI Sever
Acemi Üye
SMS Onaylı
Adım
Hengen
Cihazım
Mi 14T Pro
Konum
Konya
Katılım
17 Mart 2018
Konular
2
Mesajlar
93
Tepkime puanı
27
Puanları
18
Kernelsu yükledim ve örnek olarak termux uygulamasına süper kullanıcı ile root yetkisi verdim. Ancak telefonu yeniden başlattığımda bu yetki gidiyor ve tekrardan yetki vermem gerekiyor. Macrodroid gibi uygulamalar kullanıyorum ve 7 - 8 uygulamamın direkt olarak root a erişmesi gerekiyor ancak telefonu yeniden başlattığım zaman root yetkileri sıfırlanıyor. Bunu nasıl çözebilirim?

Kernelsu yu init_boot.img patchleyip flashlayarak kurdum.

Kernel sürümü: 6.1.57-android14-11-g2de3ba70f288-ab11985 038

Telefon model (codename): Mi 14T Pro (rothko)
 

TheSingular

Yeni Üye
Yeni Üye
MIUI Sever
SMS Onaylı
Adım
Batuhan
Cihazım
Xiaomi 12T
Yaş
31
Konum
Trabzon
Katılım
29 Ağustos 2019
Konular
1
Mesajlar
43
Tepkime puanı
41
Puanları
18
Kernelsu yükledim ve örnek olarak termux uygulamasına süper kullanıcı ile root yetkisi verdim. Ancak telefonu yeniden başlattığımda bu yetki gidiyor ve tekrardan yetki vermem gerekiyor. Macrodroid gibi uygulamalar kullanıyorum ve 7 - 8 uygulamamın direkt olarak root a erişmesi gerekiyor ancak telefonu yeniden başlattığım zaman root yetkileri sıfırlanıyor. Bunu nasıl çözebilirim?

Kernelsu yu init_boot.img patchleyip flashlayarak kurdum.

Kernel sürümü: 6.1.57-android14-11-g2de3ba70f288-ab11985 038

Telefon model (codename): Mi 14T Pro (rothko)
O sorun bende APatch ile oluyor nedense. Kernel Flasher'a root yetkisi veriyorum her sefer yeniden başlatınca yetki kayboluyor.



bmax121:
This issue occurs when you uninstall or install anew; Try the latest version, closing permissions should prevent it from happening. and if it still doesn't work, reopen the issue.

emptylight370:
This is so dumb..... It happens because on /data/adb/ap/package_config there is still the old uid, so if you edit the file and put the new uid root will be granted. Maybe a sort of fix would be appreciated as it's annoying but it's a workaround I guess. Obliviously I'm using latest apatch app. About suggestion i get it, it's to make remove from the file the entire line of the app including the old id and at reboot insert the new one probably, I hope I'm not overthinking

Buralara göre bu sorun bir uygulama silinip yeniden yüklendiğinde olabiliyor, /data/adb/ap/package_config dosyasından o uygulamayla ilgili olan satırı silmek ya da uid'sini düzeltmek sorunu düzeltecektir.
 
Son düzenleme:

Hengen

Üye
MIUI Sever
Acemi Üye
SMS Onaylı
Adım
Hengen
Cihazım
Mi 14T Pro
Konum
Konya
Katılım
17 Mart 2018
Konular
2
Mesajlar
93
Tepkime puanı
27
Puanları
18
O sorun bende APatch ile oluyor nedense. Kernel Flasher'a root yetkisi veriyorum her sefer yeniden başlatınca yetki kayboluyor.
Sizde sadece 1 uygulamada mı böyle oluyor? Bende tüm uygulamalar için bu geçerli.
 

TheSingular

Yeni Üye
Yeni Üye
MIUI Sever
SMS Onaylı
Adım
Batuhan
Cihazım
Xiaomi 12T
Yaş
31
Konum
Trabzon
Katılım
29 Ağustos 2019
Konular
1
Mesajlar
43
Tepkime puanı
41
Puanları
18
Sizde sadece 1 uygulamada mı böyle oluyor? Bende tüm uygulamalar için bu geçerli.
Bende sadece bir uygulamadaydı. O dosyayı tümden silmeyi deneyin.

Düzenleme: Sayende aklıma geldi bakıp kendimde düzelttim :D
 

Hengen

Üye
MIUI Sever
Acemi Üye
SMS Onaylı
Adım
Hengen
Cihazım
Mi 14T Pro
Konum
Konya
Katılım
17 Mart 2018
Konular
2
Mesajlar
93
Tepkime puanı
27
Puanları
18
Bende sadece bir uygulamadaydı. O dosyayı tümden silmeyi deneyin.

Düzenleme: Sayende aklıma geldi bakıp kendimde düzelttim :D
Yok bende hala aynıydı ben de KernelSU github sayfasından kendi kernelime uygun olan .img dosyalarını flashlamaya çalıştım ancak init_boot'a flashlarken Writing 'init_boot_b' FAILED (remote: 'Value too large for defined data type') hatasını aldım.
e o zaman boot'a flashlıyım dedim ve telefon bootloop'a düştü, orjinal boot ve init_boot u flashladım yine bootloop da kaldı, boot u orjinal, init_boot'u kernelsu ile patchlediğim dosyayı flashladığım zaman bu sefer de otomatikman recovery moduna atmaya başladı ve aşağıda kırmızı şekilde "could'nt initalize user 0" yazısı geldi. Ve anladım ki benim telefonun userdata klasöründe sıkıntılar oluşmuş... (ne alaka bilmiyorum ve sıfırlamak zorunda kaldığımı anladım :/) miflash uygulaması ile save user data yı kullanarak rom attım ancak yine recovery'e attı ve yine aynı hatayı aldım. Clean all ile rom attım yine recovery e attı ve aynı hatayı aldım. Dedim ki bittik :D, neyse ki reboot yapınca telefon açıldı. Çok kötü bi deneyim oldu ancak kernelsu benim için bitti... Yine de yardımcı olmaya çalıştığın için teşekkürler. Takıntılı olduğum için çözeyim dedim, telefonu sıfırlayarak çözmüş olduk :D
 

TheSingular

Yeni Üye
Yeni Üye
MIUI Sever
SMS Onaylı
Adım
Batuhan
Cihazım
Xiaomi 12T
Yaş
31
Konum
Trabzon
Katılım
29 Ağustos 2019
Konular
1
Mesajlar
43
Tepkime puanı
41
Puanları
18
Yok bende hala aynıydı ben de KernelSU github sayfasından kendi kernelime uygun olan .img dosyalarını flashlamaya çalıştım ancak init_boot'a flashlarken Writing 'init_boot_b' FAILED (remote: 'Value too large for defined data type') hatasını aldım.
e o zaman boot'a flashlıyım dedim ve telefon bootloop'a düştü, orjinal boot ve init_boot u flashladım yine bootloop da kaldı, boot u orjinal, init_boot'u kernelsu ile patchlediğim dosyayı flashladığım zaman bu sefer de otomatikman recovery moduna atmaya başladı ve aşağıda kırmızı şekilde "could'nt initalize user 0" yazısı geldi. Ve anladım ki benim telefonun userdata klasöründe sıkıntılar oluşmuş... (ne alaka bilmiyorum ve sıfırlamak zorunda kaldığımı anladım :/) miflash uygulaması ile save user data yı kullanarak rom attım ancak yine recovery'e attı ve yine aynı hatayı aldım. Clean all ile rom attım yine recovery e attı ve aynı hatayı aldım. Dedim ki bittik :D, neyse ki reboot yapınca telefon açıldı. Çok kötü bi deneyim oldu ancak kernelsu benim için bitti... Yine de yardımcı olmaya çalıştığın için teşekkürler. Takıntılı olduğum için çözeyim dedim, telefonu sıfırlayarak çözmüş olduk :D
init_boot flashlamaya çalışmak büyük hata olmuş hocam. Onu flashlamak sadece Magisk'te gerekiyor(o da telefonda init_boot varsa). Magisk flashlanacak telefonda init_boot bulunmazsa ya da APatch ve KernelSU flashlanacaksa boot kullanılmalı.

Bunun sebebi de şöyle: Magisk telefonlarda ramdisk diye bir şeyi yamalıyor. Bu ramdisk'te, telefonun çalışmasında bootloader'dan sonra çalışacak ilk kodları içeren /init dosyaları var bu /init kodları, ilk başta kernel olmak üzere telefonu çalışmasını sağlayacak her şeyi tek tek çalıştırıyor. Magisk bu dosyaları yamalayarak bize root erişimini açıyor.

APatch ve KernelSU'da bu root erişimi kernel üzerinden açılıyor. APatch ve KernelSU kernel'i farklı yöntemlerle yamalıyor. KernelSU'da ayrıca github'taki hazır yamalanmış GKI kernelleri kullanmak da mümkün (Benim önerim mümkünse cihazdaki kernelin yamalanması). Bu sebepten dolayı aralarında ufak farklılıklar var.

Düzeltme: KernelSU'yu yüklerken LKM de denilen yamalama yönteminde ramdisk'i yamalıyormuş artık. Bu değişikliği kaçırmışım.

Şimdi bunların init_boot veya boot ile alakası ne diye soracaksın. Android işletim sistemi her yıl, her yeni versiyonda değişen ve gelişen bir işletim sistemi. Bu değişikliklerden bazıları telefonun nasıl çaşladığı ile alakalı. Google'ın bu konuda yapdığı değişikliklerden bazıları, Android'in belli parçalarını biribirinden bariz bir şekilde ayırmak ve telefonları genel bir taban yazılım üzerinde çalışabilir hale getirmeye yarıyor. Bundan sonra telefon üreticileri bu parçaları ayrı ayrı modifiye edip, telefonlara uyarlayıp kendi Android yazılımlarını üretebiliyor.

Bu parçaların arasında /init'i içeren ramdisk ve cihazın kernel'i de dahil. Daha önceden bu ikisi birlikte boot.img içerisinde bulunuyordu. Ancak Android 13 ile gelen bir değişiklikle ramdisk, boot.img içerisinden çıkarıldı ve init_boot.img adında yeni bir yere konuldu. Kernel ise boot.img'nin içerisinde kaldı.

Android ile gelen değişiklikler arasında telefonun bu kadar derin bir kısmında oluşan değişiklikler önceden gelen versiyonlardan yapılan yükseltmeler sonrasında sıkıntı yaratabileceği için bu tür değişiklikler sadece yeni telefonlar için zorunlu tutuluyor. Üretildikleri zaman daha önceki Android versiyonlarına sahip telefonlar için (en son Android 12) bu tür değişiklikler mecburi değil. Ancak telefon üreticisi mümkünse ve isterse yine de bu tür değişiklikleri uygulayabiliyor. (Benim Xiaomi 12T buna bir örnek sayılabilir. Android 12 ile çıkmış olmasına rağmen init_boot bulunmakta. Düzeltme: Benim Xiaomi_12T'de init_boot.img yokmuş, yanlış hatırlıyormuşum :D).

Bu yüzden daha yeni telefonlarda ramdisk init_boot içinde olduğundan Magisk flashlarken init_boot.img'nin yamalanması gerekiyor. Daha eski telefonlarda itin_boot olmayacak, ramdisk, boot içinde olacaktır. O yüzden Magisk flashlarken boot.img'nin yamalanması gerekmektedir. Yine APatch ve KernelSU flashlarken kernel boot içinde olduğundan boot.img'nin yamalanması (ya da KernelSU flashlarken uygun bir GKI kerneli içeren boot.img ile değiştirilmesi de mümkün) gerekmektedir.

Düzeltme: Yukarıda da dediğim gibi KernelSU'yu yüklerken LKM de denilen yamalama yönteminde ramdisk'i yamalıyormuş artık. Bu değişikliği kaçırmışım. Bu yüzden yamalama sırasında init_boot.img vermek gerekiyor Magisk gibi. GKI modu yani doğrudan kernel değiştirerek yüklemede yine boot.img flashlanmalı.
 
Son düzenleme:

Lucas.Rintaro

Uzman Üye
Uzman Üye
MIUI Sever
SMS Onaylı
Adım
Lucas
Cihazım
Redmi Note 10 P
Yaş
32
Konum
İzmir
Katılım
15 Eylül 2019
Konular
17
Mesajlar
2.698
Çözümler
6
Tepkime puanı
1.563
Puanları
188
init_boot flashlamaya çalışmak büyük hata olmuş hocam. Onu flashlamak sadece Magisk'te gerekiyor(o da telefonda init_boot varsa). Magisk flashlanacak telefonda init_boot bulunmazsa ya da APatch ve KernelSU flashlanacaksa boot kullanılmalı.

Bunun sebebi de şöyle: Magisk telefonlarda ramdisk diye bir şeyi yamalıyor. Bu ramdisk'te, telefonun çalışmasında bootloader'dan sonra çalışacak ilk kodları içeren /init dosyaları var bu /init kodları, ilk başta kernel olmak üzere telefonu çalışmasını sağlayacak her şeyi tek tek çalıştırıyor. Magisk bu dosyaları yamalayarak bize root erişimini açıyor.

APatch ve KernelSU'da bu root erişimi kernel üzerinden açılıyor. APatch ve KernelSU kernel'i farklı yöntemlerle yamalıyor. KernelSU'da ayrıca github'taki hazır yamalanmış GKI kernelleri kullanmak da mümkün (Benim önerim mümkünse cihazdaki kernelin yamalanması). Bu sebepten dolayı aralarında ufak farklılıklar var.

Şimdi bunların init_boot veya boot ile alakası ne diye soracaksın. Android işletim sistemi her yıl, her yeni versiyonda değişen ve gelişen bir işletim sistemi. Bu değişikliklerden bazıları telefonun nasıl çaşladığı ile alakalı. Google'ın bu konuda yapdığı değişikliklerden bazıları, Android'in belli parçalarını biribirinden bariz bir şekilde ayırmak ve telefonları genel bir taban yazılım üzerinde çalışabilir hale getirmeye yarıyor. Bundan sonra telefon üreticileri bu parçaları ayrı ayrı modifiye edip, telefonlara uyarlayıp kendi Android yazılımlarını üretebiliyor.

Bu parçaların arasında /init'i içeren ramdisk ve cihazın kernel'i de dahil. Daha önceden bu ikisi birlikte boot.img içerisinde bulunuyordu. Ancak Android 13 ile gelen bir değişiklikle ramdisk, boot.img içerisinden çıkarıldı ve init_boot.img adında yeni bir yere konuldu. Kernel ise boot.img'nin içerisinde kaldı.

Android ile gelen değişiklikler arasında telefonun bu kadar derin bir kısmında oluşan değişiklikler önceden gelen versiyonlardan yapılan yükseltmeler sonrasında sıkıntı yaratabileceği için bu tür değişiklikler sadece yeni telefonlar için zorunlu tutuluyor. Üretildikleri zaman daha önceki Android versiyonlarına sahip telefonlar için (en son Android 12) bu tür değişiklikler mecburi değil. ANcak telefon üreticisi mümkünse ve isterse yine de bu tür değişiklikleri uygulayabiliyor. (Benim Xiaomi 12T buna bir örnek sayılabilir. Android 12 ile çıkmış olmasına rağmen init_boot bulunmakta.

Bu yüzden daha yeni telefonlarda ramdisk init_boot içinde olduğundan Magisk flashlarken init_boot.img'nin yamalanması gerekiyor. Daha eski telefonlarda itin_boot olmayacak, ramdisk boot içinde olacaktır. O yüzden Magisk flashlarken boot.img'nin yamalanması gerekmektedir. Yine APatch ve KernelSU flashlarken kernel boot içinde olduğundan boot.img'nin yamalanması (ya da KernelSU flashlarken uygun bir GKI kerneli içeren boot.img ile değiştirilmesi de mümkün) gerekmektedir.
Güzel bir açıklama olmuş hocam, teşekkürler clap~~
 
Üst Alt