Commit 1c0fd9dc authored by peturbg's avatar peturbg
Browse files

Porting for new android versions

parents
Loading
Loading
Loading
Loading
Loading

Android.mk

0 → 100644
+25 −0
Original line number Diff line number Diff line
#
# Copyright (C) 2016 The CyanogenMod Project
# Copyright (C) 2017 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

LOCAL_PATH := $(call my-dir)

ifeq ($(TARGET_DEVICE), a610)

include $(call all-makefiles-under,$(LOCAL_PATH))

include $(CLEAR_VARS)

endif

AndroidBoard.mk

0 → 100644
+24 −0
Original line number Diff line number Diff line
#
# Copyright (C) 2016 The CyanogenMod Project
# Copyright (C) 2017 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

ALL_PREBUILT += $(INSTALLED_KERNEL_TARGET)

# include the non-open-source counterpart to this file
-include vendor/zte/a610/AndroidBoardVendor.mk

AndroidProducts.mk

0 → 100644
+2 −0
Original line number Diff line number Diff line
PRODUCT_MAKEFILES := \
    $(LOCAL_DIR)/omni_a610.mk

BoardConfig.mk

0 → 100644
+213 −0
Original line number Diff line number Diff line
#
# Copyright (C) 2016 The CyanogenMod Project
# Copyright (C) 2017 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

LOCAL_PATH := device/zte/a610

BOARD_GLOBAL_CFLAGS += -DNO_SECURE_DISCARD
BOARD_GLOBAL_CFLAGS += -DDISABLE_HW_ID_MATCH_CHECK

# GPS
TARGET_SPECIFIC_HEADER_PATH := $(LOCAL_PATH)/include
BOARD_GPS_LIBRARIES := true
BOARD_CONNECTIVITY_MODULE := conn_soc 
BOARD_MEDIATEK_USES_GPS := true

# Platform
TARGET_BOARD_PLATFORM := mt6735
TARGET_NO_BOOTLOADER := true
TARGET_NO_FACTORYIMAGE := true

MTK_K64_SUPPORT = yes

# CMHW
BOARD_USES_CYANOGEN_HARDWARE := true
BOARD_HARDWARE_CLASS += device/zte/a610/cmhw

# Deodex
#WITH_DEXPREOPT := false
WITH_DEXPREOPT_BOOT_IMG_ONLY := true
DONT_DEXPREOPT_PREBUILTS := true

#FORCE_32_BIT = true

# Architecture
ifeq ($(FORCE_32_BIT),true)
TARGET_ARCH := arm
TARGET_ARCH_VARIANT := armv7-a-neon
TARGET_CPU_ABI := armeabi-v7a
TARGET_CPU_ABI2 := armeabi
TARGET_CPU_VARIANT := cortex-a53
else
TARGET_ARCH := arm64
TARGET_ARCH_VARIANT := armv8-a
TARGET_CPU_ABI := arm64-v8a
TARGET_CPU_ABI2 :=
TARGET_CPU_VARIANT := cortex-a53
TARGET_2ND_ARCH := arm
TARGET_2ND_ARCH_VARIANT := armv7-a-neon
TARGET_2ND_CPU_ABI := armeabi-v7a
TARGET_2ND_CPU_ABI2 := armeabi
TARGET_2ND_CPU_VARIANT := cortex-a53
TARGET_CPU_ABI_LIST_64_BIT := $(TARGET_CPU_ABI)
TARGET_CPU_ABI_LIST_32_BIT := $(TARGET_2ND_CPU_ABI),$(TARGET_2ND_CPU_ABI2)
TARGET_CPU_ABI_LIST := $(TARGET_CPU_ABI_LIST_64_BIT),$(TARGET_CPU_ABI_LIST_32_BIT)
endif

# Bootloader
TARGET_BOOTLOADER_BOARD_NAME := mt6735

# Kernel
BOARD_KERNEL_IMAGE_NAME := kernel
#TARGET_KERNEL_SOURCE := kernel-3.18
#TARGET_KERNEL_CONFIG := a610_defconfig
TARGET_PREBUILT_KERNEL := $(LOCAL_PATH)/rootdir/kernel
BOARD_KERNEL_BASE = 0x40000000
BOARD_KERNEL_PAGESIZE := 2048
BOARD_RAMDISK_OFFSET = 0x04000000
BOARD_TAGS_OFFSET = 0xE000000
ifeq ($(FORCE_32_BIT),true)
TARGET_KERNEL_ARCH := arm
BOARD_KERNEL_CMDLINE = bootopt=64S3,32N2,32N2 androidboot.selinux=permissive
BOARD_KERNEL_OFFSET = 0x00008000
else
TARGET_KERNEL_ARCH := arm64
TARGET_KERNEL_CROSS_COMPILE_PREFIX := aarch64-linux-android-
BOARD_KERNEL_CMDLINE = bootopt=64S3,32N2,64N2 androidboot.selinux=permissive
BOARD_KERNEL_OFFSET = 0x00080000
TARGET_USES_64_BIT_BINDER := true
endif
BOARD_MKBOOTIMG_ARGS := --kernel_offset $(BOARD_KERNEL_OFFSET) --ramdisk_offset $(BOARD_RAMDISK_OFFSET) --tags_offset $(BOARD_TAGS_OFFSET) --board BLADE_A610_V0

BOARD_CUSTOM_BOOTIMG := true

TARGET_KMODULES := true

# make_ext4fs requires numbers in dec format
TARGET_USERIMAGES_USE_EXT4 := true
BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_BOOTIMAGE_PARTITION_SIZE := 16777216
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 16777216
BOARD_SYSTEMIMAGE_PARTITION_SIZE:=2558525440
BOARD_CACHEIMAGE_PARTITION_SIZE:=419430400
BOARD_USERDATAIMAGE_PARTITION_SIZE:=12353781760
BOARD_FLASH_BLOCK_SIZE := 4096

# Assert
TARGET_OTA_ASSERT_DEVICE := a610,ZTE_BLADE_A610,A610,P635T36,E183L

# Disable memcpy opt (for audio libraries)
TARGET_CPU_MEMCPY_OPT_DISABLE := true

TARGET_PROVIDES_LIBLIGHT := true

# Graphics
BOARD_EGL_CFG := $(LOCAL_PATH)/egl.cfg
BOARD_EGL_WORKAROUND_BUG_10194508 := true
USE_OPENGL_RENDERER := true
NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK := true
TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS := true
MTK_HWC_SUPPORT := yes
MTK_HWC_VERSION := 1.4.1

# MTK Hardware
BOARD_HAS_MTK_HARDWARE := true
BOARD_USES_MTK_HARDWARE := true
MTK_HARDWARE := true
BOARD_USES_MTK_MEDIA_PROFILES := true
BOARD_GLOBAL_CFLAGS += -DADD_LEGACY_ACQUIRE_BUFFER_SYMBOL

# OMX
TARGET_OMX_LEGACY_RESCALING := true

# Fonts
EXTENDED_FONT_FOOTPRINT := true

# Charger
BACKLIGHT_PATH := /sys/class/leds/lcd-backlight/brightness

# SU
WITH_SU := true

# RIL
BOARD_RIL_CLASS := ../../../device/zte/a610/ril

BOARD_DISABLE_HW_ID_MATCH_CHECK := true

BOARD_CONNECTIVITY_VENDOR := MediaTek
BOARD_CONNECTIVITY_MODULE := conn_soc

# WIFI
WPA_SUPPLICANT_VERSION := VER_0_8_X
BOARD_HOSTAPD_DRIVER := NL80211
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_mt66xx
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_mt66xx
WIFI_DRIVER_FW_PATH_PARAM:="/dev/wmtWifi"
WIFI_DRIVER_FW_PATH_STA:=STA
WIFI_DRIVER_FW_PATH_AP:=AP
WIFI_DRIVER_FW_PATH_P2P:=P2P

# Bluetooth
BOARD_HAVE_BLUETOOTH := true
BOARD_HAVE_BLUETOOTH_MTK := true
BOARD_BLUETOOTH_DOES_NOT_USE_RFKILL := true
BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(LOCAL_PATH)/bluetooth

# Sensors
TARGET_NO_SENSOR_PERMISSION_CHECK := true
TARGET_NEEDS_PLATFORM_TEXT_RELOCATIONS := true

# Enable Minikin text layout engine (will be the default soon)
USE_MINIKIN := true

# CWM
TARGET_RECOVERY_FSTAB := $(LOCAL_PATH)/rootdir/root/recovery.fstab
TARGET_PREBUILT_RECOVERY_KERNEL := $(LOCAL_PATH)/rootdir/kernel
BOARD_HAS_NO_SELECT_BUTTON := true

# TWRP stuff
TW_THEME := portrait_hdpi
RECOVERY_GRAPHICS_USE_LINELENGTH := true
TW_NO_REBOOT_BOOTLOADER := true
TW_BRIGHTNESS_PATH := /sys/devices/platform/leds-mt65xx/leds/lcd-backlight/brightness
TARGET_USE_CUSTOM_LUN_FILE_PATH := /sys/devices/platform/mt_usb/musb-hdrc.0.auto/gadget/lun%d/file
TW_MAX_BRIGHTNESS := 255
TW_EXCLUDE_SUPERSU := true
TW_INCLUDE_FB2PNG := true
TW_NO_CPU_TEMP := true
TW_REBOOT_BOOTLOADER := true
TW_REBOOT_RECOVERY := true
TW_HAS_DOWNLOAD_MODE := true
TW_EXCLUDE_SUPERSU := true
TW_USE_TOOLBOX := true

TARGET_USE_CUSTOM_LUN_FILE_PATH := "/sys/devices/virtual/android_usb/android0/f_mass_storage/lun%d/file"

BOARD_SEPOLICY_DIRS := $(LOCAL_PATH)/sepolicy

# Use old sepolicy version
#POLICYVERS := 29

# Seccomp filter
BOARD_SECCOMP_POLICY := $(LOCAL_PATH)/seccomp

MTK_GPU_VERSION := mali midgard r7p0

# Hack for build
$(shell mkdir -p $(OUT_DIR)/obj/KERNEL_OBJ/usr)

USE_NINJA := false

MANUAL.md

0 → 100644
+149 −0
Original line number Diff line number Diff line
# Инструкция по запуску компиляции 

## Установка JAVA

#### Устанавливаем "java" командой:
```
sudo apt-add-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
```
#### Добавляем пакеты для "java" командой:
```
sudo apt-get update && sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev openjdk-8-jre openjdk-8-jdk pngcrush schedtool libxml2 libxml2-utils xsltproc lzop libc6-dev schedtool g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-multilib maven tmux screen w3m ncftp
```
## Установка Репозитория

#### Создаем папку "bin" командой:
```
mkdir ~/bin
```
#### Патчим папку "bin" командой:
```
PATH=~/bin:$PATH
```
#### Добавляем "repo" командой:
```
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
```
#### Делаем разрешение для "repo" командой:
```
chmod a+x ~/bin/repo
```
## Загрузка исходников и настройка

#### Создаем папку "BLADE" и в ней запускаем командную строку:
```
mkdir ~/BLADE
cd ~/BLADE
```
#### Логинимся в "git" (если учетки нету, вам сюда "https://github.com/" ):
```
git config --global user.email "aaa@bbbbbb.com" (емейл на который была зарегистрирована учетка гитхаба) 
git config --global user.name "NAME" (Логин на гитхабе)
```
#### Скачиваем исходники при помощи команды:
```
repo init -u (дальше вставляeм ссылку на исходники, котрые хотите скачать)
```
#### Например, для скачивание исходников Resurrection Remix 5.8.x команда выглядит следующим образом:
```
repo init -u https://github.com/ResurrectionRemix/platform_manifest.git -b nougat
```
#### Cинховать исходники при помощи команды:
```
repo sync -f --force-sync --no-clone-bundle
``` 
## Настройка "Дерева" и "Вендора" устройства

### Дерево

#### Заходим в папку "BLADE" командой:
```
cd ~/BLADE
```
#### Заходим в папку "device" командой:
```
cd device
```
#### Создаем папку "zte" командой:
```
mkdir zte
```
#### Заходим в папку "zte командой":
```
cd zte
```
#### Скачиваем "Дерево" командой:
```
git clone https://github.com/mosya234/android_device_zte_blade_a610.git a610
```
### Вендор

#### Заходим в папку "BLADE" командой:
```
cd ~/BLADE
```
#### Заходим в папку "vendor" командой:
```
cd vendor
```
#### Создаем папку "zte" командой:
```
mkdir zte
```
#### Скачиваем "Вендор" командой:
```
git clone https://github.com/mosya234/android_vendor_zte_blade_a610.git a610
```
## Патчим исходники

#### Патчим командой:
```
cd ~/BLADE/device/zte/a610/patches_mtk && . apply-patches.sh
```
## КЕШ

### Устанавливаем "КЕШ" при сборке (Я делаю в ручную потому что так надежнее)

#### Заходим через диспетчер файлов свою домашнюю папку (HOME), Нажимаем "Ctrl+H", Открываем файл ".bashrc" и в самый низ вставляем:
```
export USE_CCACHE=1
export ANDROID_JACK_VM_ARGS="-Xmx4096m -Xms512m -Dfile.encoding=UTF-8 -XX:+TieredCompilation"
```
#### (Где "Xmx4096m" - это количество оперативной памяти)

## Джек-сервер

#### Пишем команду в корне папки "BLADE":
```
./prebuilts/sdk/tools/jack-admin kill-server
```
##### (Эта команда удаляет процесс рабочего сервера "ДЖЭK", если он вдруг сейчас работает) Нормальный ответ (означает что процесса не было):
```
/android/system$ ./prebuilts/sdk/tools/jack-admin kill-server
Writing local settings in /home/hard/.jack
Killing background server
ERROR: No Jack server to kill
```
#### Запускаем сервер командой из папки "BLADE":
```
./prebuilts/sdk/tools/jack-admin start-server
```
## Сборка

#### Заходим в папку "BLADE" командой:
```
cd ~/BLADE
```
#### Вводим команду:
```
. build/envsetup.sh && brunch a610
```

## НАЧИНАЕТСЯ СБОРКА!!!

#### ошибки лечим по мере их возникновения

## УСПЕХОВ В СБОРКЕ!!!