cmhw”放在device目录下
# Kernel
BOARD_KERNEL_BASE := 0x00200000
BOARD_KERNEL_CMDLINE := androidboot.hardware=huawei androidboot.selinux=permissive
BOARD_PAGE_SIZE := 2048
TARGET_KERNEL_SOURCE := kernel/huawei/huawei-kernel-3.4
内核相关设置,包括源码位置,bootflag等等
# Lights
TARGET_PROVIDES_LIBLIGHTS := true
是否有提供灯光驱动
# Media
TARGET_ENABLE_QC_AV_ENHANCEMENTS := true
TARGET_QCOM_MEDIA_VARIANT := legacy
媒体播放选用源码,qcom有这个设置
# Partitions
BOARD_BOOTIMAGE_PARTITION_SIZE := 0x800000
BOARD_CACHEIMAGE_PARTITION_SIZE := 201326592 # 0xC000000
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 0x1400000
BOARD_FLASH_BLOCK_SIZE := 131072
TARGET_USERIMAGES_USE_EXT4 := true
一些分区信息
# Recovery
BOARD_CUSTOM_RECOVERY_KEYMAPPING := ../../device/huawei/msm7x27a-common/recovery/recovery-keys.c
BOARD_UMS_LUNFILE := /sys/class/android_usb/android0/f_mass_storage/lun%d/file
TARGET_RECOVERY_INITRC := device/huawei/msm7x27a-common/recovery/init.rc
TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
recovery相关设置
# SELinux
BOARD_SEPOLICY_DIRS += device/huawei/msm7x27a-common/sepolicy
---------这是4.3以后的selinux源码
BOARD_SEPOLICY_UNION += \
file_contexts \
file.te
# USB 下为分区,usb等设置
BOARD_VOLD_EMMC_SHARES_DEV_MAJOR := true
BOARD_VOLD_MAX_PARTITIONS := 19
TARGET_USE_CUSTOM_LUN_FILE_PATH := /sys/class/android_usb/android0/f_mass_storage/lun%d/file
TARGET_USE_CUSTOM_SECOND_LUN_NUM := 1
# Web Rendering
ENABLE_WEBGL := true
#PRODUCT_PREBUILT_WEBVIEWCHROMIUM := yes
TARGET_FORCE_CPU_UPLOAD := true
------------这个是浏览器相关,由于我的设备与android原生webview不兼容,故添加这些项目
# Wi-Fi
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
BOARD_HOSTAPD_DRIVER := NL80211
TARGET_CUSTOM_WIFI := ../../device/huawei/msm7x27a-common/libhardware_legacy/wifi/wifi.c
WPA_SUPPLICANT_VERSION := VER_0_8_X
此处是wifi芯片,包括wpa版本等的设定,具体得看手机官方固件的相关参数
===========================
上面的boardconfig.mk还漏了几行
TARGET_BOOTLOADER_BOARD_NAME := u8825
这个是设置设备型号的
# Bluetooth
BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/huawei/u8825/bluetooth
蓝牙的一些配置放在这里,是一个文件"bdroid_buildcfg.h"
# FM
BOARD_HAVE_QCOM_FM := true
FM设置,是否有fm模块
在device下面有一个以型号为文件名的makefile文件,如c8812e(型号).mk,这个文件里可以添加设备一些附加build.prop值。比如:
# Properties
PRODUCT_PROPERTY_OVERRIDES += \
ro.confg.hw_appfsversion=U8825V4_4_SYSIMG \
ro.confg.hw_appsbootversion=U8825V4_4_APPSBOOT \
ro.confg.hw_appversion=U8825V4_4_KERNEL
PRODUCT_PROPERTY_OVERRIDES += \
gsm.version.baseband=1040 \
rild.libpath=/system/lib/libril-qc-1.so
===========================
然后再说一下,如果是编译cm系统的话,在目录吓可能有一个“cm.mk”文件(没有的话就新建一个吧),也是贴上一个例子:
# Specify phone tech before including full_phone
$(call inherit-product, vendor/cm/config/cdma.mk)---如果是gsm手机,此处改为gsm.mk,如果是cdma手机就是cdma.mk
# Inherit some common CM stuff
$(call inherit-product, vendor/cm/config/common_full_phone.mk)
# Inherit device configuration
$(call inherit-product, device/huawei/c8812e/full_c8812e.mk)
# Correct boot animation size for the screen
TARGET_SCREEN_HEIGHT := 800
TARGET_SCREEN_WIDTH := 480 -----------此处填写设备分辨率
# Device name
PRODUCT_NAME := cm_c8812e ---------------此处填写的是设备型号
PRODUCT_DEVICE := c8812e
# CM packages
PRODUCT_PACKAGES += \
Torch
---------此处是添加一些额外的可选软件包,比如手电筒之类的
===========================
此外,还有一个以“full_{设备型号}.mk”的文件,也是填写一些诸如设备型号之类的参数
# Set those variables here to overwrite the inherited values.
PRODUCT_NAME := full_c8812e
PRODUCT_DEVICE := c8812e
PRODUCT_MODEL := HUAWEI C8812E
===========================
完了。
# Kernel
BOARD_KERNEL_BASE := 0x00200000
BOARD_KERNEL_CMDLINE := androidboot.hardware=huawei androidboot.selinux=permissive
BOARD_PAGE_SIZE := 2048
TARGET_KERNEL_SOURCE := kernel/huawei/huawei-kernel-3.4
内核相关设置,包括源码位置,bootflag等等
# Lights
TARGET_PROVIDES_LIBLIGHTS := true
是否有提供灯光驱动
# Media
TARGET_ENABLE_QC_AV_ENHANCEMENTS := true
TARGET_QCOM_MEDIA_VARIANT := legacy
媒体播放选用源码,qcom有这个设置
# Partitions
BOARD_BOOTIMAGE_PARTITION_SIZE := 0x800000
BOARD_CACHEIMAGE_PARTITION_SIZE := 201326592 # 0xC000000
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 0x1400000
BOARD_FLASH_BLOCK_SIZE := 131072
TARGET_USERIMAGES_USE_EXT4 := true
一些分区信息
# Recovery
BOARD_CUSTOM_RECOVERY_KEYMAPPING := ../../device/huawei/msm7x27a-common/recovery/recovery-keys.c
BOARD_UMS_LUNFILE := /sys/class/android_usb/android0/f_mass_storage/lun%d/file
TARGET_RECOVERY_INITRC := device/huawei/msm7x27a-common/recovery/init.rc
TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
recovery相关设置
# SELinux
BOARD_SEPOLICY_DIRS += device/huawei/msm7x27a-common/sepolicy
---------这是4.3以后的selinux源码
BOARD_SEPOLICY_UNION += \
file_contexts \
file.te
# USB 下为分区,usb等设置
BOARD_VOLD_EMMC_SHARES_DEV_MAJOR := true
BOARD_VOLD_MAX_PARTITIONS := 19
TARGET_USE_CUSTOM_LUN_FILE_PATH := /sys/class/android_usb/android0/f_mass_storage/lun%d/file
TARGET_USE_CUSTOM_SECOND_LUN_NUM := 1
# Web Rendering
ENABLE_WEBGL := true
#PRODUCT_PREBUILT_WEBVIEWCHROMIUM := yes
TARGET_FORCE_CPU_UPLOAD := true
------------这个是浏览器相关,由于我的设备与android原生webview不兼容,故添加这些项目
# Wi-Fi
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
BOARD_HOSTAPD_DRIVER := NL80211
TARGET_CUSTOM_WIFI := ../../device/huawei/msm7x27a-common/libhardware_legacy/wifi/wifi.c
WPA_SUPPLICANT_VERSION := VER_0_8_X
此处是wifi芯片,包括wpa版本等的设定,具体得看手机官方固件的相关参数
===========================
上面的boardconfig.mk还漏了几行
TARGET_BOOTLOADER_BOARD_NAME := u8825
这个是设置设备型号的
# Bluetooth
BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/huawei/u8825/bluetooth
蓝牙的一些配置放在这里,是一个文件"bdroid_buildcfg.h"
# FM
BOARD_HAVE_QCOM_FM := true
FM设置,是否有fm模块
在device下面有一个以型号为文件名的makefile文件,如c8812e(型号).mk,这个文件里可以添加设备一些附加build.prop值。比如:
# Properties
PRODUCT_PROPERTY_OVERRIDES += \
ro.confg.hw_appfsversion=U8825V4_4_SYSIMG \
ro.confg.hw_appsbootversion=U8825V4_4_APPSBOOT \
ro.confg.hw_appversion=U8825V4_4_KERNEL
PRODUCT_PROPERTY_OVERRIDES += \
gsm.version.baseband=1040 \
rild.libpath=/system/lib/libril-qc-1.so
===========================
然后再说一下,如果是编译cm系统的话,在目录吓可能有一个“cm.mk”文件(没有的话就新建一个吧),也是贴上一个例子:
# Specify phone tech before including full_phone
$(call inherit-product, vendor/cm/config/cdma.mk)---如果是gsm手机,此处改为gsm.mk,如果是cdma手机就是cdma.mk
# Inherit some common CM stuff
$(call inherit-product, vendor/cm/config/common_full_phone.mk)
# Inherit device configuration
$(call inherit-product, device/huawei/c8812e/full_c8812e.mk)
# Correct boot animation size for the screen
TARGET_SCREEN_HEIGHT := 800
TARGET_SCREEN_WIDTH := 480 -----------此处填写设备分辨率
# Device name
PRODUCT_NAME := cm_c8812e ---------------此处填写的是设备型号
PRODUCT_DEVICE := c8812e
# CM packages
PRODUCT_PACKAGES += \
Torch
---------此处是添加一些额外的可选软件包,比如手电筒之类的
===========================
此外,还有一个以“full_{设备型号}.mk”的文件,也是填写一些诸如设备型号之类的参数
# Set those variables here to overwrite the inherited values.
PRODUCT_NAME := full_c8812e
PRODUCT_DEVICE := c8812e
PRODUCT_MODEL := HUAWEI C8812E
===========================
完了。