melonl吧 关注:96贴子:2,323
  • 1回复贴,共1

关于Device的制作及一些参数的讲解

只看楼主收藏回复

转的


IP属地:广东来自Android客户端1楼2015-03-07 20:47回复
    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
    ===========================
    完了。


    IP属地:广东来自Android客户端3楼2015-03-07 20:48
    回复