diff --git a/esdk/layers/meta-zxic-custom/conf/distro/vehicle_dc_ref.conf b/esdk/layers/meta-zxic-custom/conf/distro/vehicle_dc_ref.conf
new file mode 100755
index 0000000..ea544cc
--- /dev/null
+++ b/esdk/layers/meta-zxic-custom/conf/distro/vehicle_dc_ref.conf
@@ -0,0 +1,479 @@
+require conf/distro/include/cpe-base.inc
+
+DISTRO          = "vehicle_dc_ref"
+DISTRO_NAME     = "zxic Distro vehicle_dc_ref"
+DISTRO_VERSION  = "1.0"
+SDK_VENDOR      = "-zxic"
+MAINTAINER      = "Sanechips Co.，Ltd."
+TARGET_VENDOR   = "-zxic"
+
+## OPTEE
+DISTRO_FEATURES += "OPTEE"
+meta_optee += " ${@bb.utils.contains("DISTRO_FEATURES", "OPTEE", " optee-client optee-example  ", "", d)} "
+
+PREFERRED_PROVIDER_virtual/kernel  = "linux-zxic"
+PREFERRED_VERSION_linux-zxic      = "5.10.156"
+PREFERRED_VERSION_busybox      = "1.33.1"
+#PREFERRED_VERSION_openssl      = "1.1.1l"
+
+TCLIBC = "glibc"
+VIRTUAL-RUNTIME_dev_manager   = "busybox-mdev"
+VIRTUAL-RUNTIME_login_manager = "busybox"
+VIRTUAL-RUNTIME_init_manager  = "busybox"
+VIRTUAL-RUNTIME_initscripts   = "initscripts"
+
+# #
+# # Use systemd for system initialization
+# #
+# VIRTUAL-RUNTIME_init_manager        = "systemd"
+# PREFERRED_PROVIDER_udev             = "systemd"
+# PREFERRED_PROVIDER_udev-utils       = "systemd"
+# DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"
+# VIRTUAL-RUNTIME_initscripts         = ""
+# DEFAULT_DISTRO_FEATURES           += "systemd"
+# DISTRO_FEATURES_append              = " systemd"
+# DISTRO_FEATURES_remove              = "sysvinit"
+
+KERNEL_DEVICETREE = " \
+	zx297520v3-vehicle_dc_ref.dtb     \
+"
+# selinux 配置
+DISTRO_FEATURES_append=" selinux "
+
+# 默认是强制模式 enforcing ，调试建议采用宽容模式 permissive
+DEFAULT_ENFORCING = "permissive"
+
+# selinux 策略
+PREFERRED_PROVIDER_virtual/refpolicy ?= "refpolicy-mls"
+
+## adb login
+DISTRO_FEATURES += "adb_login"
+
+# storage type: nand or emmc
+STRORAGE_TYPE = "nand"
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+STRORAGE_CONF = "nand-config-default"
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
+require conf/distro/include/${STRORAGE_CONF}.inc
+
+#rootfs文件系统类型
+IMAGE_FSTYPES  = "squashfs"
+#IMAGE_FSTYPES  = "cpio.gz"
+
+
+#rootfs文件系统squashfs参数配置，压缩方式和块大小可以更改
+#squashfs_xz squashfs_zstd
+DISTRO_FEATURES_append = " squashfs_zstd "
+ROOTFS_SQUASHFS_ARGS = "-nopad -noappend -root-owned -b 256k -p '/dev d 755 0 0' -p '/dev/console c 600 0 0 5 1' -processors 1"
+ROOTFS_SQUASHFS_ARGS += " ${@bb.utils.contains("DISTRO_FEATURES", "selinux", "-xattrs", "", d)} "
+ROOTFS_SQUASHFS_ARGS += "${@bb.utils.contains("DISTRO_FEATURES", "squashfs_zstd", " -comp zstd ","", d)}"
+ROOTFS_SQUASHFS_ARGS += "${@bb.utils.contains("DISTRO_FEATURES", "squashfs_xz", " -comp xz -Xpreset 9 -Xe -Xlc 0 -Xlp 2 -Xpb 2 ","", d)}"
+
+#userdata文件系统类型
+USERDATA_FSTYPE       = "ubi"
+USERDATA_UBINIZE_CFG  = "userdata-ubi-default.cfg"
+OEMDATA_UBINIZE_CFG   = "oemdata-ubi-default.cfg"
+
+#userdata ext4 文件系统大小
+USERDATA_EXT4SIZE = "194018"
+
+#
+# system initialization
+#
+DISTRO_FEATURES_append = " sysvinit "
+
+
+#是否支持MMI LCD功能
+#DISTRO_FEATURES += "MMI_LCD"
+#语音控制
+DISTRO_FEATURES += "voice_alsa"
+DISTRO_FEATURES += "use_voice_buffer"
+#DISTRO_FEATURES += "voice_at"
+
+#cap_oem.img
+DISTRO_FEATURES += " oemfs "
+
+#dm-verity for squashfs
+DISTRO_FEATURES += " dm-verity "
+
+
+#CUSTOM_MACRO在各个产品不变的宏放到cpe-base.inc文件，变化的宏放在产品发布文件。
+CUSTOM_MACRO  += " -D_GNU_SOURCE "
+
+#产品linux kernel配置，主要区分cpe、v2x、mdl,fpga文件在./meta-zxic/recipes-kernel/linux/files目录下
+#BOOT_CTL:版本的启动方式，normal/recovery，如：linux-5_4-fpga-normal.defconfig
+LINUX_BASE_CONFIG = "linux-5_10-${DISTRO}-${BOOT_CTL}-defconfig"
+
+#型号机linux kernel配置，主要区分mdlxx、mdlyy等型号机,文件在./meta-zxic-custom/recipes-kernel/linux/files目录下
+#BOOT_CTL:版本的启动方式，normal/recovery，如：linux-5_4-mdl-normal.cfg
+LINUX_CONFIG = "linux-5_10-${DISTRO}-${BOOT_CTL}.cfg"
+
+#busybox 配置 文件在./meta-zxic/recipes-core/busybox/files目录下
+BUSYBOX_CONFIG = "${DISTRO}-${BOOT_CTL}-busybox.cfg"
+
+##############################################################################
+# custom macro for lib and app
+CUSTOM_MACRO  		+= " -DAPP_OS_LINUX=1 "
+CUSTOM_MACRO	 	+= " -DAPP_OS_TYPE=APP_OS_LINUX "
+
+ENABLE_TESTBENCH_TTY  =  "no"
+##testbench macro for mode,notty=0 single=1 uchm=2
+CUSTOM_MACRO += " -DTTY_MODE_NO=0 "
+CUSTOM_MACRO += " -DTTY_MODE_SINGLE=1 "
+CUSTOM_MACRO += " -DTTY_MODE_MUX=2 "
+CUSTOM_MACRO += " -DUSE_UBIFS "
+CUSTOM_MACRO += " -DUSE_CAP_SUPPORT "
+CUSTOM_MACRO += " -DFOTA_AB "
+CUSTOM_MACRO += "${@bb.utils.contains('ENABLE_TESTBENCH_TTY', 'yes', '-DTESTBENCH_TTY_MODE=TTY_MODE_SINGLE', '-DTESTBENCH_TTY_MODE=TTY_MODE_NO', d)}"
+CONFIG_MMI_LCD = "${@bb.utils.contains("DISTRO_FEATURES", "MMI_LCD", "yes","no", d)}"
+CUSTOM_MACRO += "${@bb.utils.contains('CONFIG_MMI_LCD', 'yes', '', '-DDISABLE_LCD', d)}"
+USE_ZXIC_WEBUI = "no"
+CONFIG_USE_WEBUI_SSL="yes"
+CONFIG_USE_WEBUI_SECURITY="yes"
+#security compile options
+CFLAGS_append  = " -Wl,-z,noexecstack"
+SECURITY_PIE_CFLAGS = " -pie -fPIE"
+SECURITY_STACK_PROTECTOR = " -fstack-protector-all"
+#CUSTOM_MACRO += " -D_USE_CODEC_TI3100 "
+#CUSTOM_MACRO += " -D_USE_CODEC_NAU8810 "
+#CUSTOM_MACRO += " -D_USE_CODEC_TI3104 "
+#CUSTOM_MACRO += " -D_USE_CODEC_MAX9867 "
+CUSTOM_MACRO += " -D_USE_CODEC_ES8311 "
+CUSTOM_MACRO += "${@bb.utils.contains('DISTRO_FEATURES', 'voice_alsa', '-D_USE_VOICE_ALSA', '', d)}"
+CUSTOM_MACRO += "${@bb.utils.contains('DISTRO_FEATURES', 'use_voice_buffer', '-D_USE_VOICE_BUFFER', '', d)}"
+CUSTOM_MACRO += "${@bb.utils.contains('DISTRO_FEATURES', 'voice_at', '-D_USE_VOICE_AT', '', d)}"
+#CONFIG_VB_TRANSMIT_INTF = "RTP"
+#CONFIG_VB_TRANSMIT_INTF = "USB"
+CONFIG_VB_TRANSMIT_INTF = "NULL"
+CUSTOM_MACRO += "${@bb.utils.contains('CONFIG_VB_TRANSMIT_INTF', 'RTP', '-D_VB_TRANSMIT_INTF_RTP', '', d)}"
+CUSTOM_MACRO += "${@bb.utils.contains('CONFIG_VB_TRANSMIT_INTF', 'USB', '-D_VB_TRANSMIT_INTF_USB', '', d)}"
+#wifi 配置
+#"mt7916" "" "" ""
+CONFIG_WIFI_MODULE = "mt7916"
+#"apsta" "sta" "ap"
+CONFIG_WIFI_FUNCTION = "ap"
+#wificfg       = "${@bb.utils.contains('CONFIG_WIFI_FUNCTION', 'ap', bb.utils.contains('CONFIG_WIFI_MODULE', 'esp8089', 'lib32-hostapd-2.6', '', d), '', d)}"
+
+#BL接口支持("BL")，RIL接口支持("RIL")
+CONFIG_TEL_API_SUPPORT = "RIL"
+
+CUSTOM_MACRO  		+= "${@bb.utils.contains('CONFIG_TEL_API_SUPPORT', 'BL', '-D_USE_BL', '', d)}"
+
+#RIL AT通道支持RPMSG模式
+CUSTOM_MACRO  		+= "${@bb.utils.contains('CONFIG_TEL_API_SUPPORT', 'RIL', '-DZXIC_ATCHN_RPMSG_MODE', '', d)}"
+CUSTOM_MACRO  		+= "${@bb.utils.contains('CONFIG_TEL_API_SUPPORT', 'RIL', '-DUSE_CUSTOM_YK', '', d)}"
+
+DISTRO_FEATURES += " vehicle_dc_ref "
+CUSTOM_MACRO += "${@bb.utils.contains('DISTRO_FEATURES', 'vehicle_dc_ref', '-D_USE_VEHICLE_DC_REF', '', d)}"
+
+#多媒体编解码库支持类型"FFMPEG"，"NONE"
+CONFIG_MSMSVR_CODEC_TYPE = "NONE"
+CUSTOM_MACRO  		+= "${@bb.utils.contains('CONFIG_MSMSVR_CODEC_TYPE', 'FFMPEG', '-D_USE_FFMPEG', '', d)}"
+
+#是否使用新的信号强度命令
+CONFIG_USE_NEW_SIGNAL_STRENGTH = "yes"
+
+# app and libs 配置
+#normal的版本应用及库
+zxic_lib += "\
+	libnvram \
+	libatchn \
+	libsofttimer \
+	libzxic-pbm \
+	libsoftap \
+	libatutils \
+	libsqlite \
+	libscipc \
+	libsctel \
+	libbsp \
+	libtinyalsa\
+	libvoice \
+	libmedia \
+	libdebug-info \	
+	libmtd \
+	libsclog \
+	libupi-ab \
+	libbinder \
+	libflags \
+	libmsmsvr \
+	libscrtc \
+        liblynq-uci \
+        liblynq-shm \
+        liblynq-log \
+        libapn \
+        libpal \
+        libvendor-ril \
+        liblynq-call \
+        liblynq-sim \
+        liblynq-network \
+        liblynq-sms \
+        liblynq-data \
+        liblynq-qser-voice \
+        liblynq-qser-sim \
+        liblynq-qser-sms \
+        liblynq-qser-thermal \
+        liblynq-qser-data \
+        liblynq-qser-network \
+        liblynq-qser-gnss \
+        liblynq-qser-fota \
+        liblynq-qser-audio \
+        liblynq-qser-usb \
+        liblynq-qser-wifi \
+        libpoweralarm \
+        liblynq-systime \
+        liblynq-autosuspend \
+        liblynq-qser-autosuspend \
+        liblynq-at-factory \
+        liblynq-gpio \
+        liblynq-irq \
+        liblynq-at-common \
+        liblynq-led \
+        liblynq-adc \
+        liblynq-monitor \
+	"
+
+zxic_lib += "${@bb.utils.contains('CONFIG_TEL_API_SUPPORT', 'RIL', 'libril', 'libtelsvr', d)}"
+zxic_lib += "${@bb.utils.contains('CONFIG_VB_TRANSMIT_INTF', 'RTP', 'librtp', '', d)}"
+#zxic自研应用	
+zxic_app_open += "\
+	nvserver cfg-tool adb ab-bootinfo \
+	at-ctl \
+	atchn-test \
+	zxic-mainctrl \
+	zxic-mmi \
+	zxic-script \
+	zxic-hotplug \
+	zxic-ramdump \
+	sntp \
+	zxic-ipv6-slaac \
+	zxic-ipv6-addr-conver \
+	zxic-ndp \
+	rtc-service \
+	dhcp6 \
+	fscheck \
+	nv-rpc-daemon \
+	zlog-agent \
+	cc-demo \
+	sim-demo \
+	sms-demo \
+	socket-demo \
+	i2ctest \
+	spitest \
+	uarttest \
+	bsp-test \
+	zxic-debug \
+	crc \
+	crc-api \
+	voiceipc-mainctrl \
+	voice-demo \
+	fsmonitor \
+	ethtest \
+	sc-at-test \
+	dialtest \
+	sc-nw-mgr-test \
+	sc-cfg-test \
+	sc-softtimer-test \
+	sc-log-test \
+	sc-shm-test \
+	sc-msg-test \
+	adctest \
+	rtc-timer-demo \
+	tsctest \
+	fota-upi-ab \
+	sc-net-test \	
+	usbtest \
+  	zxic-amt \
+	wlan-proxy \
+	wifi-demo \
+	mnet-whitelist \
+	mnet-whitelist-proxy \
+	flags-tool \
+	msm-svr \
+	phymiitest \
+	player-demo \
+	servicemanager \
+	service \
+	service-test \
+	i2cslavetest \
+	fota-auto-sync \
+	softap-demo \
+	lynq-ril-service \
+	lynq-sdk-ready \
+        lynq-led-demo \
+        lynq-led-sev \
+        uci \
+        gdb \
+        mobiletek-tester-rdit \
+        lynq-qser-voice-demo \
+        lynq-qser-fota-demo \
+        lynq-qser-gnss-demo \
+        lynq-qser-network-demo \
+        poweralarm-demo \
+        lynq-systime-demo \
+        lynq-fota-backup \
+        lynq-qser-sim-demo \
+        lynq-qser-sms-demo \
+        lynq-qser-data-demo \
+        lynq-qser-thermal-demo \
+        lynq-autosuspend \
+	lynq-atcid \
+        lynq-qser-autosuspend-demo \
+        lynq-gpio-demo \
+        lynq-irq-demo \
+        lynq-gnss-update \
+        lynq-audio-demo \
+        lynq-usb-demo \
+        lynq-wifi-demo \
+        lynq-adc-demo \
+        lynq-at-test \
+        lynq-monitor-demo \
+        lynq-vb-demo \
+        "
+
+zxic_app_open += "${@bb.utils.contains('CONFIG_TEL_API_SUPPORT', 'RIL', 'rild', '', d)}"
+zxic_app_open += "${@bb.utils.contains('CONFIG_TEL_API_SUPPORT', 'BL', 'tel-svr', '', d)}"
+zxic_app_open += "${@bb.utils.contains('CONFIG_VB_TRANSMIT_INTF', 'NULL', 'vb-demo', '', d)}"
+
+#开源应用及库	
+meta_app_open += "\
+	dropbear \
+	dbus \
+	e2fsprogs \
+	iptables \
+	curl \
+	dnsmasq \	
+	dhcp6 \
+	radvd \
+	iproute2 \
+	busybox-syslog \
+	ethtool \
+	sqlcipher \
+	iperf3 \
+	tcpdump \
+	python3 \
+	openssl-bin \
+	mtd-utils-ubifs \
+	${@bb.utils.contains('DISTRO_FEATURES', 'dm-verity', 'cryptsetup', '', d)} \
+	${meta_optee} \
+	tzdata \
+	fdk-aac-master \
+	opencore-amr \
+	vo-amrwbenc \
+	ffmpeg \
+	python3 \
+	lrzsz \
+	"
+meta_app_open += "${@bb.utils.contains('CONFIG_MSMSVR_CODEC_TYPE', 'FFMPEG', 'fdk-aac-master opencore-amr vo-amrwbenc ffmpeg', '', d)}"
+
+#normal的版本应用及库
+zxic_app += "\
+	${zxic_lib}	\
+	${zxic_app_open} \
+	${meta_app_open} \
+	"
+
+#zxic自研recovery版本的应用
+zxic_app_open_recovery += "\
+	"
+#recovery版本的开源应用及库
+meta_app_open_recovery += "\
+	"
+#recovery的版本应用及库
+zxic_app_recovery += "\
+	${zxic_app_open_recovery} \
+	${meta_app_open_recovery} "
+
+IMAGE_INSTALL +="\
+	${@bb.utils.contains("BOOT_CTL", "recovery", "${zxic_app_recovery}", "${zxic_app}", d)} \ 
+	"
+
+PACKAGE_EXCLUDE = "eudev eudev-dev eudev-dbg"
+PACKAGE_EXCLUDE = "eudev"
+
+#DISTRO   = "lynq_vehicle_dc"
+#DISTRO_NAME   = "lynq distro vehicle_dc"
+RAT_CONFIG_C2K_SUPPORT = "no"
+MTK_MULTI_SIM_SUPPORT = "dsds" 
+TARGET_PLATFORM = "T106"
+MTK_LED_SUPPORT = "yes"
+#support lynq_atsvc [hong.liu add for lynq atsvc on 2022.12.1]
+LYNQ_ATSVC_SUPPORT = "yes"
+
+#GPIO_CFG value:"PLATFORM" , "GENVICT" ,"GSW"
+MOBILETEK_GPIO_CFG = "PLATFORM"
+
+#PLL_CFG value:"PLATFORM","GSW"
+MOBILETEK_PLL_CFG = "PLATFORM"
+
+#RTP_CFG value:"PLATFORM","GSW"
+MOBILETEK_RTP_CFG = "PLATFORM"
+
+#MEDIA_CFG value:"PLATFORM","GSW"
+MOBILETEK_MEDIA_CFG = "PLATFORM"
+
+#LOG_CFG value:"PLATFORM","GSW"
+MOBILETEK_LOG_CFG = "PLATFORM"
+
+#FOTA_CFG value:"PLATFORM","GSW"
+MOBILETEK_FOTA_CFG = "PLATFORM"
+
+#RIL_CFG value:"PLATFORM","GSW"
+MOBILETEK_RIL_CFG = "PLATFORM"
+
+#UART_CFG value:"PLATFORM","GSW"
+MOBILETEK_UART_CFG = "PLATFORM"
+
+#USB_CFG value:"PLATFORM","GSW"
+MOBILETEK_USB_CFG = "PLATFORM"
+
+#ndis_CFG value:"PLATFORM","GSW"
+MOBILETEK_NDIS_CFG = "PLATFORM"
+
+#SUSPEND_CFG value:"PLATFORM","GSW"
+MOBILETEK_SUSPEND_CFG = "PLATFORM"
+
+#MNLDLOG_CFG value:"PLATFORM","GSW"
+MOBILETEK_MNLDLOG_CFG = "PLATFORM"
+
+#OPTEE_CFG value:"PLATFORM","GSW"
+MOBILETEK_OPTEE_CFG = "PLATFORM"
+
+#EMMC_CFG value:"PLATFORM","GSW"
+MOBILETEK_EMMC_CFG = "PLATFORM"
+
+#WIFIKERNELCODE_CFG value:"PLATFORM","GSW"
+MOBILETEK_WIFIKERNELCODE_CFG = "PLATFORM"
+
+#SYSTEMD_CFG value:"PLATFORM","GSW"
+MOBILETEK_SYSTEMD_CFG = "PLATFORM"
+
+#GSTREAMER_CFG value:"PLATFORM","GSW"
+MOBILETEK_GSTREAMER_CFG = "PLATFORM"
+
+#BUSYBOX_CFG value:"PLATFORM","GSW"
+MOBILETEK_BUSYBOX_CFG = "PLATFORM"
+
+#OPENSSH_CFG value:"PLATFORM","GSW"
+MOBILETEK_OPENSSH_CFG = "PLATFORM"
+
+#OEMAPP_CFG value:"PLATFORM","GSW"
+MOBILETEK_OEMAPP_CFG = "PLATFORM"
+
+#cz.li@20240221 add for choosing GNSS's chip: "HD","HX"
+MOBILETEK_GNSS_TYPE = "HD"
+
+#MOBILETEK_ADB_LOGIN value:"YES","NO"
+MOBILETEK_ADB_LOGIN = "NO"
+
+#cz.li@20240221 add for MOBILETEK_GNSS_UPDATE_ENABLE value: "yes","no"
+MOBILETEK_GNSS_UPDATE_ENABLE = "yes"
+
+#xf.li@20240716 add for MOBILETEK_LOG_ENCRYPT value: "enable","disable"
+MOBILETEK_LOG_ENCRYPT = "disable"
+
+#xf.li@20250123 add for M22 SDK value (support M22 or not): "M22", "default"
+MOBILETEK_NAND_TYPE = "M22"
+
+LYNQ_CONFIG_COMMITID = "e2a3410390ff0ad762462ccb6af8faa5e16dcd61"
+LYNQ_CONFIG_VERSION = "T106-MXX-INTEST2WIFI-P56U11.AP.19.06_CAP.19.06"
+LYNQ_CONFIG_SW_VERSION = "T106-MXX-INTEST2WIFI-P56U11.AP.19.06_CAP.19.06"
diff --git a/esdk/layers/meta-zxic-custom/conf/lynq_base.conf b/esdk/layers/meta-zxic-custom/conf/lynq_base.conf
new file mode 100755
index 0000000..565e516
--- /dev/null
+++ b/esdk/layers/meta-zxic-custom/conf/lynq_base.conf
@@ -0,0 +1,72 @@
+#DISTRO   = "lynq_vehicle_dc"
+#DISTRO_NAME   = "lynq distro vehicle_dc"
+RAT_CONFIG_C2K_SUPPORT = "no"
+MTK_MULTI_SIM_SUPPORT = "dsds" 
+TARGET_PLATFORM = "T106"
+MTK_LED_SUPPORT = "yes"
+#support lynq_atsvc [hong.liu add for lynq atsvc on 2022.12.1]
+LYNQ_ATSVC_SUPPORT = "yes"
+
+#GPIO_CFG value:"PLATFORM" , "GENVICT" ,"GSW"
+MOBILETEK_GPIO_CFG = "PLATFORM"
+
+#PLL_CFG value:"PLATFORM","GSW"
+MOBILETEK_PLL_CFG = "PLATFORM"
+
+#RTP_CFG value:"PLATFORM","GSW"
+MOBILETEK_RTP_CFG = "PLATFORM"
+
+#MEDIA_CFG value:"PLATFORM","GSW"
+MOBILETEK_MEDIA_CFG = "PLATFORM"
+
+#LOG_CFG value:"PLATFORM","GSW"
+MOBILETEK_LOG_CFG = "PLATFORM"
+
+#FOTA_CFG value:"PLATFORM","GSW"
+MOBILETEK_FOTA_CFG = "PLATFORM"
+
+#RIL_CFG value:"PLATFORM","GSW"
+MOBILETEK_RIL_CFG = "PLATFORM"
+
+#UART_CFG value:"PLATFORM","GSW"
+MOBILETEK_UART_CFG = "PLATFORM"
+
+#USB_CFG value:"PLATFORM","GSW"
+MOBILETEK_USB_CFG = "PLATFORM"
+
+#ndis_CFG value:"PLATFORM","GSW"
+MOBILETEK_NDIS_CFG = "PLATFORM"
+
+#SUSPEND_CFG value:"PLATFORM","GSW"
+MOBILETEK_SUSPEND_CFG = "PLATFORM"
+
+#MNLDLOG_CFG value:"PLATFORM","GSW"
+MOBILETEK_MNLDLOG_CFG = "PLATFORM"
+
+#OPTEE_CFG value:"PLATFORM","GSW"
+MOBILETEK_OPTEE_CFG = "PLATFORM"
+
+#EMMC_CFG value:"PLATFORM","GSW"
+MOBILETEK_EMMC_CFG = "PLATFORM"
+
+#WIFIKERNELCODE_CFG value:"PLATFORM","GSW"
+MOBILETEK_WIFIKERNELCODE_CFG = "PLATFORM"
+
+#SYSTEMD_CFG value:"PLATFORM","GSW"
+MOBILETEK_SYSTEMD_CFG = "PLATFORM"
+
+#GSTREAMER_CFG value:"PLATFORM","GSW"
+MOBILETEK_GSTREAMER_CFG = "PLATFORM"
+
+#BUSYBOX_CFG value:"PLATFORM","GSW"
+MOBILETEK_BUSYBOX_CFG = "PLATFORM"
+
+#OPENSSH_CFG value:"PLATFORM","GSW"
+MOBILETEK_OPENSSH_CFG = "PLATFORM"
+
+#OEMAPP_CFG value:"PLATFORM","GSW"
+MOBILETEK_OEMAPP_CFG = "PLATFORM"
+
+LYNQ_CONFIG_COMMITID = "42c9f78988359c468696bde525b9ac0cff3b251f"
+LYNQ_CONFIG_VERSION = "T106-MXX-INTEST2WIFI-P56U11.AP.19.06_CAP.19.06"
+LYNQ_CONFIG_SW_VERSION = "T106-MXX-INTEST2WIFI-P56U11.AP.19.06_CAP.19.06"
diff --git a/esdk/layers/meta-zxic-custom/recipes-core/images/files/zx297520v3/vehicle_dc_ref/fs/normal/rootfs/etc/init.d/first.sh b/esdk/layers/meta-zxic-custom/recipes-core/images/files/zx297520v3/vehicle_dc_ref/fs/normal/rootfs/etc/init.d/first.sh
new file mode 100755
index 0000000..b3dc7dd
--- /dev/null
+++ b/esdk/layers/meta-zxic-custom/recipes-core/images/files/zx297520v3/vehicle_dc_ref/fs/normal/rootfs/etc/init.d/first.sh
@@ -0,0 +1,67 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides:          mountvirtfs
+# Required-Start:
+# Required-Stop:
+# Default-Start:     S
+# Default-Stop:
+# Short-Description: Mount kernel virtual file systems.
+# Description:       Mount initial set of virtual filesystems the kernel
+#                    provides and that are required by everything.
+### END INIT INFO
+
+if [ -e /proc ] && ! [ -e /proc/mounts ]; then
+  mount -t proc proc /proc
+fi
+
+if [ -e /sys ] && grep -q sysfs /proc/filesystems && ! [ -e /sys/class ]; then
+  mount -t sysfs sysfs /sys
+fi
+
+if [ -e /sys/kernel/debug ] && grep -q debugfs /proc/filesystems; then
+  mount -t debugfs debugfs /sys/kernel/debug
+fi
+
+if [ -e /sys/kernel/config ] && grep -q configfs /proc/filesystems; then
+  mount -t configfs configfs /sys/kernel/config
+fi
+
+if [ -e /sys/firmware/efi/efivars ] && grep -q efivarfs /proc/filesystems; then
+  mount -t efivarfs efivarfs /sys/firmware/efi/efivars
+fi
+
+if ! [ -e /dev/zero ] && [ -e /dev ] && grep -q devtmpfs /proc/filesystems; then
+  mount -n -t devtmpfs devtmpfs /dev
+fi
+
+mkdir -p /tmp
+#l.yang modify for T106BUG-387 start 
+mount   -t  tmpfs   tmpfs    /tmp -o nodev,nosuid,noexec
+#l.yang modify for T106BUG-387 end
+mkdir -p /run
+#l.yang modify for T106BUG-387 start
+mount   -t  tmpfs   tmpfs    /run  -o nodev,nosuid,noexec
+#l.yang modify for T106BUG-387 end
+mkdir -p /dev/pts
+mount   -t  devpts  devpts   /dev/pts
+
+mkdir -p /tmp/run
+
+#软锁panic
+#echo 1 > /proc/sys/kernel/softlockup_panic
+#内存耗尽oom panic
+echo 1 > /proc/sys/vm/panic_on_oom
+#警告panic
+#echo 1 > /proc/sys/kernel/panic_on_warn
+#echo 0 > /proc/sys/kernel/hung_task_timeout_secs
+
+echo "mount configfs..."
+mount none /sys/kernel/config  -t configfs
+
+
+echo "ifconfig lo up"
+ifconfig lo 127.0.0.1 up
+
+echo 2 > /proc/sys/kernel/randomize_va_space
+echo 2 > /proc/sys/kernel/kptr_restrict
+
diff --git a/esdk/layers/meta-zxic-custom/recipes-core/images/zxic-image.bb b/esdk/layers/meta-zxic-custom/recipes-core/images/zxic-image.bb
new file mode 100755
index 0000000..ef3cdd5
--- /dev/null
+++ b/esdk/layers/meta-zxic-custom/recipes-core/images/zxic-image.bb
@@ -0,0 +1,294 @@
+SUMMARY       = "zxic normal image"
+IMAGE_LINGUAS = " "
+LICENSE       = "zte"
+PV = "1.0.0"
+PR = "r0"
+
+inherit core-image extrausers   ${@bb.utils.contains("DISTRO_FEATURES", "selinux", "selinux-image", "", d)} 
+
+OPENWRT_FULL ="\
+    packagegroup-openwrt-minimal \
+    packagegroup-openwrt-base \
+    packagegroup-openwrt-full \
+    ugps \
+    usbmode \
+    urngd \
+    mtd-utils-ubifs \
+    fwtool \
+    usign \
+    swconfig \
+    mtd-openwrt \
+    opkg \
+    cgi-io \
+    "
+OPENWRT_RECOVERY ="\
+    packagegroup-openwrt-minimal \
+    mtd-utils-ubifs \
+    mtd-openwrt \
+    "
+
+
+OPENWRT_PACKAGE = "${@bb.utils.contains("BOOT_CTL", "recovery", "${OPENWRT_RECOVERY}", "${OPENWRT_FULL}", d)}"
+IS_OPENWRT = "${@bb.utils.contains('DISTRO_FEATURES', 'OPENWRT', 'true', 'false', d)}"
+ROOT_FS_NAME = "${@bb.utils.contains("BOOT_CTL", "recovery", "ap_recoveryfs.bin", "ap_caprootfs.img", d)}"
+USEDATA_FS_NAME = "${@bb.utils.contains("BOOT_CTL", "recovery", "ap_userdata_recovery.bin", "ap_capuserdata.img", d)}"
+OEMDATA_FS_NAME = "${@bb.utils.contains("BOOT_CTL", "recovery", "ap_oemdata_recovery.bin", "cap_oemdata.img", d)}"
+
+CORE_IMAGE_BASE_INSTALL = '\
+    ${@bb.utils.contains("DISTRO_FEATURES", "OPENWRT", "${OPENWRT_PACKAGE}", "", d)} \ 
+    packagegroup-core-boot-zxic \
+    packagegroup-lynq-t106 \
+    ${@bb.utils.contains("DISTRO_FEATURES", "selinux", "packagegroup-selinux-minimal", "", d)} \ 
+    ${MACHINE_EXTRA_RDEPENDS}   \
+    ${CORE_IMAGE_EXTRA_INSTALL} \
+    '
+
+# Include modules in rootfs
+IMAGE_INSTALL += "${CORE_IMAGE_BASE_INSTALL}"
+
+IMAGE_INSTALL += " \
+	kernel-modules \
+	${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'dpkg-start-stop', '', d)} \
+	"
+
+#pub include
+include ${BSPDIR}/sources/meta-zxic/conf/pub.inc
+
+DEPENDS  += "\
+    u-boot-tools-native rsync-native \
+    ${@bb.utils.contains("USERDATA_FSTYPE", "ubi", "mtd-utils-native", "", d)} \
+    ${@bb.utils.contains('IMAGE_FSTYPES', 'squashfs', 'squashfskit-native', '', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES','dm-verity','cryptsetup-native','',d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES','dm-verity','coreutils-native','',d)} \
+    " 
+
+# Add \ in front of $
+ROOT_PASSWD = "\$6\$GnJN6BAFj7TmbOS\$o4tptoaFJYZe79CWh2VzAgGhQGqfDHoraVUs0nr4TT2e9V2ubq.l.nLrF80ECrtfvPrJDL1J3fbR62nei9A3F1"
+#EXTRA_USERS_PARAMS += "usermod -p '${ROOT_PASSWD}' root;"
+EXTRA_USERS_PARAMS += "${@bb.utils.contains("DISTRO_FEATURES", "OPENWRT", "usermod -p '${ROOT_PASSWD}' root;", "", d)}"
+
+fakeroot distro_rootfs_files_systemd() {
+	rm -rf ${IMAGE_ROOTFS}/boot
+	cp -arfp ${FS-DIR}/fs/${BOOT_CTL}/rootfs/*   ${IMAGE_ROOTFS}/
+}
+
+fakeroot distro_rootfs_files_fpga() {
+	rm -rf ${IMAGE_ROOTFS}/boot
+	rm -rf ${IMAGE_ROOTFS}/linuxrc
+	rm -rf ${IMAGE_ROOTFS}/etc/systemd/system.conf
+	cp -arfp ${FS-DIR}/fs/${BOOT_CTL}/rootfs/*   ${IMAGE_ROOTFS}/
+	chmod 644 ${IMAGE_ROOTFS}/etc/passwd
+	chmod 644 ${IMAGE_ROOTFS}/etc/group
+	chmod 644 ${IMAGE_ROOTFS}/etc/inittab
+	chmod 400 ${IMAGE_ROOTFS}/etc/shadow
+	chmod a+x ${IMAGE_ROOTFS}/etc/init.d/rcS
+	chmod a+r ${IMAGE_ROOTFS}/etc/init.d/rcS
+}
+
+fakeroot distro_rootfs_files_sysvinit() {
+	rm -rf ${IMAGE_ROOTFS}/boot
+	cp -arfp ${FS-DIR}/fs/${BOOT_CTL}/rootfs/*   ${IMAGE_ROOTFS}/
+
+	rm -rf ${IMAGE_ROOTFS}/etc/rc[0-6].d
+	rm -f ${IMAGE_ROOTFS}/etc/fstab
+	rm -f ${IMAGE_ROOTFS}/etc/default/rcS
+	chmod 644 ${IMAGE_ROOTFS}/etc/passwd
+	chmod 644 ${IMAGE_ROOTFS}/etc/group
+	chmod 644 ${IMAGE_ROOTFS}/etc/inittab
+	chmod 400 ${IMAGE_ROOTFS}/etc/shadow
+	chmod a+x ${IMAGE_ROOTFS}/etc/init.d/rcS
+	find ${IMAGE_ROOTFS}/ -name '.gitkeep' -print0 | xargs -0 rm -fr
+}
+
+ROOTFS_POSTPROCESS_COMMAND += "\
+    ${@bb.utils.contains("DISTRO_FEATURES", "sysvinit", "distro_rootfs_files_sysvinit;", "", d)}   \
+    ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "distro_rootfs_files_systemd;", "", d)}   \
+    "
+
+fakeroot do_cprootfs() {
+	#rm -fv ${BINS-PATH}/${ROOT_FS_NAME}
+	mkdir -p ${BINS-PATH} ${ELFS-PATH}
+
+	if [ ${IMAGE_FSTYPES} = 'cpio.gz' ]; then
+		cd ${IMAGE_ROOTFS} && find . | cpio -o -H newc | gzip -9 > ${IMAGE_ROOTFS}/ramdisk.image.gz
+		mv  ${IMAGE_ROOTFS}/ramdisk.image.gz  ${BINS-PATH}/${ROOT_FS_NAME}
+		if [ -d "${TMPDIR}/work/zx298501-zxic-linux-musl/linux-zxic/5.4.154-r0" ]; then      
+			cp -arfp ${THISDIR}/files/Makefile_dtb ${B}/Makefile
+			cp -arfp ${THISDIR}/files/fix_rootfs_dts.sh  ${B}/
+			${B}/fix_rootfs_dts.sh   ${MACHINE}-${DISTRO}  ${TMPDIR}/work-shared/zx298501/kernel-source  ${BINS-PATH}
+			oe_runmake -C ${B} S=${TMPDIR}/work/zx298501-zxic-linux-musl/linux-zxic/5.4.154-r0  BINS-PATH=${ELFS-PATH} DTB=${MACHINE}-${DISTRO}.dtb
+		fi
+	else
+		#cp -v ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${IMAGE_FSTYPES}  ${BINS-PATH}/${ROOT_FS_NAME}
+		cp -v ${IMGDEPLOYDIR}/rootfs.tgz ${ELFS-PATH}/${ROOT_FS_NAME}.tgz
+	fi
+}
+
+fakeroot do_cleanrootfs () {
+	rm -fv ${BINS-PATH}/${ROOT_FS_NAME}
+	rm -fv ${BINS-PATH}/${USEDATA_FS_NAME}
+	rm -fv ${BINS-PATH}/*.img*
+}
+
+do_product_ini() {
+	mkdir -p ${BINS-PATH}
+	echo "[imagefs]" > ${BINS-PATH}/product.ini
+	echo "mkfs_ubifs=${IMAGEFS_MKUBIFS_ARGS}" >>  ${BINS-PATH}/product.ini
+	echo "ubinize=${IMAGEFS_UBINIZE_ARGS}"    >>  ${BINS-PATH}/product.ini
+}
+
+do_all_flags_bin() {
+	${BSPDIR}/zxic_code/pub/tools/libflags/flags_tool -f ${BINS-PATH}/all_flags.bin ${FLAGS_ARGS}
+}
+
+fakeroot do_mkubifs(){
+	if [ ${BOOT_CTL} = 'normal' ]; then
+		cp -arfp ${THISDIR}/files/ubinize-cfg.sh ${B}
+		cp -arfp ${BSPDIR}/sources/meta-zxic-custom/conf/distro/include/${USERDATA_UBINIZE_CFG} ${B}
+		mkdir -p ${BINS-PATH}
+		${B}/ubinize-cfg.sh "${BINS-PATH}/${USEDATA_FS_NAME}"  "${B}/${USERDATA_UBINIZE_CFG}"  "${USERDATA_UBINIZE_ARGS}"
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+if ${@bb.utils.contains('MOBILETEK_NAND_TYPE','M22','true','false',d)}; then
+		${B}/ubinize-cfg.sh "${BINS-PATH}/ap_capuserdata_M22.img"  "${B}/${USERDATA_UBINIZE_CFG}"  "${LYNQ_M22_USERDATA_UBINIZE_ARGS}"
+fi
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
+		mkdir -p ${IMAGE_ROOTFS}/etc_ro/
+		cp -v "${BINS-PATH}/${USEDATA_FS_NAME}" ${IMAGE_ROOTFS}/etc_ro/
+	fi
+}
+
+
+fakeroot do_rootfs_squashfs(){
+	cp -arfp ${THISDIR}/files/ubinize-static.sh ${B}
+	if ${@bb.utils.contains('DISTRO_FEATURES','dm-verity','true','false',d)}; then
+		cp -arfp ${THISDIR}/files/squashfs_dm-verity.sh ${B}
+		cp -arfp ${THISDIR}/files/zxic_generate_squashfs_verity ${B}
+	fi
+	if ${@bb.utils.contains('DISTRO_FEATURES','dm-verity','true','false',d)}; then
+		touch  ${IMAGE_ROOTFS}/etc_ro/dm-verity
+	else
+		rm -fv ${IMAGE_ROOTFS}/etc_ro/dm-verity
+	fi
+
+	rm -fv ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs_tmp
+	mksquashfs4 ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs_tmp ${ROOTFS_SQUASHFS_ARGS}
+	if ${@bb.utils.contains('DISTRO_FEATURES','dm-verity','true','false',d)}; then
+		cp ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs_tmp  ${S}/${ROOT_FS_NAME}.unsigned
+		echo "veritysetup and ubinize in do_dm_verity() later ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}"
+	else
+		echo "rootfs squashfs need ubinize-image on nand flash"
+		${B}/ubinize-static.sh vol_rootfs "${BINS-PATH}/ap_caprootfs.img" ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs_tmp "${UBINIZE_ARGS}"
+	fi
+	cd ${IMAGE_ROOTFS}/../ && tar -czvf ${IMGDEPLOYDIR}/rootfs.tgz  rootfs
+}
+
+fakeroot do_oemfs_squashfs(){
+	cp -arfp ${THISDIR}/files/ubinize-static.sh ${B}
+	cp  -arfp  ${FS-DIR}/fs/normal/oem/   ${S}/
+	if ${@bb.utils.contains('DISTRO_FEATURES','dm-verity','true','false',d)}; then
+		cp -arfp ${THISDIR}/files/squashfs_dm-verity.sh ${B}
+		cp -arfp ${THISDIR}/files/zxic_generate_squashfs_verity ${B}
+	fi
+
+	rm -fv ${IMGDEPLOYDIR}/oem.squashfs_tmp
+	mksquashfs4 ${S}/oem ${IMGDEPLOYDIR}/oem.squashfs_tmp ${ROOTFS_SQUASHFS_ARGS}
+	if ${@bb.utils.contains('DISTRO_FEATURES','dm-verity','true','false',d)}; then
+		cp ${IMGDEPLOYDIR}/oem.squashfs_tmp  ${S}/cap_oem.img.unsigned
+		echo "veritysetup and ubinize in do_dm_verity() later"
+	else
+		echo "oem squashfs need ubinize-image on nand flash"
+		${B}/ubinize-static.sh vol_oem "${BINS-PATH}/cap_oem.img" ${IMGDEPLOYDIR}/oem.squashfs_tmp "${UBINIZE_ARGS}"
+		mkdir -p ${ELFS-PATH}
+		rm -rf ${IMGDEPLOYDIR}/oem.squashfs_tmp
+	fi
+	mkdir -p ${ELFS-PATH}
+	cd ${S}/oem/../ && tar -czvf ${ELFS-PATH}/oem.tgz  oem
+
+}
+
+fakeroot do_oemfs_oemdata(){
+	if [ ${BOOT_CTL} = 'normal' ]; then
+		cp -arfp ${THISDIR}/files/ubinize-cfg.sh ${B}
+		cp -arfp ${BSPDIR}/sources/meta-zxic-custom/conf/distro/include/${OEMDATA_UBINIZE_CFG} ${B}
+		mkdir -p ${BINS-PATH}
+		${B}/ubinize-cfg.sh "${BINS-PATH}/${OEMDATA_FS_NAME}"  "${B}/${OEMDATA_UBINIZE_CFG}"  "${USERDATA_UBINIZE_ARGS}"
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+if ${@bb.utils.contains('MOBILETEK_NAND_TYPE','M22','true','false',d)}; then
+		${B}/ubinize-cfg.sh "${BINS-PATH}/cap_oemdata_M22.img"  "${B}/${OEMDATA_UBINIZE_CFG}"  "${LYNQ_M22_USERDATA_UBINIZE_ARGS}"
+fi
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
+		mkdir -p ${IMAGE_ROOTFS}/etc_ro/
+		cp -v "${BINS-PATH}/${OEMDATA_FS_NAME}" ${IMAGE_ROOTFS}/etc_ro/
+	fi
+}
+
+ROOTFS_POSTPROCESS_COMMAND_remove += 'empty_var_volatile;'
+
+fakeroot do_postinstall(){
+	if [ -f ${IMAGE_ROOTFS}/postinstall.sh ]; then
+		cd ${IMAGE_ROOTFS} && sh postinstall.sh && rm -v ${IMAGE_ROOTFS}/postinstall.sh
+	fi
+}
+
+fakeroot do_ln_musl_ld(){
+	if [ ! -L ${IMAGE_ROOTFS}/lib/ld-linux-aarch64.so.1 ]; then
+		if [ -L ${IMAGE_ROOTFS}/lib/ld-musl-aarch64.so.1 ]; then
+			cd ${IMAGE_ROOTFS}/lib && ln -snf ld-musl-aarch64.so.1  ld-linux-aarch64.so.1
+		fi
+	fi
+}
+
+do_dm_verity(){
+	if ${@bb.utils.contains('DISTRO_FEATURES','dm-verity','true','false',d)}; then
+		rm -fv ${BINS-PATH}/ap_caprootfs.dm
+		${S}/squashfs_dm-verity.sh  ${S}/${ROOT_FS_NAME}.unsigned  ${S} \
+			${BINS-PATH}/ap_caprootfs.img.dm ${SIGNIMAGE_PRIVATE_KEY} ${BSPDIR}/tools/SignTool/SignImage
+		${S}/ubinize-static.sh vol_rootfs "${BINS-PATH}/ap_caprootfs.img" ${BINS-PATH}/ap_caprootfs.img.dm "${UBINIZE_ARGS}"
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+if ${@bb.utils.contains('MOBILETEK_NAND_TYPE','M22','true','false',d)}; then
+		${S}/ubinize-static.sh vol_rootfs "${BINS-PATH}/ap_caprootfs_M22.img" ${BINS-PATH}/ap_caprootfs.img.dm "${LYNQ_M22_UBINIZE_ARGS}"
+fi
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
+		if ${@bb.utils.contains('DISTRO_FEATURES','oemfs','true','false',d)}; then
+			rm -fv ${BINS-PATH}/cap_oem.img.dm
+			${B}/squashfs_dm-verity.sh  ${S}/cap_oem.img.unsigned  ${B} \
+				${BINS-PATH}/cap_oem.img.dm ${SIGNIMAGE_PRIVATE_KEY} ${BSPDIR}/tools/SignTool/SignImage
+			${B}/ubinize-static.sh vol_oem "${BINS-PATH}/cap_oem.img" ${BINS-PATH}/cap_oem.img.dm "${UBINIZE_ARGS}"
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+if ${@bb.utils.contains('MOBILETEK_NAND_TYPE','M22','true','false',d)}; then
+			${B}/ubinize-static.sh vol_oem "${BINS-PATH}/cap_oem_M22.img" ${BINS-PATH}/cap_oem.img.dm "${LYNQ_M22_UBINIZE_ARGS}"
+fi
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
+		fi
+	fi
+}
+
+IMAGE_POSTPROCESS_COMMAND_prepend = ' \
+    do_postinstall; \
+    ${@bb.utils.contains("TCLIBC", "musl", "do_ln_musl_ld;", "", d)} \
+    ${@bb.utils.contains("DISTRO_FEATURES", "selinux", "selinux_set_labels ;", "", d)} \
+   '
+
+IMAGE_POSTPROCESS_COMMAND += "\
+    ${@bb.utils.contains("USERDATA_FSTYPE", "ubi", "do_mkubifs;", "", d)} \
+    ${@bb.utils.contains("DISTRO_FEATURES", "oemfs", "do_oemfs_squashfs;", "", d)} \
+    ${@bb.utils.contains("DISTRO_FEATURES", "oemfs", "do_oemfs_oemdata;", "", d)} \
+    ${@bb.utils.contains("IMAGE_FSTYPES", "squashfs", "do_rootfs_squashfs;", "", d)} \
+    "
+#xf.li@20240716 add start
+do_oem_config() {
+	LYNQ_INSIDE_VERSION_UCI="        option LYNQ_SW_INSIDE_VERSION '${LYNQ_CONFIG_VERSION}'"
+	eval sed -i 's/^.*LYNQ_SW_INSIDE_VERSION.*$/"${LYNQ_INSIDE_VERSION_UCI}"/' ${IMAGE_ROOTFS}/etc/config/lynq_uci_ro
+	if [ "${MOBILETEK_LOG_ENCRYPT}" = "enable" ]; then
+		touch ${IMAGE_ROOTFS}/etc/syslog_encrypt_flag
+	else
+		rm -rf ${IMAGE_ROOTFS}/etc/syslog_encrypt_flag
+		touch ${IMAGE_ROOTFS}/etc/no_log_encrypt
+	fi
+}
+addtask  do_oem_config after do_rootfs before do_image
+#xf.li@20240716 add end
+addtask  cprootfs after do_dm_verity before do_build
+addtask  do_dm_verity after do_image_complete  before do_build
+addtask  cleanrootfs after do_clean  before do_cleansstate
+
diff --git a/esdk/layers/meta-zxic-custom/recipes-kernel/linux/linux-zxic_5.10.bbappend b/esdk/layers/meta-zxic-custom/recipes-kernel/linux/linux-zxic_5.10.bbappend
new file mode 100755
index 0000000..3d328f4
--- /dev/null
+++ b/esdk/layers/meta-zxic-custom/recipes-kernel/linux/linux-zxic_5.10.bbappend
@@ -0,0 +1,7 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:${THISDIR}/files:"
+
+SRC_URI_append = "\
+    file://${LINUX_CONFIG} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'OPTEE', 'file://optee.cfg', '', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'dm-verity', 'file://dm-verity.cfg', '', d)} \
+"
\ No newline at end of file
diff --git a/esdk/layers/meta-zxic-custom/recipes-lynq/liblynq-autosuspend/liblynq-autosuspend.bb b/esdk/layers/meta-zxic-custom/recipes-lynq/liblynq-autosuspend/liblynq-autosuspend.bb
new file mode 100755
index 0000000..fc81884
--- /dev/null
+++ b/esdk/layers/meta-zxic-custom/recipes-lynq/liblynq-autosuspend/liblynq-autosuspend.bb
@@ -0,0 +1,53 @@
+#inherit externalsrc package
+
+DESCRIPTION = "liblynq-autosuspend"
+LICENSE = "CLOSED"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b1e07e8d88e26263e71d3a9e2aa9a2ff"
+DEPENDS += "libbsp liblynq-log"
+#inherit workonsrc
+WORKONSRC = "${TOPDIR}/../src/lynq/lib/liblynq-autosuspend"
+FILESEXTRAPATHS_prepend :="${TOPDIR}/../src/lynq/lib/:"
+SRC_URI = " \
+          file://liblynq-autosuspend \
+          "
+
+SRC-DIR = "${S}/../liblynq-autosuspend"
+TARGET_CC_ARCH += "${LDFLAGS}"
+BB_INCLUDE_ADD = "--sysroot=${STAGING_DIR_HOST}"
+BB_LDFLAGS_ADD = "--sysroot=${STAGING_DIR_HOST} -Wl,--hash-style=gnu"
+#Parameters passed to do_compile()
+EXTRA_OEMAKE = "'TARGET_PLATFORM = ${TARGET_PLATFORM}'"
+
+FILES_${PN} = "${base_libdir}/*.so \
+               ${base_bindir}\
+               ${base_sbindir} \
+               /etc/dbus-1/system.d/"
+FILES_${PN}-dev = "/test \
+                   ${includedir}"
+FILES_${PN}-doc = "/doc"
+FILES_${PN}-dbg ="${base_bindir}/.debug \
+                  ${base_libdir}/.debug \
+                  ${base_sbindir}/.debug"
+INSANE_SKIP_${PN} += "already-stripped"
+INSANE_SKIP_${PN} += "installed-vs-shipped"
+#INHIBIT_PACKAGE_STRIP = "1"
+do_compile () {
+	if [ "${PACKAGE_ARCH}" = "cortexa7hf-vfp-vfpv4-neon" ]; then
+		oe_runmake all -C ${SRC-DIR} ROOT=${STAGING_DIR_HOST} OFLAGS="--sysroot=${STAGING_DIR_HOST} -Os -mfpu=neon-vfpv4 -mhard-float -Wl,--hash-style=gnu"
+	elif [ "${PACKAGE_ARCH}" = "cortexa7hf-neon-vfpv4" ]; then
+		oe_runmake all -C ${SRC-DIR} ROOT=${STAGING_DIR_HOST} OFLAGS="--sysroot=${STAGING_DIR_HOST} -Os -mfpu=neon-vfpv4 -mhard-float -Wl,--hash-style=gnu"
+	elif [ "${PACKAGE_ARCH}" = "cortexa53hf-neon-fp-armv8" ]; then
+		oe_runmake all -C ${SRC-DIR} ROOT=${STAGING_DIR_HOST} OFLAGS="--sysroot=${STAGING_DIR_HOST} -Os -mfpu=neon-vfpv4 -mhard-float -Wl,--hash-style=gnu -mhard-float -mfpu=neon-fp-armv8 -mfloat-abi=hard -mcpu=cortex-a53 -mtune=cortex-a53"
+	else
+		oe_runmake all -C ${SRC-DIR} ROOT=${STAGING_DIR_HOST} OFLAGS="--sysroot=${STAGING_DIR_HOST} -Os -Wl,--hash-style=gnu -DTELEPHONYWARE"
+	fi
+}
+
+do_install() {
+    oe_runmake install -C ${SRC-DIR} ROOT=${D}
+    if [ -d "${WORKONSRC}" ] ; then
+        install -d ${D}${includedir}
+        cp -af ${SRC-DIR}/include/libauto/ ${D}${includedir}/libauto
+    fi
+}
+
