מדריך | פירק והרכבת מחיצת Super
-
התהליך קצת מורכב ודורש ידע
האחריות על המשתמש
שימו לב שיש לכם גיבוי למחיצה תקינה / לפני השינוייםלהוריד את הקבצים האלה לחלץ ולהריץ בטרמינל בנתיב של הקבצים
sudo ./install.sh
להריץ בטרמינל בנתיב של מחיצת ה super לפירוק המחיצה
sudo lpunpack super.img
נריץ ליצירת תיקייה בשם system
mkdir system
נריץ בטרמינל לפריסת הקבצים במחיצות המחולצות לתיקייה system שייצרנו
sudo mount -t ext4 -o loop filename.img system
אם יש שגיאה השתמשו בפקודה
sudo mount -o loop filename.img system
כעת הקבצים פרוסים בתיקיית system נווטו ובצעו שינויים באמצעות הטרמינל עם sudo
אריזת ה super
אחרי שגמרתם חזרו לנתיב שבה נמצאת תיקיית ה system ותריצו
sudo umount system
נקיש את הפקודה הבאה לבדיקת שגיאות במבנה המחיצות, (לבדוק את כל המחיצות)
sudo e2fsck -yf filename.img
נבדוק מה הגודל של כל קובץ באמצעות הפקודה
stat -c '%n %s' partition name
לבדיקה ב Mbstat -c '%n %s' partition name | awk '{printf("%s %.2f MB\n", $1, $2/1024/1024)}'
להתאים את הפקודה ולהריץ לאריזת ה super,
מכשירים עם מחיצות A\B
sudo lpmake \ --metadata-size 65536 \ --super-name super \ --metadata-slots 2 \ --device super:XXXXXXXX \ --group main:XXXXXXXX \ --partition system_a:readonly:XXXXXXXX:main --image system_a=./system_a.img \ --partition system_b:readonly:XXXXXXXX:main --image system_b=./system_b.img \ --partition vendor_a:readonly:XXXXXXXX:main --image vendor_a=./vendor_a.img \ --partition vendor_b:readonly:XXXXXXXX:main --image vendor_b=./vendor_b.img \ --partition product_a:readonly:XXXXXXXX:main --image product_a=./product_a.img \ --partition product_b:readonly:XXXXXXXX:main --image product_b=./product_b.img \ --sparse \ --output ./super.new.img
מכשירים עם מחיצות A בלבד
sudo lpmake \ --metadata-size 65536 \ --super-name super \ --metadata-slots 1 \ --device super:XXXXXXXX \ --group main:XXXXXXXX \ --partition system:readonly:XXXXXXXX:main --image system=./system.img \ --partition vendor:readonly:XXXXXXXX:main --image vendor=./vendor.img \ --partition product:readonly:XXXXXXXX:main --image product=./product.img \ --sparse \ --output ./super.new.img
פירוט הפקודה
גישה לפקודה
sudo lpmake
גודל הנתונים של המכשיר (לא הבנתי את הפקודה במדויק אבל למכשירי 64 ביט זה עובד)
--metadata-size 65536
שם המחיצה
--super-name super
הפרמטר הבא משתנה בין מכשיר עם מחיצות A\B שזה שווה ל 2 ולמכשירי A בלבד שווה ל 1
--metadata-slots 1\2
הגודל של מחיצת ה super
--device super:XXXXXXXX
גודל של כל המחיצות בתרגיל ועוד
--group main:XXXXXXXX
הגדרת מידע על כל מחיצה, לשנות רק את האיקסים לגודל של המחיצה
--partition system_a:readonly:XXXXXXXX:main --image system_a=./system_a.img --partition system_b:readonly:XXXXXXXX:main --image system_b=./system_b.img --partition vendor_a:readonly:XXXXXXXX:main --image vendor_a=./vendor_a.img --partition vendor_b:readonly:XXXXXXXX:main --image vendor_b=./vendor_b.img --partition product_a:readonly:XXXXXXXX:main --image product_a=./product_a.img --partition product_b:readonly:XXXXXXXX:main --image product_b=./product_b.img
הפרמטר הזה לא חובה אבל מומלץ, הוא מקטין את המחיצה לגודל הממשי שלה
--sparse
השם של הקובץ שייצא
--output ./super.new.img
הערות
אם הסקריפט לא עובד להעתיק את שני הקבצים האלה לספריית bin עם הרשאות 755
ניתן להשתמש עם הקבצים האלה ע"מ לפרק ולארוז בלבד (ללא פריסת הקבצים) ב cmd בווינדוס
אפשר לבצע עם מכונה וירטואלית כם כשהקבצים בכונן ווינדוס ולא על הכונן הוירטואלי של המכונה
ניתן לבצע את המדריך עם WSLקרדיטים
XDA משם המדריך נבנה
@Harwona על העזרה בהבנת הפקודות
הארות והערות כאןבמדריך הושקע זמן רב ורצון שיהיה נגיש לכולם אם יש לכם הערות לשיפור אשמח לשמוע -
-
-