آموزش ساخت ریکاوری CWMاز منبع(بخش چهارم)
با بخش چهارم در خدمتتان هستم در بخش پنجم آموزش ما پایان می یاید
مستقیم میریم برای آموزش اول فایل BoardConfig.mk را باز کنید باید مانند شکل زیر باشد
USE_CAMERA_STUB := true # inherit from the proprietary version -include vendor/lenovo/P780/BoardConfigVendor.mk TARGET_ARCH := arm TARGET_NO_BOOTLOADER := true TARGET_BOARD_PLATFORM := unknown TARGET_CPU_ABI := armeabi-v7a TARGET_CPU_ABI2 := armeabi TARGET_ARCH_VARIANT := armv7-a-neon TARGET_CPU_VARIANT := cortex-a7 TARGET_CPU_SMP := true ARCH_ARM_HAVE_TLS_REGISTER := true TARGET_BOOTLOADER_BOARD_NAME := P780 BOARD_KERNEL_CMDLINE := BOARD_KERNEL_BASE := 0x10000000 BOARD_KERNEL_PAGESIZE := 2048 # fix this up by examining /proc/mtd on a running device BOARD_BOOTIMAGE_PARTITION_SIZE := 0x105c0000 BOARD_RECOVERYIMAGE_PARTITION_SIZE := 0x105c0000 BOARD_SYSTEMIMAGE_PARTITION_SIZE := 0x105c0000 BOARD_USERDATAIMAGE_PARTITION_SIZE := 0x105c0000 BOARD_FLASH_BLOCK_SIZE := 131072 TARGET_PREBUILT_KERNEL := device/lenovo/P780/kernel BOARD_HAS_NO_SELECT_BUTTON := true
خوب باید تغییراتی را بدهیم در اول اگر mkvendor نوع اسکریپ پلتفرم موبایل را نشناخت
TARGET_BOARD_PLATFORM := unknown
اگر نام سی پی یو خود را نمی دانید در ADB دستور زیر را تایپ کنید تا نمایان شود
adb shell cat /proc/cpuinfo
بعنوان نمونه اطلاعات سی پی یو موبایل ما را در زیر ببینید
Processor : ARMv7 Processor rev 2 (v7l) processor : 0 BogoMIPS : 2439.94 Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpv4 idiva idivt CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc07 CPU revision : 2 Hardware : MT6589 Revision : 0000 Serial : 0000000000000000
فایل را طبق نام سی پی یو تغییر می دهیم مانند زیر
TARGET_BOARD_PLATFORM := mt6589
برای تعریف مقدار حجم پارتیشن در کدهای زیر
در گوشی به مسیر proc/mtd برای تغییر بروید BOARD_BOOTIMAGE_PARTITION_SIZE := 0x105c0000 BOARD_RECOVERYIMAGE_PARTITION_SIZE := 0x105c0000 BOARD_SYSTEMIMAGE_PARTITION_SIZE := 0x105c0000 BOARD_USERDATAIMAGE_PARTITION_SIZE := 0x105c0000 BOARD_FLASH_BLOCK_SIZE := 131072
برای گرفتن اطلاعات پارتیشن گوشی خود در ADB دستور adb shell cat /proc/mtd یا adb shell cat /proc/emmc یا برای مدیاتک adb shell cat /proc/dumchar_info را تایپ کنید و اطلاعات پارتیشن گوشی خود را جایگزین کدهای بالایی بکنید برای ما کد زیر می باشد
# مقدار حجم پارتیشن BOARD_BOOTIMAGE_PARTITION_SIZE := 6291456 BOARD_RECOVERYIMAGE_PARTITION_SIZE := 6291456 BOARD_SYSTEMIMAGE_PARTITION_SIZE := 939524096 BOARD_USERDATAIMAGE_PARTITION_SIZE := 1283457024 BOARD_FLASH_BLOCK_SIZE := 512
در قسمت آخرین کد board flash block siz این یک عدد مخصوص می باشد که برای مدیاتک معمولا 512 می باشد ولی عدد پیش فرض 131072 نیز کار می کند
همچنین در کد زیر وارد کنید
TARGET_USERIMAGES_USE_EXT4 := true
اگر پارتیشن گوشی شما EXT4 باشد البته برای فهمیدن پارتیشن گوشی fstab یا default.prop در boot.img ramdisk را چک کنید.
خط بعدی که باید درست شود
TARGET_PREBUILT_KERNEL := device/lenovo/P780/kernel
اگر یادتان باشد کرنل را در پوشه prebuilt گذاشتیم پس باید اینگونه باشد
TARGET_PREBUILT_KERNEL := device/lenovo/P780/prebuilt/kernel
در بعضی موارد نیاز است که از پرچم دیگری استفاده شود
TARGET_RECOVERY_PIXEL_FORMAT := "RGBX_8888"
باید چک کنید که اگر گوشی شما دارای PIXEL FORMAT باشد یا پرچم در آن استفاده نشده باشد وگرنه ریکاوری شما بوت نخواهد شد.
اکنون بزارید fstab و init.rc را سفارشی سازی کنیم
TARGET_RECOVERY_INITRC := device/lenovo/P780/recovery/init.{hardware}.rc TARGET_RECOVERY_FSTAB := device/lenovo/P780/recovery/recovery.fstab
برای ما اینگونه می باشد
TARGET_RECOVERY_INITRC := device/lenovo/P780/recovery/init.mt6589.rc TARGET_RECOVERY_FSTAB := device/lenovo/P780/recovery/recovery.fstab
اگر می خواهید از init.recovery.{hardware}.rc استفاده کنید شما آن را در مسیر recovery/root دارید پرچم را رد کنید و فقط از کد زیر استفاده کنید
TARGET_RECOVERY_FSTAB := device/lenovo/P780/recovery/recovery.fstab
یادتان باشد مسیر device/lenovo/P780 برای گوشی نمونه ما هست شما باید نام گوشی خود رابنویسید
ساخت ریکاوری CWM
تا اینجای کار مراحلی که انجام دادیم کلی بودند اکنون دیگر برای ساخت Clockworkmod Recovery میرویم که از ریکاوری پیش فرض CM11 استفاده کردیم برای ساخت ولی اگر می خواهید cwm نوعی دیگر یا کاملا دست ساز بسازید باید پرچم در BoardConfig را مطابق پوشه ریکاوری مورد نظر مانند ریکاوری های recovery-cm, recovery-twrp, recovery-philz, recovery-miui در پرچم BoardConfig قرار دهید
RECOVERY_VARIANT := twrp
یا
RECOVERY_VARIANT := philz
برای مدیاتک نیز یک پرچم اضافه باید وارد کنید
BOARD_CUSTOM_BOOTIMG_MK := device/lenovo/P780/mkmtkbootimg.mk
چیز دیگری هم که می توانید اضافه کنید کد زیر می باشد
TARGET_RECOVERY_LCD_BACKLIGHT_PATH := \"/sys/devices/platform/leds-mt65xx/leds/lcd-backlight/brightness\"
در درون گوشی خود بگردید برای lcd-backlight معمولا در مسیر sys/devices/platform/leds پیدا می شود برای ریکاوری های (twrp, philz) نیاز است.همچنین می توانید فونت دلخواه خود را به ریکاوری اضافه کنید که در مسیر bootable/recovery or recovery-variant/minui میتوانید فوت را انتخاب کنید،فونت بصورت عددی 00x00 هست که عدد نشانه عرض و طول می باید که طبق صفحه نمایش گوشیتان میتوانید تغییرش دهید.
بعنوان مثال برای مقدار صفحه 540×960 فونت roboto_15x24.h را انتخاب می کنیم.
BOARD_USE_CUSTOM_RECOVERY_FONT := \"roboto_15x24.h\"
و در آخر فایل ما شبیه به زیر می شود
USE_CAMERA_STUB := true # inherit from the proprietary version -include vendor/lenovo/P780/BoardConfigVendor.mk TARGET_ARCH := arm TARGET_NO_BOOTLOADER := true TARGET_BOARD_PLATFORM := mt6589 TARGET_CPU_ABI := armeabi-v7a TARGET_CPU_ABI2 := armeabi TARGET_ARCH_VARIANT := armv7-a-neon TARGET_CPU_VARIANT := cortex-a7 TARGET_CPU_SMP := true ARCH_ARM_HAVE_TLS_REGISTER := true TARGET_BOOTLOADER_BOARD_NAME := P780 BOARD_KERNEL_CMDLINE := BOARD_KERNEL_BASE := 0x10000000 BOARD_KERNEL_PAGESIZE := 2048 # fix this up by examining /proc/mtd on a running device BOARD_BOOTIMAGE_PARTITION_SIZE := 6291456 BOARD_RECOVERYIMAGE_PARTITION_SIZE := 6291456 BOARD_SYSTEMIMAGE_PARTITION_SIZE := 939524096 BOARD_USERDATAIMAGE_PARTITION_SIZE := 1283457024 BOARD_FLASH_BLOCK_SIZE := 512 TARGET_USERIMAGES_USE_EXT4 := true TARGET_PREBUILT_KERNEL := device/lenovo/P780/prebuilt/kernel TARGET_RECOVERY_INITRC := device/lenovo/P780/recovery/init.mt6589.rc TARGET_RECOVERY_FSTAB := device/lenovo/P780/recovery/recovery.fstab BOARD_HAS_NO_SELECT_BUTTON := true BOARD_CUSTOM_BOOTIMG_MK := device/lenovo/P780/mkmtkbootimg.mk BOARD_USE_CUSTOM_RECOVERY_FONT := \"font_17x33.h\" DEVICE_RESOLUTION := 720x1280 TARGET_RECOVERY_LCD_BACKLIGHT_PATH := \"/sys/devices/platform/leds-mt65xx/leds/lcd-backlight/brightness\"
خوب تا اینجا شاخه های دستگاه ما برای ساخت ریکاوری آماده شدند و می توانیم بریم برای ساخت که در بخش آخر آموزش می توانید با همراه باشید
کپی برداری از متن بدون ذکر منبع شرعا حرام و مورد پسند نویسنده نمی باشد