Hello,
I am trying to port LineageOS to the Samsung Galaxy S8 as my first LineageOS port. I know this is probably one heck of an undertaking for a first port but a rooted snapdragon-based S8 is currently the only device I have access to and I would like to have stock-ish android on this device.
In any case, I am running into errors while trying to build for the platform.
I am using this guide with this guide for reference to try to port.
I have followed the first guide basically to the tee so far.
These are all of the things (of interest) that I have done.
1. I executed these commands to clone the code base:
Code:
repo init -u https://github.com/LineageOS/android.git -b lineage-19.1
repo sync
2. I have created a file called "local_manifests.xml" in the directory ".repo/local_manifests/" that contains the following:
Code:
?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="android_device_samsung_dreamlte" fetch="https://github.com/TeamWin/" revision="android-9.0"/>
<project name="android_device_samsung_dreamlte" path="device/samsung/dreamlte" remote="android_device_samsung_dreamlte"
revision="android-9.0"/>
<remote name="android_kernel_samsung_msm8998" fetch="https://github.com/jesec/" revision="cm-14.1"/>
<project name="android_kernel_samsung_msm8998" path="kernel/samsung/msm8998" remote="android_kernel_samsung_msm8998" revision="cm-
14.1"/>
<remote name="vendor_samsung_dreamlte" fetch="https://github.com/AndroidBlobs/" revision="dreamltexx-user-8.0.0-R16NW-
G950FXXS4CRJD-release-keys"/>
<project name="vendor_samsung_dreamlte" path="vendor/samsung/dreamlte" remote="vendor_samsung_dreamlte" revision="dreamltexx-user-8.
0.0-R16NW-G950FXXS4CRJD-release-keys"/>
</manifest>
3. I have rerun the repo sync command to sync the blobs, kernel and architecture specific information from the local manifests.
4. I have added a file in the "device/samsung/dreamlte" directory called "lineage_dreamlte.mk" this file contains the following information based on the original "lineage.dependencies" file:
Code:
# Inherit from the common Open Source product configuration
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base_telephony.mk)
# Inherit from our custom product configuration
$(call inherit-product, vendor/lineage/config/common.mk)
PRODUCT_DEVICE := dreamlte
PRODUCT_NAME := lineage_dreamlte
PRODUCT_MODEL := Galaxy S8
PRODUCT_BRAND := Samsung
PRODUCT_MANUFACTURER := Samsung
5. I have added a blank file called "lineage.dependencies" in the same directory because the original omni.dependencies was also blank
6. I have modified the file called "BoardConfig.mk" in the same directory to read the following. This file was made based on a combination of the original file (which is for the Exynos-based model of the S8) and the board configuration for the Google Pixel 2 (available here) which has the same SOC as the Snapdragon-based S8.
Code:
Platform
DEVICE_CODENAME := dreamlte
DEVICE_PATH := device/samsung/$(DEVICE_CODENAME)
BOARD_VENDOR := samsung
TARGET_BOARD_PLATFORM := msm8998
TARGET_BOOTLOADER_BOARD_NAME := msm8998
TARGET_NO_BOOTLOADER := true
TARGET_NO_RADIOIMAGE := true
# Architecture
TARGET_ARCH := arm64
TARGET_ARCH_VARIANT := armv8-a
TARGET_CPU_ABI := arm64-v8a
TARGET_CPU_ABI2 :=
TARGET_CPU_VARIANT := cortex-a53
TARGET_CPU_SMP := true
# Secondary Architecture
TARGET_2ND_ARCH := arm
TARGET_2ND_ARCH_VARIANT := armv8-a
TARGET_2ND_CPU_ABI := armeabi-v7a
TARGET_2ND_CPU_ABI2 := armeabi
TARGET_2ND_CPU_VARIANT := cortex-a53
# File systems
BOARD_HAS_LARGE_FILESYSTEM := true
TARGET_USERIMAGES_USE_EXT4 := true
TARGET_USERIMAGES_USE_F2FS := true
BOARD_HAS_NO_REAL_SDCARD := true
# TWRP specific build flags
RECOVERY_VARIANT := twrp
ALLOW_MISSING_DEPENDENCIES=true
TW_THEME := portrait_hdpi
RECOVERY_SDCARD_ON_DATA := true
TARGET_RECOVERY_PIXEL_FORMAT := "ABGR_8888"
TW_BRIGHTNESS_PATH := "/sys/class/backlight/panel/brightness"
TW_MAX_BRIGHTNESS := 36600
TW_DEFAULT_BRIGHTNESS := 15300
TW_NO_REBOOT_BOOTLOADER := true
TW_HAS_DOWNLOAD_MODE := true
TW_INCLUDE_NTFS_3G := true
TW_EXCLUDE_SUPERSU := true
TW_EXTRA_LANGUAGES := true
TW_USE_NEW_MINADBD := true
LZMA_RAMDISK_TARGETS := recovery
# Kernel
BOARD_KERNEL_BASE := 0x10000000
BOARD_KERNEL_PAGESIZE := 2048
TARGET_PREBUILT_KERNEL := $(DEVICE_PATH)/kernel
BOARD_MKBOOTIMG_ARGS := --kernel_offset 0x00008000 --ramdisk_offset 0x01000000 --tags_offset 0x00000100 --dt $(DEVICE_PATH)/dtb
# Include
TARGET_SPECIFIC_HEADER_PATH := $(DEVICE_PATH)/include
7. I run the "source build/envsetup.sh" command
Up to this point there has been no errors.
8. I execute the "brunch lineage_dreamlte-eng" command and get the following
Code:
In file included from build/make/core/config.mk:313:
In file included from build/make/core/envsetup.mk:323:
build/make/core/board_config.mk:246: error: Building a 32-bit-app-only product on a 64-bit device. If this is intentional, set TARGET_SUPPORTS_64_BIT_APPS := false.
21:30:50 dumpvars failed with: exit status 1
Device dreamlte not found. Attempting to retrieve device repository from LineageOS Github (http://github.com/LineageOS).
Repository for dreamlte not found in the LineageOS Github repository list. If this is in error, you may need to manually add it to your local_manifests/roomservice.xml.
In file included from build/make/core/config.mk:313:
In file included from build/make/core/envsetup.mk:323:
build/make/core/board_config.mk:246: error: Building a 32-bit-app-only product on a 64-bit device. If this is intentional, set TARGET_SUPPORTS_64_BIT_APPS := false.
21:30:51 dumpvars failed with: exit status 1
In file included from build/make/core/config.mk:313:
In file included from build/make/core/envsetup.mk:323:
build/make/core/board_config.mk:246: error: Building a 32-bit-app-only product on a 64-bit device. If this is intentional, set TARGET_SUPPORTS_64_BIT_APPS := false.
21:30:51 dumpvars failed with: exit status 1
** Don't have a product spec for: 'lineage_dreamlte'
** Do you have the right repo manifest?
No such item in brunch menu. Try 'breakfast'
I have looked up this error for multiple hours to no avail. I have no idea what could be the issue, it doesn't seem to me like the 32 bit error is fatal. It seems like it cannot find the product spec for some reason and that is the fatal error.
I am almost certain that I have made some sort of simple mistake that is causing the product spec to not show up. I am also almost certain I have made some sort of other error somewhere else in the process especially in step 6 (the one about the board config).
I would greatly appreciate someone looking over this for me and helping me to solve this issue. My apologies of this error can simply be chalked up to my own stupidity or carelessness.
If you want me to send the contents of any other files, results of commands, etc. I will be more than happy to send them.
Thanks,
sckzor
# Quick check to warn about likely cryptic errors later in the build.
ifeq ($(TARGET_IS_64_BIT),true)
ifeq (,$(filter true false,$(TARGET_SUPPORTS_64_BIT_APPS)))
$(error Building a 32-bit-app-only product on a 64-bit device. \
If this is intentional, set TARGET_SUPPORTS_64_BIT_APPS := false)
endif
endif
TARGET_SUPPORTS_64_BIT_APPS := true get you compiling again.
Related
Hi, I tried to build CM7 for my htc hero recently and I found the build.prop generated by the build system was a mess. So I changed some make file.
But I don't know whether my change is totally correct. So I want to share my make files and have a discuss.
First file is BoardConfig.mk
Code:
# Copyright (C) 2007 The Android Open Source 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.
# config.mk
#
# Product-specific compile-time definitions.
#
# WARNING: This line must come *before* including the proprietary
# variant, so that it gets overwritten by the parent (which goes
# against the traditional rules of inheritance).
USE_CAMERA_STUB := true
JS_ENGINE := v8
# inherit from the proprietary version
-include vendor/htc/hero/BoardConfigVendor.mk
# ARMv6-compatible processor rev 5 (v6l)
TARGET_BOARD_PLATFORM := msm7k
TARGET_CPU_ABI := armeabi
TARGET_ARCH_VARIANT := armv6j
TARGET_NO_BOOTLOADER := true
TARGET_NO_RADIOIMAGE := true
# Wifi related defines
BOARD_WPA_SUPPLICANT_DRIVER := CUSTOM
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := libWifiApi
BOARD_WLAN_TI_STA_DK_ROOT := system/wlan/ti/sta_dk_4_0_4_32
WIFI_DRIVER_MODULE_PATH := "/system/lib/modules/wlan.ko"
WIFI_DRIVER_MODULE_ARG := ""
WIFI_DRIVER_MODULE_NAME := "wlan"
WIFI_FIRMWARE_LOADER := "wlan_loader"
WIFI_DRIVER_FW_STA_PATH := "/etc/firmware/tiinit_5.3.53.bts"
WIFI_DRIVER_FW_AP_PATH := "/etc/wifi/Fw1251r1c.bin"
BOARD_KERNEL_BASE := 0x19200000
BOARD_KERNEL_CMDLINE := no_console_suspend=1 console=null
#libsurfaceflinger to avoid Draw Texture Extenstion
BOARD_AVOID_DRAW_TEXTURE_EXTENSION := true
BOARD_HAVE_BLUETOOTH := true
BOARD_VENDOR_USE_AKMD := akm8973
BOARD_VENDOR_QCOM_AMSS_VERSION := 6355
# The size of a block that can be marked bad.
BOARD_FLASH_BLOCK_SIZE := 131072
# OpenGL drivers config file path
BOARD_EGL_CFG := device/htc/hero/egl.cfg
BOARD_USES_QCOM_LIBS := true
BOARD_USES_ECLAIR_LIBCAMERA := true
BOARD_NO_RGBX_8888 := true
BOARD_USES_GPSSHIM := true
BOARD_GPS_LIBRARIES := libgps
TARGET_LIBAGL_USE_GRALLOC_COPYBITS := true
# Use HTC USB Function Switch to enable tethering via USB
BOARD_USE_HTC_USB_FUNCTION_SWITCH := true
BOARD_USE_USB_MASS_STORAGE_SWITCH := true
TARGET_RELEASETOOLS_EXTENSIONS := device/htc/common
#---------------------------------------------------------
# May be these properties are useless. Not sure.
#TARGET_BOARD_PLATFORM_GPU := qcom
#BOARD_USES_GENERIC_AUDIO := false
#BOARD_USES_QCOM_HARDWARE := true
#TARGET_HARDWARE_3D := false
#BOARD_USE_HTC_LIBSENSORS := true
#BOARD_USE_HERO_LIBSENSORS := true
#BUILD_LIBCAMERA := true
#BOARD_CAMERA_LIBRARIES := libcameraservice libcamera
#BOARD_GPS_NEEDS_XTRA := true
# Stagefright fully enabled
#BUILD_WITH_FULL_STAGEFRIGHT := true
#---------------------------------------------------------
TARGET_BOOTLOADER_BOARD_NAME := hero
TARGET_OTA_ASSERT_DEVICE := hero
PRODUCT_BUILD_PROP_OVERRIDES += TARGET_BOOTLOADER_BOARD_NAME=hero
# # cat /proc/mtd
# dev: size erasesize name
# mtd0: 00040000 00020000 "misc"
# mtd1: 00500000 00020000 "recovery"
# mtd2: 00280000 00020000 "boot"
# mtd3: 05a00000 00020000 "system"
# mtd4: 05000000 00020000 "cache"
# mtd5: 127c0000 00020000 "userdata"
BOARD_BOOTIMAGE_PARTITION_SIZE := 0x00280000
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 0x00500000
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 0x0aa00000
BOARD_USERDATAIMAGE_PARTITION_SIZE := 0x0a5c0000
#TARGET_RECOVERY_UI_LIB := librecovery_ui_hero librecovery_ui_htc
TARGET_PREBUILT_KERNEL := device/htc/hero/kernel
I reference some code from dream_sapphire. I found set BOARD_AVOID_DRAW_TEXTURE_EXTENSION := true seems improves 2D rendering especially the popup window in Gingerbread.
I'm not sure those properties I marked with #------------- is necessary.
But after I built the rom, the phone worked well.
2nd file is AndroidBoard.mk
Code:
# Copyright (C) 2007 The Android Open Source 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.
#
# AndroidBoard.mk is a legacy mechanism to deal with a few
# edge-cases that can't be managed otherwise. No new rules
# should be added to this file.
#
LOCAL_PATH := $(call my-dir)
# Least specific includes go first, so that they can get
# overridden further down
include $(CLEAR_VARS)
# include the non-open-source counterpart to this file
-include vendor/htc/hero/AndroidBoardVendor.mk
I cleared it like dream_sapphire did. This file is a legacy build mechanism. Shall we need it any more?
3rd file is AndroidProducts.mk
This file should be the entries of the build process.
Code:
#
# Copyright (C) 2008 The Android Open-Source 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.
#
#
# This file should set PRODUCT_MAKEFILES to a list of product makefiles
# to expose to the build system. LOCAL_DIR will already be set to
# the directory containing this file.
#
# This file may not rely on the value of any variable other than
# LOCAL_DIR; do not use any conditionals, and do not look up the
# value of any variable that isn't set in this file or in a file that
# it includes.
#
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/full_hero.mk
I removed the generic_hero.mk file.
4th file is device_hero.mk
Code:
#
# Copyright (C) 2008 The Android Open Source 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.
#
DEVICE_PACKAGE_OVERLAYS := device/htc/hero/overlay
# Passion uses high-density artwork where available
PRODUCT_LOCALES += mdpi
PRODUCT_PACKAGES += \
VoiceDialer \
sensors.hero \
hero-keypad.kcm \
wlan_loader \
tiwlan.ini \
libOmxCore \
gps.hero \
gralloc.msm7k \
copybit.msm7k \
lights.hero \
dhcpcd.conf
# Install the features available on this device.
PRODUCT_COPY_FILES += \
frameworks/base/data/etc/handheld_core_hardware.xml:system/etc/permissions/handheld_core_hardware.xml \
frameworks/base/data/etc/android.hardware.camera.autofocus.xml:system/etc/permissions/android.hardware.camera.autofocus.xml \
frameworks/base/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.xml \
frameworks/base/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \
frameworks/base/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \
frameworks/base/data/etc/android.hardware.sensor.compass.xml:system/etc/permissions/android.hardware.sensor.compass.xml \
frameworks/base/data/etc/android.hardware.sensor.accelerometer.xml:system/etc/permissions/android.hardware.sensor.accelerometer.xml \
frameworks/base/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \
frameworks/base/data/etc/android.hardware.touchscreen.multitouch.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.xml \
frameworks/base/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml
PRODUCT_COPY_FILES += \
device/htc/hero/vold.fstab:system/etc/vold.fstab \
device/htc/hero/init.hero.rc:root/init.hero.rc \
device/htc/hero/ueventd.hero.rc:root/ueventd.hero.rc
# Keylayouts
PRODUCT_COPY_FILES += \
device/htc/hero/hero-keypad.kl:system/usr/keylayout/hero-keypad.kl \
device/htc/hero/h2w_headset.kl:system/usr/keylayout/h2w_headset.kl
# GSM APN list
PRODUCT_COPY_FILES += \
vendor/cyanogen/prebuilt/common/etc/apns-conf.xml:system/etc/apns-conf.xml
PRODUCT_PROPERTY_OVERRIDES += \
ro.ril.hsxpa=2 \
ro.ril.hsupa.category=5 \
ro.ril.gprsclass=10 \
ro.ril.enable.a52=1 \
ro.ril.enable.a53=1 \
ro.ril.def.agps.mode=2 \
ro.ril.def.agps.feature=1 \
ro.media.dec.jpeg.memcap=10000000 \
ro.com.google.locationfeatures = 1 \
ro.com.google.networklocation=1 \
ro.setupwizard.enable_bypass=1 \
ro.media.dec.aud.wma.enabled=1 \
ro.media.dec.vid.wmv.enabled=1 \
ro.config.sync=yes \
settings.display.autobacklight=1
PRODUCT_PROPERTY_OVERRIDES += \
rild.libpath=/system/lib/libhtc_ril.so \
wifi.interface=tiwlan0
# Time between scans in seconds. Keep it high to minimize battery drain.
# This only affects the case in which there are remembered access points,
# but none are in range.
PRODUCT_PROPERTY_OVERRIDES += \
wifi.supplicant_scan_interval=15
# density in DPI of the LCD of this board. This is used to scale the UI
# appropriately. If this property is not defined, the default value is 160 dpi.
PRODUCT_PROPERTY_OVERRIDES += \
ro.sf.lcd_density=160
# Default network type
# 0 => WCDMA Preferred.
PRODUCT_PROPERTY_OVERRIDES += \
ro.telephony.default_network=0
# Performences tweaks
PRODUCT_PROPERTY_OVERRIDES += \
dalvik.vm.execution-mode=int:jit
# OpenGL ES 1.1-CM
PRODUCT_PROPERTY_OVERRIDES += \
ro.opengles.version = 65536
# media configuration xml file
PRODUCT_COPY_FILES += \
device/htc/hero/media_profiles.xml:/system/etc/media_profiles.xml
# Kernel Targets
ifeq ($(TARGET_PREBUILT_KERNEL),)
LOCAL_KERNEL := device/htc/hero/kernel
else
LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL)
endif
PRODUCT_COPY_FILES += \
$(LOCAL_KERNEL):kernel
KERNEL_NAME := 2.6.29.6-flykernel-12a
PRODUCT_COPY_FILES += \
device/htc/hero/modules/modules.dep.bb:system/lib/modules/$(KERNEL_NAME)/modules.dep.bb \
device/htc/hero/modules/modules.order:system/lib/modules/$(KERNEL_NAME)/modules.order \
device/htc/hero/modules/ip_gre.ko:system/lib/modules/$(KERNEL_NAME)/net/ipv4/ip_gre.ko \
device/htc/hero/modules/wlan.ko:system/lib/modules/$(KERNEL_NAME)/drivers/net/wireless/tiwlan1251/wlan.ko \
device/htc/hero/modules/hid-dummy.ko:system/lib/modules/$(KERNEL_NAME)/drivers/hid/hid-dummy.ko \
device/htc/hero/modules/ramzswap.ko:system/lib/modules/$(KERNEL_NAME)/drivers/staging/ramzswap/ramzswap.ko \
device/htc/hero/modules/cifs.ko:system/lib/modules/$(KERNEL_NAME)/fs/cifs/cifs.ko \
device/htc/hero/modules/fuse.ko:system/lib/modules/$(KERNEL_NAME)/fs/fuse/fuse.ko \
device/htc/hero/modules/wlan.ko:system/lib/modules/wlan.ko
I removed some "call inherit-product" command because they had existed in full_hero.mk. In fact the relationship is below:
full_hero.mk file calls device_hero_eu.mk through "$(call inherit-product, device/htc/hero/device_hero_eu.mk)"
device_hero_eu.mk file calls device_hero.mk through "$(call inherit-product, device/htc/hero/device_hero.mk)"
5th file is full_hero.mk
Code:
# Copyright (C) 2009 The Android Open Source 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.
#
# This file is the build configuration for a full Android
# build for hero hardware. This cleanly combines a set of
# device-specific aspects (drivers) with a device-agnostic
# product configuration (apps).
#
# Inherit from those products. Most specific first.
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk)
$(call inherit-product, device/htc/hero/device_hero_eu.mk)
## (2) Also get non-open-source aspects if available
$(call inherit-product-if-exists, vendor/htc/hero/device_hero-vendor.mk)
# stuff common to all HTC phones
$(call inherit-product, device/htc/common/common.mk)
# Discard inherited values and use our own instead.
PRODUCT_NAME := full_hero
PRODUCT_DEVICE := hero
PRODUCT_BRAND := Android
PRODUCT_MODEL := Full Android on Hero
$(SRC_TARGET_DIR)/product/full_base.mk file in the "build/target/product" directory. This file will call generic.mk file at the same directory.
I am trying to build CM-11 but I keep getting stopped on
Code:
make: *** No rule to make target `/home/gakio12/cm11/out/target/product/hlte/obj/lib/libtime_genoff.so', needed by `/home/gakio12/cm11/out/target/product/hlte/obj/SHARED_LIBRARIES/libandroid_runtime_intermediates/LINKED/libandroid_runtime.so'. Stop.
'
Everything was changed from hlte-common to hlte in device/samsung, but in vendor/samsung, it remains hlte-common. I'm not sure if this is the problem, but renaming the directory to 'hlte' did nothing.
This is in my hlte-common-vendor.mk file in vendor/samsung/hlte-common:
Code:
PRODUCT_PACKAGES += libtime_genoff
$(call inherit-product, vendor/samsung/hlte-common/hlte-common-vendor-blobs.mk)
Does anyone know how I can start to diagnose the problem? libtime_genoff.so is in vendor/samsung/hlte-common, but I have a feeling it is supposed to be elsewhere now that the devices are 'unified'.
gakio12 said:
I am trying to build CM-11 but I keep getting stopped on
Code:
make: *** No rule to make target `/home/gakio12/cm11/out/target/product/hlte/obj/lib/libtime_genoff.so', needed by `/home/gakio12/cm11/out/target/product/hlte/obj/SHARED_LIBRARIES/libandroid_runtime_intermediates/LINKED/libandroid_runtime.so'. Stop.
'
Everything was changed from hlte-common to hlte in device/samsung, but in vendor/samsung, it remains hlte-common. I'm not sure if this is the problem, but renaming the directory to 'hlte' did nothing.
This is in my hlte-common-vendor.mk file in vendor/samsung/hlte-common:
Code:
PRODUCT_PACKAGES += libtime_genoff
$(call inherit-product, vendor/samsung/hlte-common/hlte-common-vendor-blobs.mk)
Does anyone know how I can start to diagnose the problem? libtime_genoff.so is in vendor/samsung/hlte-common, but I have a feeling it is supposed to be elsewhere now that the devices are 'unified'.
Click to expand...
Click to collapse
I'm trying to figure out the same issue as you
I figured out the problem; make sure you have revision="wip" at the end of the kernel and TheMuppets lines of your local_manifest.xml.
gakio12 said:
I figured out the problem; make sure you have revision="wip" at the end of the kernel and TheMuppets lines of your local_manifest.xml.
Click to expand...
Click to collapse
Awesome that worked
gakio12 said:
I figured out the problem; make sure you have revision="wip" at the end of the kernel and TheMuppets lines of your local_manifest.xml.
Click to expand...
Click to collapse
Hi I'm a noob, Can you please give me a little bit more details how to fix this problem please. I'm still learning. Thanks
HI thanks for give me some hints. Just figure it out.
gakio12 said:
I am trying to build CM-11 but I keep getting stopped on
Code:
make: *** No rule to make target `/home/gakio12/cm11/out/target/product/hlte/obj/lib/libtime_genoff.so', needed by `/home/gakio12/cm11/out/target/product/hlte/obj/SHARED_LIBRARIES/libandroid_runtime_intermediates/LINKED/libandroid_runtime.so'. Stop.
'
Everything was changed from hlte-common to hlte in device/samsung, but in vendor/samsung, it remains hlte-common. I'm not sure if this is the problem, but renaming the directory to 'hlte' did nothing.
This is in my hlte-common-vendor.mk file in vendor/samsung/hlte-common:
Code:
PRODUCT_PACKAGES += libtime_genoff
$(call inherit-product, vendor/samsung/hlte-common/hlte-common-vendor-blobs.mk)
Does anyone know how I can start to diagnose the problem? libtime_genoff.so is in vendor/samsung/hlte-common, but I have a feeling it is supposed to be elsewhere now that the devices are 'unified'.
Click to expand...
Click to collapse
Hi, I meet the same issue as you, can you give me some advice on how to solve this problem?
I have this exact problem. I am building a jflte cm11 with no prior experience on linux or on compiling any big projects whatsoever. Can anyone explain for a starter what I need to do? I opened a local_manifest.xml and it said
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="koush/Superuser" path="external/koush/Superuser" remote="github" revision="master" />
<project name="koush/Widgets" path="external/koush/Widgets" remote="github" revision="master" />
</manifest>
I followed this tutorial to the word: http://wiki.cyanogenmod.org/w/Build_for_jflte
libtime_genoff.so.toc
PHP:
ninja: error: '/home/ost268/EmotionOS/out/target/product/kenzo/obj/lib/libtime_genoff.so.toc', needed by '/home/ost268/EmotionOS/out/target/product/kenzo/obj/SHARED_LIBRARIES/libandroid_servers_intermediates/LINKED/libandroid_servers.so', missing and no known rule to make it
make: *** [ninja_wrapper]Error 1
Add to vendor/xiaomi/kenzo/Android.mk
PHP:
include $(CLEAR_VARS)
LOCAL_MODULE := libtime_genoff
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_OWNER := xiaomi
LOCAL_MODULE_PATH_64 := $(TARGET_OUT_VENDOR_SHARED_LIBRARIES)
LOCAL_MODULE_PATH_32 := $(2ND_TARGET_OUT_VENDOR_SHARED_LIBRARIES)
LOCAL_MODULE_SUFFIX := .so
LOCAL_MODULE_TAGS := optional
LOCAL_MULTILIB := both
LOCAL_PROPRIETARY_MODULE := true
LOCAL_SRC_FILES_64 := proprietary/vendor/lib64/libtime_genoff.so
LOCAL_SRC_FILES_32 := proprietary/vendor/lib/libtime_genoff.so
include $(BUILD_PREBUILT)
Hi to all!
I'm building Lineage OS for my device. I added some third party app to my source code: I put apk in a folder in the directory /packages/apps, I added all the apk's name in /vendor/cm/config/common.mk and also within /build/target/core.mk, but the building process doesn't see them and it doesn't include them in the ROM package.
I followed many guides, but all of them failed on this, so I think i'm forgetting something.
There is a method to add third party app to the source code?
Gabrius99 said:
Hi to all!
I'm building Lineage OS for my device. I added some third party app to my source code: I put apk in a folder in the directory /packages/apps, I added all the apk's name in /vendor/cm/config/common.mk and also within /build/target/core.mk, but the building process doesn't see them and it doesn't include them in the ROM package. I followed many guides, but all of them failed on this, so I think i'm forgetting something. There is a method to add third party app to the source code?
Click to expand...
Click to collapse
Try asking within the following thread since it involves how to build a custom ROM from Source Code to End.
http://forum.xda-developers.com/showthread.php?t=2814763
They should be able to either help you out or guide you in the right direction as to where to find the answer.
"Live Long and Prosper..."
~Ambassador S'chn T'gai Spock
Sent via Communicator [D2VZW] from the Bridge of the U.S.S. Enterprise
Ibuprophen said:
Try asking within the following thread since it involves how to build a custom ROM from Source Code to End.
http://forum.xda-developers.com/showthread.php?t=2814763
They should be able to either help you out or guide you in the right direction as to where to find the answer.
"Live Long and Prosper..."
~Ambassador S'chn T'gai Spock
Sent via Communicator [D2VZW] from the Bridge of the U.S.S. Enterprise
Click to expand...
Click to collapse
Thanks a lot
I hope they'll answer me
Gabrius99 said:
Hi to all!
I'm building Lineage OS for my device. I added some third party app to my source code: I put apk in a folder in the directory /packages/apps, I added all the apk's name in /vendor/cm/config/common.mk and also within /build/target/core.mk, but the building process doesn't see them and it doesn't include them in the ROM package.
I followed many guides, but all of them failed on this, so I think i'm forgetting something.
There is a method to add third party app to the source code?
Click to expand...
Click to collapse
Hi. I don't know if you achieved your goal, but I did the procedure bellow to add LibreOfficeViewer to my build and It works for me. Only change the path of device.mk to your device:
LibreofficeViewer
* Create the directory ~/android/system/packages/apps/LibreOfficeViewer
* Edit ~/android/system/packages/apps/LibreOfficeViewer/Android.mk and add:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := LibreOfficeViewer
LOCAL_CERTIFICATE := media
LOCAL_SRC_FILES := LibreOfficeViewer.apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
include $(BUILD_PREBUILT)
* Edit ~/android/system/device/motorola/harpia/device.mk and add:
# LibreOfficeViewer
PRODUCT_PACKAGES += \
LibreOfficeViewer
* Copy LibreOfficeViewer.apk to ~/android/system/packages/apps/LibreOfficeViewer
That's it.
cvbrt said:
Hi. I don't know if you achieved your goal, but I did the procedure bellow to add LibreOfficeViewer to my build and It works for me. Only change the path of device.mk to your device:
LibreofficeViewer
* Create the directory ~/android/system/packages/apps/LibreOfficeViewer
* Edit ~/android/system/packages/apps/LibreOfficeViewer/Android.mk and add:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := LibreOfficeViewer
LOCAL_CERTIFICATE := media
LOCAL_SRC_FILES := LibreOfficeViewer.apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
include $(BUILD_PREBUILT)
* Edit ~/android/system/device/motorola/harpia/device.mk and add:
# LibreOfficeViewer
PRODUCT_PACKAGES += \
LibreOfficeViewer
* Copy LibreOfficeViewer.apk to ~/android/system/packages/apps/LibreOfficeViewer
That's it.
Click to expand...
Click to collapse
I received some answers in the other thread, but I didn't tried those methods yet. Thanks anyway for the help
cvbrt said:
Hi. I don't know if you achieved your goal, but I did the procedure bellow to add LibreOfficeViewer to my build and It works for me. Only change the path of device.mk to your device:
LibreofficeViewer
* Create the directory ~/android/system/packages/apps/LibreOfficeViewer
* Edit ~/android/system/packages/apps/LibreOfficeViewer/Android.mk and add:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := LibreOfficeViewer
LOCAL_CERTIFICATE := media
LOCAL_SRC_FILES := LibreOfficeViewer.apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
include $(BUILD_PREBUILT)
* Edit ~/android/system/device/motorola/harpia/device.mk and add:
# LibreOfficeViewer
PRODUCT_PACKAGES += \
LibreOfficeViewer
* Copy LibreOfficeViewer.apk to ~/android/system/packages/apps/LibreOfficeViewer
That's it.
Click to expand...
Click to collapse
Great! Still works great for lineage18.1. But u no, ~/android/system is called ~/android/lineage here.
y0va said:
Great! Still works great for lineage18.1. But u no, ~/android/system is called ~/android/lineage here.
Click to expand...
Click to collapse
I hate to revive such a long dead thread but I've been struggling with this and hoping for some help so please forgive me. Do you happen to know if the process is any different for LineageOS 20? I'm getting an error that it's failed due to a non-existent module in product_packages.
Hi all!
Starting a new thread to make things more clear to all. We need help. Please, review this thread from page 4:
https://forum.xda-developers.com/mi...s-kernel-source-code-available-t3835130/page4
I'm working in a port of LineageOS 16 to mi a2 lite (daisy).
Thanks to @LazyT @hossman and @davze for their help.
UPDATE:
At the moment we have a device tree and blobs. Uploaded to github.
Not flashed and tested by me yet.
Device:
https://github.com/robotusr/device_xiaomi_daisy (100% uploaded)
&
https://github.com/robotusr/device_x...msm8953-common (100% uploaded)
Proprietary files:
https://github.com/robotusr/propriet...r_xiaomi_daisy (100% uploaded)
&
https://github.com/robotusr/propriet...msm8953-common (100% uploaded)
File local_manifests/roomservice.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="robotusr/device_xiaomi_daisy" path="device/xiaomi/daisy" remote="github" />
<project name="robotusr/device_xiaomi_msm8953-common" path="device/xiaomi/msm8953-common" remote="github" />
<project name="robotusr/proprietary_vendor_xiaomi" path="vendor/xiaomi/daisy" remote="github" />
<project name="robotusr/proprietary_vendor_xiaomi_msm8953-common" path="vendor/xiaomi/msm8953-common" remote="github" />
</manifest>
Steps to build:
-Init LineageOS repo with repo init -u https://github.com/LineageOS/android.git -b lineage-16.0
-repo sync
-Create roomservice file at local_manifests/roomservice.xml
-repo sync (this downloads all daisy device and proprietary files (also for msmscommon))
-Run . build/envsetup.sh
-Because we are bulding an unsupported device with Android 8.1 sources (at the moment), and there are some errors about LOCAL_SDK_VERSION (seems to be mandatory in Android 9) and some dependencies.
Edit file build/make/core/sdk_check.mk (make a backup first to use the original file in future builds).
Modify line whitelisted_modules :=
With this:
Code:
whitelisted_modules := framework-res__auto_generated_rro SystemUI__auto_generated_rro Bluetooth__auto_generated_rro Settings__auto_generated_rro
-export ALLOW_MISSING_DEPENDENCIES=TRUE
-lunch lineage_daisy-eng
-brunch daisy
Please, tell me if it builds ok for you.
Best regards,
Daniel
This is very promising.
Thank you all for the hard work <3
Thanks but need good twrp for that...
Hey there,
if you need repos created on lineageos GitHub or other help just ask them via IRC. Luk made changes in the exchange repo for me for 15.1, I recommend him
Hy, can we use pixelrom as source ?
@robotusr
No sorry, I'm not working on it - only tried to help with your questions.
monojp said:
Hey there,
if you need repos created on lineageos GitHub or other help just ask them via IRC. Luk made changes in the exchange repo for me for 15.1, I recommend him
Click to expand...
Click to collapse
Great! I'll try to contact Luk. Thanks!
LazyT said:
@robotusr
No sorry, I'm not working on it - only tried to help with your questions.
Click to expand...
Click to collapse
Well, you helped me a lot!
Mounting vendor.img to create proprietary-files.txt is the only solution I've found. generate-blob-lists.sh script doesn't works.
Also I've change make files from cm to lineage (updated post #1)
Vendorimg contents:
Code:
drwxr-xr-x. 11 0 2000 4096 dic 31 2008 app
drwxr-xr-x. 4 0 2000 8192 dic 31 2008 bin
-rw-------. 1 0 0 3382 dic 31 2008 build.prop
-rw-r--r--. 1 0 0 1886 dic 31 2008 compatibility_matrix.xml
-rw-------. 1 0 0 614 dic 31 2008 default.prop
drwxr-xr-x. 19 0 2000 4096 dic 31 2008 etc
drwxr-xr-x. 3 0 2000 4096 dic 31 2008 firmware
drwxr-xr-x. 2 0 2000 4096 dic 31 2008 framework
drwxr-xr-x. 11 0 2000 114688 dic 31 2008 lib
drwxr-xr-x. 7 0 2000 12288 dic 31 2008 lib64
drwx------. 2 0 0 16384 dic 31 2008 lost+found
-rw-r--r--. 1 0 0 22941 dic 31 2008 manifest.xml
drwxr-xr-x. 2 0 2000 4096 dic 31 2008 media
drwxr-xr-x. 4 0 2000 4096 dic 31 2008 overlay
drwxr-xr-x. 11 0 2000 4096 dic 31 2008 package
drwxr-xr-x. 3 0 2000 4096 dic 31 2008 radio
drwxr-xr-x. 5 0 2000 4096 dic 31 2008 rfs
drwxr-xr-x. 2 0 2000 4096 dic 31 2008 speccfg
-rw-r--r--. 1 0 0 15446 dic 31 2008 ueventd.rc
This is the audio acdb section I've put in propietary-files.txt at the moment:
Code:
# Audio ACDB
vendor/etc/acdbdata/QRD/QRD_Bluetooth_cal.acdb
vendor/etc/acdbdata/QRD/QRD_General_cal.acdb
vendor/etc/acdbdata/QRD/QRD_Global_cal.acdb
vendor/etc/acdbdata/QRD/QRD_Handset_cal.acdb
vendor/etc/acdbdata/QRD/QRD_Hdmi_cal.acdb
vendor/etc/acdbdata/QRD/QRD_Headset_cal.acdb
vendor/etc/acdbdata/QRD/QRD_Speaker_cal.acdb
vendor/etc/acdbdata/adsp_avs_config.acdb
vendor/etc/acdbdata/QRD/QRD_workspaceFile.qwsp
Info from etc/acdbdata (oem rom):
Code:
etc/acdbdata/:
adsp_avs_config.acdb
MTP
QRD
etc/acdbdata/MTP:
msm8953-tasha-snd-card
MTP_Bluetooth_cal.acdb
MTP_General_cal.acdb
MTP_Global_cal.acdb
MTP_Handset_cal.acdb
MTP_Hdmi_cal.acdb
MTP_Headset_cal.acdb
MTP_Speaker_cal.acdb
MTP_workspaceFile.qwsp
etc/acdbdata/MTP/msm8953-tasha-snd-card:
MTP_WCD9335_Bluetooth_cal.acdb
MTP_WCD9335_General_cal.acdb
MTP_WCD9335_Global_cal.acdb
MTP_WCD9335_Handset_cal.acdb
MTP_WCD9335_Hdmi_cal.acdb
MTP_WCD9335_Headset_cal.acdb
MTP_WCD9335_Speaker_cal.acdb
MTP_WCD9335_workspaceFile.qwsp
etc/acdbdata/QRD:
QRD_Bluetooth_cal.acdb
QRD_General_cal.acdb
QRD_Global_cal.acdb
QRD_Handset_cal.acdb
QRD_Hdmi_cal.acdb
QRD_Headset_cal.acdb
QRD_Speaker_cal.acdb
QRD_workspaceFile.qwsp
I'm creating propietary-files.txt by hand. Please, be patient...
Regards,
Daniel.
greet ,good luck guys
alcopsy said:
Thanks but need good twrp for that...
Click to expand...
Click to collapse
It's not necessary to flash system.img (at the moment) using fastboot.
Obviously, we need a custom recovery to make rom backups and to flash other partitions.
I'm not a developer. Just learning to port a rom to my device.
Regards,
Daniel
robotusr said:
It's not necessary to flash system.img (at the moment) using fastboot.
Obviously, we need a custom recovery to make rom backups and to flash other partitions.
I'm not a developer. Just learning to port a rom to my device.
Regards,
Daniel
Click to expand...
Click to collapse
We have to wait working TWRP ! TWRP by TWRPbuilder is not working, perhaps they should fix it.or we have to wait !that A/B partition make the devellopement not easy !
foudroid said:
We have to wait working TWRP ! TWRP by TWRPbuilder is not working, perhaps they should fix it.or we have to wait !that A/B partition make the devellopement not easy !
Click to expand...
Click to collapse
I agree with you, but building a new device tree has nothing to do with that (partially).
Building a new device tree is useful to porting roms, not only for a recovery. I'm focused on getting an optimised system.img for our device.
This is the hard work.
Kernel's sources for daisy are out and these files are useful to build a custom recovery.
But I repeat, I'm not an expert and, of course, not a developer.
Regards,
Some progress.
I don't need to use extract-files.sh because I have all vendor files (extracted from vendor.img and system.img).
Just tested to make clean && make clobber
breakfast daisy
and always the same. roomservice.xml pointing to my new device repo in git doesn't works. Also tested with local_manifest.xml (I think it's deprecated).
Always build/make/core/product_config.mk:234: error: Can not locate config makefile for product "lineage_daisy".
and
Repository for daisy not found in the LineageOS Github repository list. If this is in error, you may need to manually add it to your local_manifests/roomservice.xml.
The way to get breakfast working is to upload all of my files to LineageOS git as device_xxxxxxxxxx
I'm thinking that another repository like themuppets in the past, doesn't works for Lineage. But I don't know why.
I've asked for help in LineageOS irc and an answer was:
xD
This doesn't helps
robotusr said:
Some progress.
I don't need to use extract-files.sh because I have all vendor files (extracted from vendor.img and system.img).
Just tested to make clean && make clobber
breakfast daisy
and always the same. roomservice.xml pointing to my new device repo in git doesn't works. Also tested with local_manifest.xml (I think it's deprecated).
Always build/make/core/product_config.mk:234: error: Can not locate config makefile for product "lineage_daisy".
and
Repository for daisy not found in the LineageOS Github repository list. If this is in error, you may need to manually add it to your local_manifests/roomservice.xml.
The way to get breakfast working is to upload all of my files to LineageOS git as device_xxxxxxxxxx
I'm thinking that another repository like themuppets in the past, doesn't works for Lineage. But I don't know why.
I've asked for help in LineageOS irc and an answer was:
xD
This doesn't helps
Click to expand...
Click to collapse
did you try to directly lunch "lineage_daisy-eng"? and (even if it sounds dumb and u controlled this already 20 times) all your device makefiles are in the correct location? You could also add daisy in a vendorsetup.sh in device tree and execute ". build/envsetup.sh" again (should see daisy in lunch menu then).
Don't worry, thats the usual answer u get when asking some "devs" for help with android...
wertus33333 said:
did you try to directly lunch "lineage_daisy-eng"? and (even if it sounds dumb and u controlled this already 20 times) all your device makefiles are in the correct location? You could also add daisy in a vendorsetup.sh in device tree and execute ". build/envsetup.sh" again (should see daisy in lunch menu then).
Don't worry, thats the usual answer u get when asking some "devs" for help with android...
Click to expand...
Click to collapse
All mk files are in path and vendorsetup.sh too. envsetup includes vendorsetup.sh from device/xiaomi/daisy.
Lunch "lineage_daisy-eng", breakfast daisy, breakfast lineage_daisy fails with the same error.
Thanks!
robotusr said:
All mk files are in path and vendorsetup.sh too. envsetup includes vendorsetup.sh from device/xiaomi/daisy.
Lunch "lineage_daisy-eng", breakfast daisy, breakfast lineage_daisy fails with the same error.
Thanks!
Click to expand...
Click to collapse
Hmm... I am building oreo at the moment so i'm not sure if P builds the same way. You declared lineage_daisy in lineage.mk? like this:
device/xiaomi/daisy/lineage.mk:
HTML:
PRODUCT_NAME := lineage_daisy
BOARD_VENDOR := Xiaomi
PRODUCT_GMS_CLIENTID_BASE := android-xiaomi
wertus33333 said:
Hmm... I am building oreo at the moment so i'm not sure if P builds the same way. You declared lineage_daisy in lineage.mk? like this:
device/xiaomi/daisy/lineage.mk:
HTML:
PRODUCT_NAME := lineage_daisy
BOARD_VENDOR := Xiaomi
PRODUCT_GMS_CLIENTID_BASE := android-xiaomi
Click to expand...
Click to collapse
Hi these are my files:
lineage.mk
Code:
# Inherit some common lineage stuff.
$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
# Inherit device configuration
$(call inherit-product, device/xiaomi/daisy/full_daisy.mk)
## Device identifier. This must come after all inclusions
PRODUCT_DEVICE := daisy
PRODUCT_NAME := lineage_daisy
BOARD_VENDOR := Xiaomi
PRODUCT_BRAND := xiaomi
PRODUCT_MODEL := daisy
PRODUCT_MANUFACTURER := xiaomi
full_daisy.mk
Code:
# 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.
#
# Inherit from those products. Most specific first.
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
# Inherit from daisy_sprout device
$(call inherit-product, device/xiaomi/daisy/device.mk)
# Device identifier. This must come after all inclusions
TARGET_VENDOR := xiaomi
PRODUCT_DEVICE := daisy
PRODUCT_NAME := lineage_daisy
PRODUCT_BRAND := xiaomi
PRODUCT_MODEL := Mi A2 Lite
PRODUCT_MANUFACTURER := xiaomi
vendorsetup.sh
Code:
add_lunch_combo lineage_daisy-eng
lineage.dependencies
Code:
{
"repository": "android_device_xiaomi_msm8953-common",
"target_path": "device/xiaomi/msm8953-common"
}
]
robotusr said:
Hi these are my files:
lineage.mk
Code:
# Inherit some common lineage stuff.
$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
# Inherit device configuration
$(call inherit-product, device/xiaomi/daisy/full_daisy.mk)
## Device identifier. This must come after all inclusions
PRODUCT_DEVICE := daisy
PRODUCT_NAME := lineage_daisy
BOARD_VENDOR := Xiaomi
PRODUCT_BRAND := xiaomi
PRODUCT_MODEL := daisy
PRODUCT_MANUFACTURER := xiaomi
full_daisy.mk
Code:
# 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.
#
# Inherit from those products. Most specific first.
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
# Inherit from daisy_sprout device
$(call inherit-product, device/xiaomi/daisy/device.mk)
# Device identifier. This must come after all inclusions
TARGET_VENDOR := xiaomi
PRODUCT_DEVICE := daisy
PRODUCT_NAME := lineage_daisy --> this should be "full_daisy" i think
PRODUCT_BRAND := xiaomi
PRODUCT_MODEL := Mi A2 Lite
PRODUCT_MANUFACTURER := xiaomi
vendorsetup.sh
Code:
add_lunch_combo lineage_daisy-eng --> add lunch combo for user and userdebug aswell (maybe this helps xD)
lineage.dependencies
Code:
{
"repository": "android_device_xiaomi_msm8953-common",
"target_path": "device/xiaomi/msm8953-common" --> did you include device/xiaomi/msm8953-common/BoardconfigCommon.mk in BoardConfig.mk?
}
]
Click to expand...
Click to collapse
Here is my daisy los15 tree, it is building at the moment but not sure if it works in the end (maybe this helps you to adapt) also mind the comments i put in the fields above
edit: It does NOT work yet xD
wertus33333 said:
Here is my daisy los15 tree, it is building at the moment but not sure if it works in the end (maybe this helps you to adapt) also mind the comments i put in the fields above
Click to expand...
Click to collapse
Thanks thanks thanks!
I'll try it today.
Best regards!
Finally I have managed to extract blobs. It's not possible to extract all files without root, but I really have this files from vendor.img. Copied manually to directory structure and now I'll try to compile all.
Thanks guys!
@wertus33333
Have you setup any roomservice.xml or local_manifest.xml file to lunch? I'm getting same error
build/make/core/product_config.mk:234: error: Can not locate config makefile for product "lineage_daisy".
My device needs config_useDevInputEventForAudioJack in order to detect a plugged in headset. I have been building lineage based on AndyYan's treble scripts (which are based on PHH). I can get my headphones working if I set the prop persist.sys.overlay.devinputjack to true (this triggers an overlay in PHHussons vendor_hardware_overlay). I have created an overlay using PHHussons guide for my phone (a Teracube 2e). The only value I am setting in the overlay is the config_useDevInputEventForAudioJack, so my res/values/config.xml looks exactly like the devinputjack overlay:
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="config_useDevInputEventForAudioJack">true</bool>
</resources>
I have given it a unique priority and name as laid out in PHHussons guide and I end up with an apk which has the correct contents. The overlay is correctly identified with the phone's build fingerprint and correctly gets put in /system/overlays
I cannot figure out why this does not allow the headphone jack to work.... I can still get it working (or stop it) by setting the persist.sys.overlay.devinputjack prop.
Here is my manifest and makefile... I would appreciate any help.
Code:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="me.phh.treble.overlay.teracube.tc2e"
android:versionCode="1"
android:versionName="1.0">
<overlay android:targetPackage="android"
android:requiredSystemPropertyName="ro.vendor.build.fingerprint"
android:requiredSystemPropertyValue="+Teracube/Teracube_2e*"
android:priority="221"
android:isStatic="true" />
</manifest>
Code:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_PACKAGE_NAME := treble-overlay-teracube-tc2e
LOCAL_MODULE_PATH := $(TARGET_OUT)/overlay
LOCAL_IS_RUNTIME_RESOURCE_OVERLAY := true
LOCAL_PRIVATE_PLATFORM_APIS := true
include $(BUILD_PACKAGE)
sailorcampbell said:
My device needs config_useDevInputEventForAudioJack in order to detect a plugged in headset. I have been building lineage based on AndyYan's treble scripts (which are based on PHH). I can get my headphones working if I set the prop persist.sys.overlay.devinputjack to true (this triggers an overlay in PHHussons vendor_hardware_overlay). I have created an overlay using PHHussons guide for my phone (a Teracube 2e). The only value I am setting in the overlay is the config_useDevInputEventForAudioJack, so my res/values/config.xml looks exactly like the devinputjack overlay:
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="config_useDevInputEventForAudioJack">true</bool>
</resources>
I have given it a unique priority and name as laid out in PHHussons guide and I end up with an apk which has the correct contents. The overlay is correctly identified with the phone's build fingerprint and correctly gets put in /system/overlays
I cannot figure out why this does not allow the headphone jack to work.... I can still get it working (or stop it) by setting the persist.sys.overlay.devinputjack prop.
Here is my manifest and makefile... I would appreciate any help.
Code:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="me.phh.treble.overlay.teracube.tc2e"
android:versionCode="1"
android:versionName="1.0">
<overlay android:targetPackage="android"
android:requiredSystemPropertyName="ro.vendor.build.fingerprint"
android:requiredSystemPropertyValue="+Teracube/Teracube_2e*"
android:priority="221"
android:isStatic="true" />
</manifest>
Code:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_PACKAGE_NAME := treble-overlay-teracube-tc2e
LOCAL_MODULE_PATH := $(TARGET_OUT)/overlay
LOCAL_IS_RUNTIME_RESOURCE_OVERLAY := true
LOCAL_PRIVATE_PLATFORM_APIS := true
include $(BUILD_PACKAGE)
Click to expand...
Click to collapse
Use this as a template. Priority should be 6.
https://github.com/phhusson/vendor_hardware_overlay/blob/master/DevInputJack/AndroidManifest.xml