yashsingh1/xdaforums huggingface dataset:
[Thinkpad Tablet General] drizzle123:
Getting an exception when trying to build recovery:

Device tree:= https://github.com/darran-kelinske-fivestars/android_device_lenovo_tb8504f/tree/lineage-15.1

Vendor tree:= https://github.com/darran-kelinske-fivestars/android_kernel_lenovo_tb8504f/tree/lineage-15.1

Kernel source:= https://github.com/darran-kelinske-fivestars/android_kernel_lenovo_tb8504f/tree/lineage-15.1

ROM Source:= https://github.com/LineageOS/android

/source/android_lenovo/kernel/lenovo/tb8504f/scripts/Makefile.headersinst:55: *** Missing UAPI file /source/android_lenovo/kernel/lenovo/tb8504f/include/uapi/linux/netfilter/xt_DSCP.h. Stop.
make[3]: *** [/source/android_lenovo/kernel/lenovo/tb8504f/scripts/Makefile.headersinst:128: netfilter] Error 2
make[3]: *** Waiting for unfinished jobs....
INSTALL usr/include/uapi/ (0 file)
make[2]: *** [/source/android_lenovo/kernel/lenovo/tb8504f/scripts/Makefile.headersinst:128: linux] Error 2
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [/source/android_lenovo/kernel/lenovo/tb8504f/Makefile:1070: headers_install] Error 2
make[1]: Leaving directory '/source/android_lenovo/out/target/product/tb8504f/obj/KERNEL_OBJ'
make: *** [Makefile:145: sub-make] Error 2
make: Leaving directory '/source/android_lenovo/kernel/lenovo/tb8504f'
[ 5% 692/12675] target C: libfuse_static <= external/fuse/lib/fuse.c
ninja: build stopped: subcommand failed.
16:43:25 ninja failed with: exit status 1

Full output below:

https://pastebin.com/FDgHY2r0

I've tried looking through the source to determine where UAPI comes from. It looks like it comes from the architecture libraries. I am building for an arm architecture, but for some reason the build is looking for a linux UAPI library
[Thinkpad Tablet General] drizzle123:
Found the resolution to that issue and posted it here:

https://stackoverflow.com/questions...b8504f-include-uapi-linux-n/56911895#56911895
[Thinkpad Tablet General] drizzle123:
I am getting the following exception while building the recovery for a lineageos project and need some help diagnosing and resolving the issue

Device tree:= https://github.com/darran-kelinske-fivestars/android_device_lenovo_tb8504f/tree/lineage-15.1

Vendor tree:= https://github.com/darran-kelinske-fivestars/android_vendor_lenovo_tb8504f/tree/lineage-15.1

Kernel source:= https://github.com/darran-kelinske-fivestars/android_kernel_lenovo_tb8504f/tree/lineage-15.1

ROM Source:= https://github.com/LineageOS/android

Command: source build/envsetup.sh && breakfast tb8504f && repo sync --force-sync -q -j6 && mka recoveryimage -j6 | tee recovery.log

../../../../../../kernel/lenovo/msm8917/net/bridge/netfilter/ebtables.c: In function 'ebt_standard_compat_from_user':
../../../../../../kernel/lenovo/msm8917/net/bridge/netfilter/ebtables.c:61:3: error: implicit declaration of function 'xt_compat_calc_jump' [-Werror=implicit-function-declaration]
v += xt_compat_calc_jump(NFPROTO_BRIDGE, v);
^
../../../../../../kernel/lenovo/msm8917/net/bridge/netfilter/ebtables.c: At top level:
../../../../../../kernel/lenovo/msm8917/net/bridge/netfilter/ebtables.c:76:15: error: variable 'ebt_standard_target' has initializer but incomplete type
static struct xt_target ebt_standard_target = {
^
../../../../../../kernel/lenovo/msm8917/net/bridge/netfilter/ebtables.c:77:2: error: unknown field 'name' specified in initializer
.name = "standard",
^
../../../../../../kernel/lenovo/msm8917/net/bridge/netfilter/ebtables.c:77:2: warning: excess elements in struct initializer
error, forbidden warning: ebtables.c:77
CC net/core/gen_estimator.o
/home/lineageos/kernel/lenovo/msm8917/scripts/Makefile.build:257: recipe for target 'net/bridge/netfilter/ebtables.o' failed
make[4]: *** [net/bridge/netfilter/ebtables.o] Error 1
/home/lineageos/kernel/lenovo/msm8917/scripts/Makefile.build:402: recipe for target 'net/bridge/netfilter' failed
make[3]: *** [net/bridge/netfilter] Error 2
/home/lineageos/kernel/lenovo/msm8917/scripts/Makefile.build:402: recipe for target 'net/bridge' failed
make[2]: *** [net/bridge] Error 2
make[2]: *** Waiting for unfinished jobs....

Full log:

https://pastebin.com/v2ZsfRuc
[Thinkpad Tablet General] drizzle123:
I resolved this issue by replacing the source in the include directory of this project with the include directory of another project.

I replaced the source with the source from this directory:

https://github.com/HighwayStar/android_kernel_lenovo_tb8704/tree/tab4-8plus-LA.UM.5.6.r1-0/include
[Thinkpad Tablet General] drizzle123:
I am getting the following exception while building the recovery for a lineageos project and need some help diagnosing and resolving the issue:

ERROR (phandle_references): Reference to non-existent node or label "smb_int_default"

ERROR (phandle_references): Reference to non-existent node or label "gpio_led_off"

ERROR: Input tree has errors, aborting (use -f to force output)
scripts/Makefile.lib:292: recipe for target 'arch/arm64/boot/dts/qcom/msm8917-pmi8937-qrd-sku5.dtb' failed
make[3]: *** [arch/arm64/boot/dts/qcom/msm8917-pmi8937-qrd-sku5.dtb] Error 2
make[3]: *** Waiting for unfinished jobs....
CC drivers/media/platform/msm/camera_v2/isp/msm_isp40.o
CC drivers/media/platform/msm/camera_v2/jpeg_10/msm_jpeg_hw.o
CC drivers/media/radio/radio-iris.o
LD drivers/media/platform/msm/camera_v2/msm_vb2/built-in.o
CC drivers/media/platform/msm/camera_v2/jpeg_10/msm_jpeg_platform.o
CC drivers/media/radio/radio-iris-transport.o
LD drivers/media/platform/msm/camera_v2/jpeg_10/built-in.o
CC drivers/media/platform/msm/camera_v2/isp/msm_isp.o
/home/lineageos/kernel/lenovo/msm8917/scripts/Makefile.build:402: recipe for target 'arch/arm64/boot/dts/qcom' failed
make[2]: *** [arch/arm64/boot/dts/qcom] Error 2
/home/lineageos/kernel/lenovo/msm8917/arch/arm64/Makefile:92: recipe for target 'dtbs' failed
make[1]: *** [dtbs] Error 2
make[1]: *** Waiting for unfinished jobs....

Device tree:= https://github.com/darran-kelinske-fivestars/android_device_lenovo_tb8504f/tree/lineage-15.1

Vendor tree:= https://github.com/darran-kelinske-fivestars/android_vendor_lenovo_tb8504f/tree/lineage-15.1

Kernel source:= https://github.com/darran-kelinske-fivestars/android_kernel_lenovo_tb8504f/tree/lineage-15.1

ROM Source:= https://github.com/LineageOS/android

Command: source build/envsetup.sh && breakfast tb8504f && repo sync --force-sync -q -j6 && mka recoveryimage -j6 | tee recovery.log

Full log:

https://pastebin.com/9V7tQu9G
[Thinkpad Tablet General] drizzle123:
I did notice this difference in device tree files, is it related?

[IMG="difference"]https://ibb.co/TRK8bKz[/IMG]

https://ibb.co/TRK8bKz
[Thinkpad Tablet General] drizzle123:
Getting a little help on stackoverflow: https://stackoverflow.com/questions...-dts-qcom-msm8917-pmi8937-qrd-sku5-dtb-failed
[Thinkpad Tablet General] drizzle123:
Got through that part with the following

I really appreciate the help from danlor.

I took at different approach to solving this problem.

I was using a kernel defconfig that was recommended by another rom builder and I'm not sure if it was correct so I found a way to get the defconfig from the kernel of the device.

1. I pulled the boot.img file off the device

2. I then grabbed the config from the kernel

/usr/src/linux-headers-4.18.0-25-generic/scripts/extract-ikconfig kernel > lineageos_tb8504f_defconfig

I then uploaded it to the kernel repo:

https://github.com/darran-kelinske-...mmit/72370bfa987297398662e314a6c6e898dd193ddb

From there, I set to user it in the make files of the device repo.

https://github.com/darran-kelinske-...mmit/460d9657ab0572e448be39422b98fc0b23b0c257

4. To get the device tree, I used the following tool:

https://github.com/PabloCastellano/extract-dtb

I extracted the device tree

./extract-dtb.py ../../../boot.img

5. I then found the dbt file for the tree that was referenced above and dumped it to a file

fdtdump 26_dtbdump_Qualcomm_Technologies,_Inc._MSM8917-PMI8937_QRD_SKU5.dtb > sku5.txt

I then updated the device tree file to what was in the dump:

https://github.com/darran-kelinske-...mmit/6ae1722b1906a06bb5d0b6cf8e0d8c7501ff9555

I was then able to successfully build the recovery.

[ 99% 1462/1467] Prebuilt: (/home/lineageos/out/target/product/tb8504f/kernel)

[ 99% 1463/1467] Target boot image: /home/lineageos/out/target/product/tb8504f/boot.img

/home/lineageos/out/target/product/tb8504f/boot.img maxsize=68395008 blocksize=135168 total=27078656 reserve=811008

[ 99% 1464/1467] Copying baseline ramdisk...

Modifying ramdisk contents...

cp: cannot stat '/home/lineageos/out/target/product/tb8504f/root/init.recovery.*.rc': No such file or directory

----- Making uncompressed recovery ramdisk ------

[ 99% 1465/1467] ----- Making compressed recovery ramdisk ------

[ 99% 1466/1467] ----- Making recovery image ------

+/home/lineageos/out/target/product/tb8504f/recovery.img maxsize=68395008 blocksize=135168 total=33243136 reserve=811008

----- Made recovery image: /home/lineageos/out/target/product/tb8504f/recovery.img --------

[100% 1467/1467] build /home/lineageos/out/target/product/tb8504f/system/etc/recovery-resource.dat

#### build completed successfully (04:41 (mm:ss)) ####
[Thinkpad Tablet General] drizzle123:
I am getting the following errors when building the complete ROM:

hardware/qcom/audio-caf/msm8996/hal/audio_hw.c:3062:54: error: invalid application of 'sizeof' to an incomplete type 'struct snd_codec_metadata'

return out->compr_config.fragment_size - sizeof(struct snd_codec_metadata);

^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~

hardware/qcom/audio-caf/msm8996/hal/audio_hw.c:3062:68: note: forward declaration of 'struct snd_codec_metadata'

return out->compr_config.fragment_size - sizeof(struct snd_codec_metadata);

^

hardware/qcom/audio-caf/msm8996/hal/audio_hw.c:5388:38: error: no member named 'flags' in 'struct snd_codec'

out->compr_config.codec->flags |= COMPRESSED_TIMESTAMP_FLAG;

~~~~~~~~~~~~~~~~~~~~~~~ ^

hardware/qcom/audio-caf/msm8996/hal/audio_hw.c:5388:47: error: use of undeclared identifier 'COMPRESSED_TIMESTAMP_FLAG'

out->compr_config.codec->flags |= COMPRESSED_TIMESTAMP_FLAG;

^

hardware/qcom/audio-caf/msm8996/hal/audio_hw.c:5454:48: error: invalid application of 'sizeof' to an incomplete type 'struct snd_codec_metadata'

out->compr_config.fragment_size += sizeof(struct snd_codec_metadata);

^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~

Full log:

https://del.dog/becipecavo.pl
[Thinkpad Tablet General] drizzle123:
I realize I need to define QCOM has the vendor somewhere, but which file / where is this typically declared?

I am getting the following exception while building the ROM for a lineageos project and need some help diagnosing and resolving the issue:

-MD -MF /home/lineageos/out/target/product/tb8504f/obj_arm/SHARED_LIBRARIES/libsdmcore_intermediates/drm/hw_info_drm.d -o /home/lineageos/out/target/product/tb8504f/obj_arm/SHARED_LIBRARIES/libsdmcore_intermediates/drm/hw_info_drm.o hardware/qcom/display-caf/msm8996/sdm/libs/core/drm/hw_info_drm.cpp"

hardware/qcom/display-caf/msm8996/sdm/libs/core/drm/hw_info_drm.cpp:559:35: error: use of undeclared identifier 'QCOM'

if (drm_format_modifier == (DRM_FORMAT_MOD_QCOM_COMPRESSED |

^

hardware/qcom/display-caf/msm8996/sdm/libs/core/drm/hw_info_drm.cpp:58:56: note: expanded from macro 'DRM_FORMAT_MOD_QCOM_COMPRESSED'

#define DRM_FORMAT_MOD_QCOM_COMPRESSED fourcc_mod_code(QCOM, 1)

^

hardware/qcom/display-caf/msm8996/sdm/libs/core/drm/hw_info_drm.cpp:560:11: error: use of undeclared identifier 'QCOM'

DRM_FORMAT_MOD_QCOM_DX | DRM_FORMAT_MOD_QCOM_TIGHT)) {

^

hardware/qcom/display-caf/msm8996/sdm/libs/core/drm/hw_info_drm.cpp:61:48: note: expanded from macro 'DRM_FORMAT_MOD_QCOM_DX'

#define DRM_FORMAT_MOD_QCOM_DX fourcc_mod_code(QCOM, 0x2)

^

Device tree:= https://github.com/darran-kelinske-fivestars/android_device_lenovo_tb8504f/tree/lineage-15.1

Vendor tree:= https://github.com/darran-kelinske-fivestars/android_vendor_lenovo_tb8504f/tree/lineage-15.1

Kernel source:= https://github.com/dazza5000/android_kernel_lenovo_msm8937/tree/tb8504f

ROM Source:= https://github.com/LineageOS/android

Command:

repo sync -j20 && source build/envsetup.sh && breakfast tb8504f && make -j20 | tee rom.log

Full log:

https://del.dog/ujizecehug
[Thinkpad Tablet General] drizzle123:
I don't know the long term fix for this issue, but my quick and dirty fix was to define the variable in both of the files that depended on it.

I went into the file hw_info_drm.cpp and added the following at the top:

#define QCOM 1
[Thinkpad Tablet General] drizzle123:
Now I am hitting this issue:

I am getting the following exception while building the ROM for a lineageos project and need some help diagnosing and resolving the issue:

In file included from device/lenovo/tb8504f/camera/QCamera2/util/QCameraDisplay.cpp:53:

In file included from system/core/libutils/include/utils/Looper.h:25:

bionic/libc/include/sys/epoll.h:67:8: error: redefinition of 'epoll_event'

struct epoll_event {

^

out/target/product/tb8504f/obj/KERNEL_OBJ/usr/include/linux/eventpoll.h:59:8: note: previous definition is here

struct epoll_event {

^

1 error generated.

Device tree:= https://github.com/darran-kelinske-fivestars/android_device_lenovo_tb8504f/tree/lineage-15.1

Vendor tree:= https://github.com/darran-kelinske-fivestars/android_vendor_lenovo_tb8504f/tree/lineage-15.1

Kernel source:= https://github.com/dazza5000/android_kernel_lenovo_msm8937/tree/tb8504f

ROM Source:= https://github.com/LineageOS/android

Command:

repo sync -j20 && source build/envsetup.sh && breakfast tb8504f && make -j20 | tee rom.log

Full log:

https://del.dog/qaridufuca
[Thinkpad Tablet General] drizzle123:
I fixed this by borrowing code from a different kernel version that includes the following check

#ifdef __KERNEL__

Full snippet below:

#ifdef __KERNEL__

struct epoll_event {

struct epoll_event {

__u32 events;

__u32 events;

__u64 data;

__u64 data;

@@ -73,4 +74,5 @@ static inline void ep_take_care_of_epollwakeup(struct epoll_event *epev)

epev->events &= ~EPOLLWAKEUP;

epev->events &= ~EPOLLWAKEUP;

}

}

#endif

#endif

#endif /* __KERNEL__ */

Commit:

https://github.com/dazza5000/androi...mmit/ab8195cd2bc6f1c283d79568540d5792c9ed55c2
[Thinkpad Tablet General] drizzle123:
I then hit the following:

classes.jar contains class file org/codeaurora/internal/IExtTelephony.class, which is not in the whitelist

To fix this, I added the following to core/tasks/check_boot_jars/package_whitelist.txt

###################################################
# telephony-ext jar
org\.codeaurora\.internal\.*

Source:

https://github.com/GrowtopiaJaw/android_build_core/commit/928ef1c7d6ba092c1279fe6aa2d5ab2a3683cde8
[Thinkpad Tablet General] drizzle123:
Just had a successful lineage build with the msm8917 kernel and a device tree borrowed / modded from another snapdragon 425 device:

[ 99% 12395/12396] Target system fs image: /home/lineageos/out/target/product/tb8504f/obj/PACKAGING/systemimage_intermediates/system.img
Running: mkuserimg_mke2fs.sh -s /home/lineageos/out/target/product/tb8504f/system /home/lineageos/out/target/product/tb8504f/obj/PACKAGING/systemimage_intermediates/system.img ext4 system 4080218112 -D /home/lineageos/out/target/product/tb8504f/system -L system /home/lineageos/out/target/product/tb8504f/obj/ETC/file_contexts.bin_intermediates/file_contexts.bin
MKE2FS_CONFIG=./system/extras/ext4_utils/mke2fs.conf mke2fs -L system -E android_sparse -t ext4 -b 4096 /home/lineageos/out/target/product/tb8504f/obj/PACKAGING/systemimage_intermediates/system.img 996147
mke2fs 1.43.3 (04-Sep-2016)
Creating filesystem with 996147 4k blocks and 249488 inodes
Filesystem UUID: e26faed4-8f2c-4274-9d3c-0f478465dd26
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

e2fsdroid -p /home/lineageos/out/target/product/tb8504f/system -S /home/lineageos/out/target/product/tb8504f/obj/ETC/file_contexts.bin_intermediates/file_contexts.bin -f /home/lineageos/out/target/product/tb8504f/system -a /system /home/lineageos/out/target/product/tb8504f/obj/PACKAGING/systemimage_intermediates/system.img
Created filesystem with 2613/249488 inodes and 284948/996147 blocks
[100% 12396/12396] Install system fs image: /home/lineageos/out/target/product/tb8504f/system.img
/home/lineageos/out/target/product/tb8504f/system.img+/home/lineageos/out/target/product/tb8504f/obj/PACKAGING/recovery_patch_intermediates/recovery_from_boot.p maxsize=4165552512 blocksize=135168 total=1033488390 reserve=42172416

#### build completed successfully (31:15 (mm:ss)) ####
[Thinkpad Tablet General] drizzle123:
I am trying to flash the Lineage zip that was generated, but keep getting

E2001: Failed to update vendor image.
[Thinkpad Tablet General] yener90:
Your device doesnt have vendor partition. Looks like the device you are copying from has.
[Thinkpad Tablet General] drizzle123:
How do we reverse the drivers files?
[Thinkpad Tablet General] yener90:
Disable treble. There are patches which enable treble. Just do reverse way
[Thinkpad Tablet General] skoar:
Can you please link the commits. I searched around but couldn't find anything since I didn't know what I was looking for. On that note today I did complete a successful lineage build but it didn't boot. I used the stock kernel and I think dm-verity is the culprit here. So a source build kernel will be very much required. I did extract the dts files but there is a whole lot of code and I don't know how to differentiate device specific ones :p

---------- Post added at 20:39 ---------- Previous post was at 20:37 ----------

@drizzle123

I've uploaded the trees to github if you want to take a look

Device - https://github.com/skoar/android_device_lenovo_TBX304

Vendor - https://github.com/skoar/vendor_lenovo_TBX304
[Thinkpad Tablet General] drizzle123:
Isn't that for a different device?
[Thinkpad Tablet General] skoar:
Yeah it's for tab4 10 (tb-x304). I wasn't working on tab4 8
[Thinkpad Tablet General] drizzle123:
Do you have a thread for that device?
[Thinkpad Tablet General] skoar:
It's not booting so no
[Thinkpad Tablet General] drizzle123:
Trying to start work on this again - any help would be <3
[Thinkpad Tablet General] JivanP:
An official download link for the kernel (and other) source code for the Lenovo Tab 4 8" (TB-8504X and TB-8504F) can be found on this page:

pcsupport [dot] lenovo [dot] com/gb/en/products/tablets/a-series/tab4-8/downloads/driver-list/component?name=Software%20and%20Utilities

Direct download link:

download [dot] lenovo [dot] com/consumer/mobiles/tb_8504f_8504x_s001030_191021_row_opensource.tar.gz
[Thinkpad Tablet General] drizzle123:
hero
[Thinkpad Tablet General] drizzle123:
I started going a little more work here:

https://github.com/dazza5000/android_device_lenovo_TB8504

and here:

https://github.com/dazza5000/local-manifest-lineage/blob/master/manifest.xml
[Thinkpad Tablet General] drizzle123:
I'm trying my best :)
[Thinkpad Tablet General] drizzle123:
Building with the current manifest:

https://github.com/dazza5000/local-manifest-lineage/blob/master/manifest.xml

And getting the following exception during build:

make[3]: *** [/rom/tb8504/kernel/lenovo/msm8953/scripts/Makefile.build:402: drivers/input/touchscreen] Error 2
make[2]: *** [/rom/tb8504/kernel/lenovo/msm8953/scripts/Makefile.build:402: drivers/input] Error 2
make[2]: *** Waiting for unfinished jobs....
CC drivers/rtc/rtc-sysfs.o
/rom/tb8504/kernel/lenovo/msm8953/drivers/media/platform/msm/camera_v2/sensor/msm_sensor_driver.c: In function 'msm_sensor_driver_probe':
/rom/tb8504/kernel/lenovo/msm8953/drivers/media/platform/msm/camera_v2/sensor/msm_sensor_driver.c:1214:2: error: implicit declaration of function 'msm_sensor_init_device_name' [-Werror=implicit-function-declaration]
msm_sensor_init_device_name();
^
/rom/tb8504/kernel/lenovo/msm8953/drivers/media/platform/msm/camera_v2/sensor/msm_sensor_driver.c:1215:2: error: implicit declaration of function 'msm_sensor_set_module_info' [-Werror=implicit-function-declaration]
msm_sensor_set_module_info(s_ctrl);
^
[Thinkpad Tablet General] drizzle123:
The failure was further up in the log. Fixed it with this:

https://stackoverflow.com/questions...tory-include-fw-data-5517-i/59490403#59490403
[Thinkpad Tablet General] drizzle123:
The next steps I'm going to do are to copy the msm_sensor_driver source provided by Lenovo which is here: https://github.com/dazza5000/androi...r/drivers/media/platform/msm/camera_v2/sensor to the sensor directory here: https://github.com/dazza5000/androi...0/drivers/media/platform/msm/camera_v2/sensor
[Thinkpad Tablet General] drizzle123:
Now I have this issue:

/rom/tb8504/kernel/lenovo/msm8953/drivers/media/platform/msm/camera_v2/sensor/eeprom/msm_eeprom.c: In function 'msm_get_read_mem_size':
/rom/tb8504/kernel/lenovo/msm8953/drivers/media/platform/msm/camera_v2/sensor/eeprom/msm_eeprom.c:65:5: error: 'MSM_CAM_READ_GC5025A' undeclared (first use in this function)
MSM_CAM_READ_GC5025A)) {
^
/rom/tb8504/kernel/lenovo/msm8953/drivers/media/platform/msm/camera_v2/sensor/eeprom/msm_eeprom.c:65:5: note: each undeclared identifier is reported only once for each function it appears in
/rom/tb8504/kernel/lenovo/msm8953/drivers/media/platform/msm/camera_v2/sensor/eeprom/msm_eeprom.c: In function 'eeprom_parse_memory_map':
/rom/tb8504/kernel/lenovo/msm8953/drivers/media/platform/msm/camera_v2/sensor/eeprom/msm_eeprom.c:451:9: error: 'MSM_CAM_READ_GC5025A' undeclared (first use in this function)
case MSM_CAM_READ_GC5025A: { /*add for gc5025 & gc5025a*/
^
make[8]: *** [/rom/tb8504/kernel/lenovo/msm8953/scripts/Makefile.build:258: drivers/media/platform/msm/camera_v2/sensor/eeprom/msm_eeprom.o] Error 1
make[7]: *** [/rom/tb8504/kernel/lenovo/msm8953/scripts/Makefile.build:402: drivers/media/platform/msm/camera_v2/sensor/eeprom] Error 2

Going to copy the related enum from the files in the uapi directory from the lenovo source to the uapi directory in the public kernel source directory
[Thinkpad Tablet General] drizzle123:
https://github.com/dazza5000/local-manifest-lineage/blob/master/manifest.xml

I got LineageOS project building with the kernel source provided by Lenovo, the device tree for Xiaomi Rolex and vendor from Xiaomi Rolex.

I did have to disable the CONFIG_CLD_LL_CORE to get the kernel to build (bluetooth-power.c was failing to build)

and I had to modify this line

https://github.com/LineageOS/androi...y/blob/lineage-16.0/vendor/common/file.te#L46

I think the next steps are to get the paritition / disk partitions updated to match the TB8504 vs Rolex and to pull the vendor files from the TB8504 and replace the vendor files from rolex
[Thinkpad Tablet General] drizzle123:
No idea - I have been told that the msm8937 kernel runs on the msm8917
[Thinkpad Tablet General] drizzle123:
I was able to build the kernel provided by Lenovo (outside of Lineage), but didn't unpack boot.img, swap kernels, re-pack it and see if it works.
[Thinkpad Tablet General] weaa8675309:
Hey! Did you guys ever make any progress on the TB-8504F?