آموزش های توسعه رام اندروید

آموزش ساخت ریکاوری 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\"

خوب تا اینجا شاخه های دستگاه ما برای ساخت ریکاوری آماده شدند و می توانیم بریم برای ساخت که در بخش آخر آموزش می توانید با همراه باشید

کپی برداری از متن بدون ذکر منبع شرعا حرام و مورد پسند نویسنده نمی باشد

mohsen

محسن هستم 30 ساله طرفدار دنیایی متنوع اندروید و کاستوم رامها در Gsm-Developers

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا