Tutorial Flash dan Jasa Root Android

Inilah Cara Build Rom Super.img Untuk Ponsel Android versi Terbaru

cara build rom super.img
cara build rom super.img

Build Rom Super.img Untuk Ponsel Android – Xiaomi, Samsung, Oppo, Vivo dan beberapa merk lainnya sudah menerapkan system dengan extensi Super.img. Perkembangan system android saat ini semakin pesat, banyak perubahan sejak 3 tahun terakhir.

Build Rom Super.img Android Terbaru

Banyak cara untuk rebuild rom super.img terbaru ini, dengan menggunakan linux extractor atau menggunakan tools berbayar kamu bisa mengextract firmware super.img ini. Nah pada artikel ini OprekMania akan membahas Build rom Super.img untuk android terbaru ini.

Kali ini saya akan membahas tentang mengedit super.img dan memodifikasi system.img di dalamnya.
Di android 10 atau diatasnya, beberapa merk handphone sudah tidak menemukan system.img di ROM atau Firmwarenya, karena google mulai menggunakan Dynamic Partitions (Partisi Dinamis) untuk ukuran images yang lebih fleksibel, simak penjelasannya dibawah ini, semoga bisa dimengerti.

Implementasi Dynamic Partitions (Partisi Dinamis)

Partisi dinamis diimplementasikan menggunakan modul dm-linear device-mapper di kernel Linux. Partisi super berisi metadata yang mencantumkan nama dan rentang blok dari setiap partisi dinamis dalam super. Selama init tahap pertama, metadata ini diuraikan dan divalidasi, dan perangkat blok virtual dibuat untuk mewakili setiap partisi dinamis.

Saat menerapkan OTA, partisi dinamis secara otomatis dibuat, diubah ukurannya, atau dihapus sesuai kebutuhan. Untuk perangkat A/B, ada dua salinan metadata, dan perubahan hanya diterapkan pada salinan yang mewakili slot target.

Karena partisi dinamis diimplementasikan di ruang pengguna, partisi yang dibutuhkan oleh bootloader tidak dapat dibuat dinamis. Misalnya, boot, dtbo, dan vbmeta dibaca oleh bootloader, dan karenanya harus tetap sebagai partisi fisik.

Setiap partisi dinamis dapat menjadi bagian dari grup pembaruan. Grup ini membatasi ruang maksimum yang dapat digunakan oleh partisi dalam grup tersebut. Misalnya, sistem dan vendor dapat menjadi bagian dari grup yang membatasi ukuran total sistem dan vendor.

Untuk perangkat yang diluncurkan dengan Android 10, buat partisi bernama super. Partisi super menangani slot A/B secara internal, jadi perangkat A/B tidak memerlukan partisi super_a dan super_b yang terpisah. Semua partisi AOSP read-only yang tidak digunakan oleh bootloader harus dinamis dan harus dihapus dari GUID Partition Table (GPT). Partisi khusus vendor tidak harus dinamis dan dapat ditempatkan di GPT.

Untuk memperkirakan ukuran super, tambahkan ukuran partisi yang dihapus dari GPT. Untuk perangkat A/B, ini harus mencakup ukuran kedua slot. Gambar dibawah ini menunjukkan contoh tabel partisi sebelum dan sesudah dikonversi ke partisi dinamis.

build rom super.img

Partisi dinamis yang didukung adalah:

  • Sistem
  • Vendor
  • Product
  • Sistem Ext
  • ODM

Untuk perangkat yang diluncurkan dengan Android 10, opsi baris perintah kernel androidboot.super_partition harus kosong sehingga perintah sysprop ro.boot.super_partition kosong.

Cara Build Rom Super.img Dengan Linux

Sebelumnya android menerapkan system.img, namun untuk versi android 10 keatas, kita akan melihat super.img yang menyertakan beberapa partisi di dalamnya.

Jadi Dalam hal ini, untuk melakukan modifikasi di rom / firmware, kita harus membongkar super.img dan setelah itu membongkar system.img dan kemudian membangunnya lagi atau istilahnya BUILD ROM dam REBUILD ROM.

Syarat untuk Build ROM:

  • Silahkan Install ubuntu ke dalam vbox atau bisa menggunakan Ubuntu on Windows ( UBUNTU WSL )
  • File ROM android 10 yang sudah menggunakan Super.img untuk kita diedit.

Langkah – Langkahnya

  • Unpack (bongkar/extract) super.img
  • Mengubah ukuran system.img untuk memasukkan MODS kami ke rom
  • Mounting system.img
  • Lakukan modifikasi sesuai selera kita
  • Repack atau Mount ulang system.img
  • Mengecilkan system.img yang telah di edit ke ukuran minimal
  • Menyatukan lalu Build menjadi super.img yang baru
  • Setelah semua ready, silahkan Install atau Flash ke Androidmu.

Cara Build ROM satu persatu

Semoga kalian bisa mengikutinya, dan pastikan telah menginstall linux pada laptop, atau bisa menggunakan ubuntu wsl yang bisa berjalan pada windows 10 atau windows 11 kalian.

1. Unpack (bongkar/extract super.img

Hal Pertama yang kita lakukan adalah extract file super.img, mungkin file ini dalam format sparse jadi kita perlu membuatnya menjadi raw image
Buka terminal di direktori super.img dan ketik:

simg2img super.img super.ext4.img

Nah sekarang kita sudah memiliki file baru bernama super.ext4.img, kita akan melakukan modifikasi pada file tersebut guys.

sekarang kami mendapat file baru bernama super.ext4.img: kami bekerja dengan file ini.

Ada beberapa cara untuk membongkar super.img:
misalnya: menggunakan imjtool atau menggunakan lpunpack

Jika kalian menggunakan imjtool ikuti cara dibawah ini

./imjtool.ELF64 super.img extract

Namun jika terjadi error, silahkan gunakan akses root linux dengan cara ini

sudo ./imjtool.ELF64 super.img extract

Saya akan menggunakan alat lpunpck (Alat resmi dari google)

Cari lpunpack dan super.ext4.img dan buka terminal di folder ini, kemudian ketik:

./lpunpack super.ext4.img

tunggu beberapa menit, dan setelah itu folder kita akan terlihat seperti ini

build rom super.img

2. Mengubah ukuran system.img untuk memasukkan MODS kami ke rom

Silahkan kembali ke terminal lagi, lalu ketik :

fallocate -l 2G system.img

Perintah ini mengalokasikan lebih banyak ruang untuk system.img (Mengubah ke 2GB), lalu setelah itu ketik:

resize2fs system.img 2G

Perintah ini meningkatkan ukuran sistem file partisi menjadi 2GB

3. Mounting system.img

Buat folder baru dan pasang:

mkdir system
sudo mount -t ext4 -o loop system.img system

Sekarang direktori sistem berisi semua file system.img.

4. Lakukan modifikasi sesuai selera kita

Untuk membuat perubahan atau modifikasi, kalian harus menggunakan akses root (super user) saat kamu mengetik perintah. Ketika memodifikasi gunakan perintah sudo. Kamu bisa menggunakan file explorer dengan izin superuser, lalu ketik perintah:

sudo nautilus

5. Repack atau Mount ulang system.img

Sebelum melakukan langkah ini, pastikan terminal tidak ada di direktori system atau beberapa subdir nya, jika iya, ketika aja begini:

cd ..

Untuk naik ke folder atasnya (lakukan berkali – kali agar sampai berada di direktori yang sama seperti gambar diatas tadi).

Setelah berada pada folder yang tepat, silahkan ketik:

sudo umount system
e2fsck -yf system.img

(memperbaiki kesalahan sistem file)

6. Mengecilkan system.img yang telah di edit ke ukuran minimal

langsung aja ketik perintah seperti ini:

resize2fs -M system.img

perbaiki sistem file lagi dengan mengetik perintah:

e2fsck -yf system.img

7. Menyatukan lalu Build menjadi super.img yang baru

Seperti yang kalian lihat pada gambar diatas, dalam kasus yang saya lakukan ini, file berisi super.ext4.img berisi 3 partisi berbeda yaitu:

  1. system.img (yang kita modifikasi)
  2. vendor.img
  3. product.img

Mungkin dalam kasus lain apabila berbeda merk kemungkinan ada perbedaan, namun kalian bisa ikuti logika pertintah berikut dan jangan copy paste doank.

Tools lain ketika saya search di google seperti lpmake digunakan untuk repack super.img. Cara kerja tools tersebut menciptakan super.img kosong dengan semua hal header dan mendorong partisi kedalamnya.

Jadi mari kita mulai dengan Rebuild ulang. Silahkan ikuti dokumentasi tutorial toolsnya disini : lpmake

Kita harus pendapatkan setiap ukuran dalam partisi file, kita bisa melakukan perintah:

stat -c '%n %s' system.img

silahkan lanjutkan untuk semua file partisi, rubah nama file system.img menjadi nama file yang akan di repack ulang.

Dan ini merupakan langkah yang rumit, mohon jangan di copy, biar paham ya guys.

./lpmake --metadata-size 65536 --super-name super --metadata-slots 1 --device super:4294967296 --group main:3139354624 --partition system:readonly:1434726400:main --image system=./system.img --partition vendor:readonly:330866688:main --image vendor=./vendor.img --partition product:readonly:1373761536:main --image product=./product.img --sparse --output ./super.new.img

Penjelasan mengenai perintah diatas:

  • –metadata-size: Ukuran maksimum yang dapat digunakan oleh metadata partisi. Entri partisi menggunakan 64 byte dan entri tingkat menggunakan 16 byte. Saya pikir 65536 harus bekerja dalam banyak kasus.
  • –metadata-slots – Jumlah slot yang tersedia untuk menyimpan metadata. Ini harus sesuai dengan jumlah slot pembaruan pada perangkat, 2 untuk perangkat A/B dan 1 untuk non-A/B.
  • –device super: Ukuran partisi “super” pada perangkat. Itu harus sama persis, dan harus dibagi rata dengan ukuran sektor (512 byte).
  • –group main:4293513600: jumlah semua ukuran file partisi
  • –partition system:readonly:1577095168:main –image system=./system.img : Setiap ukuran file partisi dengan izin (readonly) dan masukan file img

Selesai…

Credit : xda-developer

8. Setelah semua ready, silahkan Install atau Flash ke Androidmu.

Nah pada tutorial ini, sebelum melakukan flashing, kamu harus melakukan Unlock Bootloader agar bisa melakukan flash pada perangkat androidmu.

Untuk tutorial flashnya, oprek mania akan memberikan tutorial flashing pada kesempatan lain. atau silahkan googling.

Selamat mencoba dan semoga berhasil, namun jika tidak juga berhasil silahkan menghubungi adamin untuk melakukan pemesanana jasa build rom super.img, tentu saja tidak gratis, karena butuh pemikiran extra dan kehati hatian saat rebuild rom. Hargailah jerih payah seseorang yang telah membantu mempermudah jalanmu.

Demikian penjelasan Cara Build Rom Super.img android 10 – 11, semoga bisa memberikan pencerahan bahwa ternyata lumayan susah untuk membuat sebuah custom rom, atau build rom. Silahkan kalian pelajari sampai mahir. Sekian dan terima gaji…

Mau Konsultasi Oprek?
© Oprek Mania
Halo Bosku, mau Konsultasi atau Butuh JASA OPREK Android? Silahkan Hubungi Admin langsung ya!