[Feature][T8TSK-93]Back up the userdata
Change-Id: I784118c7683c01a7d0d29b3f6171ba066a147d84
diff --git a/meta-sdk/meta/meta-lynqSDK-T800/recipes-core/initial/files/init_mount.service b/meta-sdk/meta/meta-lynqSDK-T800/recipes-core/initial/files/init_mount.service
index dc0e1fe..a622209 100644
--- a/meta-sdk/meta/meta-lynqSDK-T800/recipes-core/initial/files/init_mount.service
+++ b/meta-sdk/meta/meta-lynqSDK-T800/recipes-core/initial/files/init_mount.service
@@ -1,7 +1,8 @@
[Unit]
Description=Start MOUNT settings
DefaultDependencies=no
-After=local-fs.target
+After=local-fs.target lynq_ubi1_wmtd.service lynq_data_recover.service
+Requires=local-fs.target lynq_ubi1_wmtd.service lynq_data_recover.service
Before=sysinit.target systemd-tmpfiles-setup.service busybox-syslog.service
[Service]
diff --git a/meta-sdk/meta/meta-lynqSDK-T800/recipes-core/initial/files/lynq_data_recover b/meta-sdk/meta/meta-lynqSDK-T800/recipes-core/initial/files/lynq_data_recover
new file mode 100644
index 0000000..5abe947
--- /dev/null
+++ b/meta-sdk/meta/meta-lynqSDK-T800/recipes-core/initial/files/lynq_data_recover
@@ -0,0 +1,129 @@
+#!/bin/busybox sh
+TAG=[DATA_BACKUP_RECOVER]
+echo "$TAG: === Initial: LYNQ MOUNT Abnomal Judge Start ===" > /dev/kmsg
+FilePath=/data/lynq-low-power.sh
+
+detect_read(){
+ a=1
+ while [ $a -le 3 ]
+ do
+ if [ -r "$FilePath" ]
+ then
+ echo "$TAG a=$a can read" > /dev/kmsg
+ return 0
+ else
+ echo "$TAG a=$a can't read" > /dev/kmsg
+ fi
+ a=$[$a+1]
+ done
+ return 1
+}
+detect_write(){
+ a=1
+ while [ $a -le 3 ]
+ do
+ if [ -w "$FilePath" ]
+ then
+ echo "$TAG a=$a can write" > /dev/kmsg
+ return 0
+ else
+ echo "$TAG a=$a can't write" > /dev/kmsg
+ fi
+ a=$[$a+1]
+ done
+ return 1
+}
+
+format_ubi(){
+ ubidetach -m 38
+ echo "$TAG detach over" > /dev/kmsg
+ echo y | ubiformat /dev/mtd38
+ echo "$TAG format over" > /dev/kmsg
+ ubiattach /dev/ubi_ctrl -m 38 -d 31
+ echo "$TAG attach over" > /dev/kmsg
+ ubimkvol /dev/ubi31 -m -N data_recover
+ echo "$TAG mkvol over" > /dev/kmsg
+ mount -t ubifs /dev/ubi31_0 /STATE
+}
+
+mount_read_only(){
+ echo "$TAG: umount start" > /dev/kmsg
+
+ umount /usr/lib/tmpfiles.d
+ umount /etc/firmware
+ umount /etc/syslog
+ umount /home
+ umount /mnt/sncfg
+ umount /mnt/vendor/nvram
+ umount /mnt
+ umount /srv
+ umount /usr/local
+ umount /system/etc/firmware
+ umount /custom/etc/firmware
+ umount /var/lib
+ umount /data
+ umount /system/etc/tele
+ umount /system/etc/adr
+ umount /system/etc/agps
+ umount /system/etc/security
+ umount /etc/adr
+ umount /etc/gnss
+ umount /usr/share/gps
+ umount /etc/thermal
+ umount /etc/config
+ umount /STATE
+
+ echo "$TAG: after umount" > /dev/kmsg
+ mount | grep "ubi1" > /dev/kmsg
+ #some directories are not umount
+ if [ $(mount | grep "ubi1") != "" ];
+ then echo "$TAG: umount Fail!" > /dev/kmsg
+ reboot
+ exit
+ fi
+ format_ubi
+
+}
+cd /
+IFRO="$(cat /sys/class/ubi/ubi1/ro_mode)"
+echo "$TAG the ro_mode:$IFRO" > /dev/kmsg
+
+echo "$TAG ubimount:" > /dev/kmsg
+echo "$(mount | grep "ubi1")" > /dev/kmsg
+#if ro_mode = 1, ubi1 in read-only mode
+if [ $IFRO = "1" ];
+ then echo "$TAG: [Read-Only]ubi1 ro_mode is readonly" > /dev/kmsg
+ mount_read_only
+ cd /data_backup
+ tar -zxvf userdata.tar.gz -C /STATE/
+ reboot
+else
+ detect_read
+ result_read=$?
+ detect_write
+ result_write=$?
+ #can't read the file, the file is lost
+ if [ $result_read -eq 1 ];
+ then echo "$TAG: File Lost!!!" > /dev/kmsg
+ exit
+ fi
+ #ubi1 is not in read-only mode, but no directory is mounted on ubi1
+ if [ $(mount | grep "ubi1") = ""];
+ then echo "$TAG: [Unmount]Unmount!!!" > /dev/kmsg
+ format_ubi
+ cd /data_backup
+ tar -zxvf userdata.tar.gz -C /STATE/
+ reboot
+ else
+ #ubi1 is not in read-only mode, directories mounted on ubi1, but the file can't write
+ #/data is mounted in read-only mode
+ if [ $result_write -eq 1 ];
+ then echo "$TAG: [Read-only]/data is Readonly!!!" > /dev/kmsg
+ mount_read_only
+ cd /data_backup
+ tar -zxvf userdata.tar.gz -C /STATE/
+ reboot
+ fi
+ fi
+fi
+echo "$TAG === Initial: LYNQ MOUNT Abnomal End ===" > /dev/kmsg
diff --git a/meta-sdk/meta/meta-lynqSDK-T800/recipes-core/initial/files/lynq_data_recover.service b/meta-sdk/meta/meta-lynqSDK-T800/recipes-core/initial/files/lynq_data_recover.service
new file mode 100644
index 0000000..c17f83d
--- /dev/null
+++ b/meta-sdk/meta/meta-lynqSDK-T800/recipes-core/initial/files/lynq_data_recover.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=DATA recover
+DefaultDependencies=no
+After=local-fs.target
+Before=init_mount.service
+
+[Service]
+Type=oneshot
+StandardOutput=kmsg+console
+RemainAfterExit=yes
+ExecStart=/bin/sh /usr/share/init/lynq_data_recover
+
+
+[Install]
+WantedBy=sysinit.target
diff --git a/meta-sdk/meta/meta-lynqSDK-T800/recipes-core/initial/files/lynq_ubi1_wmtd b/meta-sdk/meta/meta-lynqSDK-T800/recipes-core/initial/files/lynq_ubi1_wmtd
new file mode 100755
index 0000000..067dfa9
--- /dev/null
+++ b/meta-sdk/meta/meta-lynqSDK-T800/recipes-core/initial/files/lynq_ubi1_wmtd
@@ -0,0 +1,27 @@
+#!/bin/busybox sh
+TAG=[DATA_BACKUP_RECOVER_WMTD]
+echo "$TAG === Initial: LYNQ MOUNT Abnomal Judge Format Start ===" > /dev/kmsg
+
+format_ubi(){
+ ubidetach -m 38
+ echo "$TAG detach over" > /dev/kmsg
+ echo y | ubiformat /dev/mtd38
+ echo "$TAG format over" > /dev/kmsg
+ ubiattach /dev/ubi_ctrl -m 38 -d 31
+ echo "$TAG attach over" > /dev/kmsg
+ ubimkvol /dev/ubi31 -m -N data_recover
+ echo "$TAG mkvol over" > /dev/kmsg
+ mount -t ubifs /dev/ubi31_0 /STATE
+}
+
+echo "$TAG ubi1_mtd_num : $(cat /sys/class/ubi/ubi1/mtd_num)" > /dev/kmsg
+#==================================WORNG MTD==============================================
+if [ $(cat /sys/class/ubi/ubi1/mtd_num) != "38" ];
+ then echo "$TAG WORNG MTD" > /dev/kmsg
+ format_ubi
+ cd /data_backup
+ tar -zxvf userdata.tar.gz -C /STATE/
+ reboot
+fi
+
+echo "$TAG === Initial: LYNQ MOUNT Abnomal End ===" > /dev/kmsg
diff --git a/meta-sdk/meta/meta-lynqSDK-T800/recipes-core/initial/files/lynq_ubi1_wmtd.service b/meta-sdk/meta/meta-lynqSDK-T800/recipes-core/initial/files/lynq_ubi1_wmtd.service
new file mode 100644
index 0000000..aff1ff8
--- /dev/null
+++ b/meta-sdk/meta/meta-lynqSDK-T800/recipes-core/initial/files/lynq_ubi1_wmtd.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=DATA recover
+DefaultDependencies=no
+Before=systemd-remount-fs.service
+
+[Service]
+Type=oneshot
+StandardOutput=kmsg+console
+RemainAfterExit=yes
+ExecStart=/bin/sh /usr/share/init/lynq_ubi1_wmtd
+
+
+[Install]
+WantedBy=sysinit.target
diff --git a/meta-sdk/meta/meta-lynqSDK-T800/recipes-core/initial/init-2735_1.0.0.bb b/meta-sdk/meta/meta-lynqSDK-T800/recipes-core/initial/init-2735_1.0.0.bb
index 06038ed..23096c1 100755
--- a/meta-sdk/meta/meta-lynqSDK-T800/recipes-core/initial/init-2735_1.0.0.bb
+++ b/meta-sdk/meta/meta-lynqSDK-T800/recipes-core/initial/init-2735_1.0.0.bb
@@ -25,6 +25,12 @@
SRC_URI += "file://init_usb"
SRC_URI += "file://init_usb.service"
SRC_URI += "file://smp.sh"
+#xf.li 2022.11.17 modify for userdata recover start
+SRC_URI += "file://lynq_data_recover"
+SRC_URI += "file://lynq_ubi1_wmtd"
+SRC_URI += "file://lynq_data_recover.service"
+SRC_URI += "file://lynq_ubi1_wmtd.service"
+#xf.li 2022.11.17 modify for userdata recover end
#dongyu@2022.7.15 delete for Slow loading of ETS port start
#SRC_URI += "file://smp.rules"
@@ -41,6 +47,7 @@
INSANE_SKIP_${PN} += "already-stripped"
#dongyu@2022.7.15 delete (/etc/udev/rules.d/smp.rules)for Slow loading of ETS port start
+#xf.li 2022.11.17 modify for userdata recover start
FILES_${PN} = "${datadir}/init/init_network \
${datadir}/init/init_mount \
${datadir}/init/usb_switch \
@@ -48,12 +55,16 @@
${datadir}/init/init_speech \
${datadir}/init/init_usb \
${datadir}/init/smp.sh \
+ ${datadir}/init/lynq_data_recover \
+ ${datadir}/init/lynq_ubi1_wmtd \
${@bb.utils.contains('BUILD_TYPE', 'user', ' ', ' ${datadir}/init/init_atci', d)}"
+#xf.li 2022.11.17 modify for userdata recover end
#dongyu@2022.7.15 delete (/etc/udev/rules.d/smp.rules)for Slow loading of ETS port end
inherit systemd
#dongyu@2022.7.15 abb (init_smp.service) for Slow loading of ETS port start
+#xf.li 2022.11.17 modify for userdata recover start
SYSTEMD_PACKAGES = "${PN}"
SYSTEMD_SERVICE_${PN} = "init_network.service \
init_mount.service \
@@ -67,10 +78,14 @@
agps.service \
init_usb.service \
init_smp.service \
+ lynq_ubi1_wmtd.service \
+ lynq_data_recover.service \
${@bb.utils.contains('BUILD_TYPE', 'user', ' ', 'init_atci.service', d)}"
+#xf.li 2022.11.17 modify for userdata recover end
#dongyu@2022.7.15 add (init_smp.service) for Slow loading of ETS port end
#dongyu@2022.7.15 abb (${systemd_unitdir}/system/init_smp.service) for Slow loading of ETS port start
+#xf.li 2022.11.17 modify for userdata recover start
FILES_${PN} += "${systemd_unitdir}/system/init_network.service \
${systemd_unitdir}/system/init_mount.service \
${systemd_unitdir}/system/nvram_daemon.service \
@@ -83,7 +98,10 @@
${systemd_unitdir}/system/agps.service \
${systemd_unitdir}/system/init_usb.service \
${systemd_unitdir}/system/init_smp.service \
+ ${systemd_unitdir}/system/lynq_ubi1_wmtd.service \
+ ${systemd_unitdir}/system/lynq_data_recover.service \
${@bb.utils.contains('BUILD_TYPE', 'user', ' ', ' ${systemd_unitdir}/system/init_atci.service', d)}"
+#xf.li 2022.11.17 modify for userdata recover end
#dongyu@2022.7.15 add (${systemd_unitdir}/system/init_smp.service) for Slow loading of ETS port end
do_install_append() {
@@ -93,7 +111,10 @@
install -m 0755 init_speech ${D}${datadir}/init/init_speech
install -m 0755 init_usb ${D}${datadir}/init/init_usb
install -m 0755 smp.sh ${D}${datadir}/init/smp.sh
-
+#xf.li 2022.11.17 modify for userdata recover start
+ install -m 0755 lynq_data_recover ${D}${datadir}/init/lynq_data_recover
+ install -m 0755 lynq_ubi1_wmtd ${D}${datadir}/init/lynq_ubi1_wmtd
+#xf.li 2022.11.17 modify for userdata recover end
#dongyu@2022.7.15 delete for Slow loading of ETS port start
#install -d ${D}/etc/udev/rules.d/
#install -m 0755 smp.rules ${D}/etc/udev/rules.d/smp.rules
@@ -124,6 +145,10 @@
install -m 0644 thermal_core.service ${D}${systemd_unitdir}/system
install -m 0644 agps.service ${D}${systemd_unitdir}/system
install -m 0644 init_usb.service ${D}${systemd_unitdir}/system
+#xf.li 2022.11.17 modify for userdata recover start
+ install -m 0644 lynq_data_recover.service ${D}${systemd_unitdir}/system
+ install -m 0644 lynq_ubi1_wmtd.service ${D}${systemd_unitdir}/system
+#xf.li 2022.11.17 modify for userdata recover end
#dongyu@2022.7.15 abb for Slow loading of ETS port start
install -m 0644 init_smp.service ${D}${systemd_unitdir}/system
#dongyu@2022.7.15 add for Slow loading of ETS port end
diff --git a/meta/meta-mediatek-mt2735/recipes-core/images/mtk-image-2735.bb b/meta/meta-mediatek-mt2735/recipes-core/images/mtk-image-2735.bb
index f55d0c9..1310394 100755
--- a/meta/meta-mediatek-mt2735/recipes-core/images/mtk-image-2735.bb
+++ b/meta/meta-mediatek-mt2735/recipes-core/images/mtk-image-2735.bb
@@ -203,5 +203,16 @@
echo "${NATA_SERIAL_NUMBER}" >> ${IMAGE_ROOTFS}/sdcard/nata_serial.txt
}
ROOTFS_POSTPROCESS_COMMAND += " gen_feature_property;"
+#xf.li 2022.11.17 modify for userdata recover start
+do_packdata() {
+ origin=$(pwd)
+ SOURCE=$(pwd)/build/tmp/deploy/images/auto2735evb-ivt-main/state
+ TARGET=$(pwd)/build/tmp/work/auto2735evb_ivt_main-poky-linux/mtk-image-2735/1.0-r0/rootfs
+ mkdir ${TARGET}/data_backup
+ cd ${SOURCE}
+ tar -czvf ${TARGET}/data_backup/userdata.tar.gz *
+}
+addtask packdata after do_rootfs before do_gensdk
+#xf.li 2022.11.17 modify for userdata recover end
addtask modem_align_4kb after do_image_complete before do_build
diff --git a/meta/meta-mediatek-mt2735/recipes-core/initial/files/init_mount.service b/meta/meta-mediatek-mt2735/recipes-core/initial/files/init_mount.service
index dc0e1fe..a622209 100644
--- a/meta/meta-mediatek-mt2735/recipes-core/initial/files/init_mount.service
+++ b/meta/meta-mediatek-mt2735/recipes-core/initial/files/init_mount.service
@@ -1,7 +1,8 @@
[Unit]
Description=Start MOUNT settings
DefaultDependencies=no
-After=local-fs.target
+After=local-fs.target lynq_ubi1_wmtd.service lynq_data_recover.service
+Requires=local-fs.target lynq_ubi1_wmtd.service lynq_data_recover.service
Before=sysinit.target systemd-tmpfiles-setup.service busybox-syslog.service
[Service]
diff --git a/meta/meta-mediatek-mt2735/recipes-core/initial/files/lynq_data_recover b/meta/meta-mediatek-mt2735/recipes-core/initial/files/lynq_data_recover
new file mode 100644
index 0000000..5abe947
--- /dev/null
+++ b/meta/meta-mediatek-mt2735/recipes-core/initial/files/lynq_data_recover
@@ -0,0 +1,129 @@
+#!/bin/busybox sh
+TAG=[DATA_BACKUP_RECOVER]
+echo "$TAG: === Initial: LYNQ MOUNT Abnomal Judge Start ===" > /dev/kmsg
+FilePath=/data/lynq-low-power.sh
+
+detect_read(){
+ a=1
+ while [ $a -le 3 ]
+ do
+ if [ -r "$FilePath" ]
+ then
+ echo "$TAG a=$a can read" > /dev/kmsg
+ return 0
+ else
+ echo "$TAG a=$a can't read" > /dev/kmsg
+ fi
+ a=$[$a+1]
+ done
+ return 1
+}
+detect_write(){
+ a=1
+ while [ $a -le 3 ]
+ do
+ if [ -w "$FilePath" ]
+ then
+ echo "$TAG a=$a can write" > /dev/kmsg
+ return 0
+ else
+ echo "$TAG a=$a can't write" > /dev/kmsg
+ fi
+ a=$[$a+1]
+ done
+ return 1
+}
+
+format_ubi(){
+ ubidetach -m 38
+ echo "$TAG detach over" > /dev/kmsg
+ echo y | ubiformat /dev/mtd38
+ echo "$TAG format over" > /dev/kmsg
+ ubiattach /dev/ubi_ctrl -m 38 -d 31
+ echo "$TAG attach over" > /dev/kmsg
+ ubimkvol /dev/ubi31 -m -N data_recover
+ echo "$TAG mkvol over" > /dev/kmsg
+ mount -t ubifs /dev/ubi31_0 /STATE
+}
+
+mount_read_only(){
+ echo "$TAG: umount start" > /dev/kmsg
+
+ umount /usr/lib/tmpfiles.d
+ umount /etc/firmware
+ umount /etc/syslog
+ umount /home
+ umount /mnt/sncfg
+ umount /mnt/vendor/nvram
+ umount /mnt
+ umount /srv
+ umount /usr/local
+ umount /system/etc/firmware
+ umount /custom/etc/firmware
+ umount /var/lib
+ umount /data
+ umount /system/etc/tele
+ umount /system/etc/adr
+ umount /system/etc/agps
+ umount /system/etc/security
+ umount /etc/adr
+ umount /etc/gnss
+ umount /usr/share/gps
+ umount /etc/thermal
+ umount /etc/config
+ umount /STATE
+
+ echo "$TAG: after umount" > /dev/kmsg
+ mount | grep "ubi1" > /dev/kmsg
+ #some directories are not umount
+ if [ $(mount | grep "ubi1") != "" ];
+ then echo "$TAG: umount Fail!" > /dev/kmsg
+ reboot
+ exit
+ fi
+ format_ubi
+
+}
+cd /
+IFRO="$(cat /sys/class/ubi/ubi1/ro_mode)"
+echo "$TAG the ro_mode:$IFRO" > /dev/kmsg
+
+echo "$TAG ubimount:" > /dev/kmsg
+echo "$(mount | grep "ubi1")" > /dev/kmsg
+#if ro_mode = 1, ubi1 in read-only mode
+if [ $IFRO = "1" ];
+ then echo "$TAG: [Read-Only]ubi1 ro_mode is readonly" > /dev/kmsg
+ mount_read_only
+ cd /data_backup
+ tar -zxvf userdata.tar.gz -C /STATE/
+ reboot
+else
+ detect_read
+ result_read=$?
+ detect_write
+ result_write=$?
+ #can't read the file, the file is lost
+ if [ $result_read -eq 1 ];
+ then echo "$TAG: File Lost!!!" > /dev/kmsg
+ exit
+ fi
+ #ubi1 is not in read-only mode, but no directory is mounted on ubi1
+ if [ $(mount | grep "ubi1") = ""];
+ then echo "$TAG: [Unmount]Unmount!!!" > /dev/kmsg
+ format_ubi
+ cd /data_backup
+ tar -zxvf userdata.tar.gz -C /STATE/
+ reboot
+ else
+ #ubi1 is not in read-only mode, directories mounted on ubi1, but the file can't write
+ #/data is mounted in read-only mode
+ if [ $result_write -eq 1 ];
+ then echo "$TAG: [Read-only]/data is Readonly!!!" > /dev/kmsg
+ mount_read_only
+ cd /data_backup
+ tar -zxvf userdata.tar.gz -C /STATE/
+ reboot
+ fi
+ fi
+fi
+echo "$TAG === Initial: LYNQ MOUNT Abnomal End ===" > /dev/kmsg
diff --git a/meta/meta-mediatek-mt2735/recipes-core/initial/files/lynq_data_recover.service b/meta/meta-mediatek-mt2735/recipes-core/initial/files/lynq_data_recover.service
new file mode 100644
index 0000000..c17f83d
--- /dev/null
+++ b/meta/meta-mediatek-mt2735/recipes-core/initial/files/lynq_data_recover.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=DATA recover
+DefaultDependencies=no
+After=local-fs.target
+Before=init_mount.service
+
+[Service]
+Type=oneshot
+StandardOutput=kmsg+console
+RemainAfterExit=yes
+ExecStart=/bin/sh /usr/share/init/lynq_data_recover
+
+
+[Install]
+WantedBy=sysinit.target
diff --git a/meta/meta-mediatek-mt2735/recipes-core/initial/files/lynq_ubi1_wmtd b/meta/meta-mediatek-mt2735/recipes-core/initial/files/lynq_ubi1_wmtd
new file mode 100755
index 0000000..067dfa9
--- /dev/null
+++ b/meta/meta-mediatek-mt2735/recipes-core/initial/files/lynq_ubi1_wmtd
@@ -0,0 +1,27 @@
+#!/bin/busybox sh
+TAG=[DATA_BACKUP_RECOVER_WMTD]
+echo "$TAG === Initial: LYNQ MOUNT Abnomal Judge Format Start ===" > /dev/kmsg
+
+format_ubi(){
+ ubidetach -m 38
+ echo "$TAG detach over" > /dev/kmsg
+ echo y | ubiformat /dev/mtd38
+ echo "$TAG format over" > /dev/kmsg
+ ubiattach /dev/ubi_ctrl -m 38 -d 31
+ echo "$TAG attach over" > /dev/kmsg
+ ubimkvol /dev/ubi31 -m -N data_recover
+ echo "$TAG mkvol over" > /dev/kmsg
+ mount -t ubifs /dev/ubi31_0 /STATE
+}
+
+echo "$TAG ubi1_mtd_num : $(cat /sys/class/ubi/ubi1/mtd_num)" > /dev/kmsg
+#==================================WORNG MTD==============================================
+if [ $(cat /sys/class/ubi/ubi1/mtd_num) != "38" ];
+ then echo "$TAG WORNG MTD" > /dev/kmsg
+ format_ubi
+ cd /data_backup
+ tar -zxvf userdata.tar.gz -C /STATE/
+ reboot
+fi
+
+echo "$TAG === Initial: LYNQ MOUNT Abnomal End ===" > /dev/kmsg
diff --git a/meta/meta-mediatek-mt2735/recipes-core/initial/files/lynq_ubi1_wmtd.service b/meta/meta-mediatek-mt2735/recipes-core/initial/files/lynq_ubi1_wmtd.service
new file mode 100644
index 0000000..aff1ff8
--- /dev/null
+++ b/meta/meta-mediatek-mt2735/recipes-core/initial/files/lynq_ubi1_wmtd.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=DATA recover
+DefaultDependencies=no
+Before=systemd-remount-fs.service
+
+[Service]
+Type=oneshot
+StandardOutput=kmsg+console
+RemainAfterExit=yes
+ExecStart=/bin/sh /usr/share/init/lynq_ubi1_wmtd
+
+
+[Install]
+WantedBy=sysinit.target
diff --git a/meta/meta-mediatek-mt2735/recipes-core/initial/init-2735_1.0.0.bb b/meta/meta-mediatek-mt2735/recipes-core/initial/init-2735_1.0.0.bb
index 06038ed..23096c1 100755
--- a/meta/meta-mediatek-mt2735/recipes-core/initial/init-2735_1.0.0.bb
+++ b/meta/meta-mediatek-mt2735/recipes-core/initial/init-2735_1.0.0.bb
@@ -25,6 +25,12 @@
SRC_URI += "file://init_usb"
SRC_URI += "file://init_usb.service"
SRC_URI += "file://smp.sh"
+#xf.li 2022.11.17 modify for userdata recover start
+SRC_URI += "file://lynq_data_recover"
+SRC_URI += "file://lynq_ubi1_wmtd"
+SRC_URI += "file://lynq_data_recover.service"
+SRC_URI += "file://lynq_ubi1_wmtd.service"
+#xf.li 2022.11.17 modify for userdata recover end
#dongyu@2022.7.15 delete for Slow loading of ETS port start
#SRC_URI += "file://smp.rules"
@@ -41,6 +47,7 @@
INSANE_SKIP_${PN} += "already-stripped"
#dongyu@2022.7.15 delete (/etc/udev/rules.d/smp.rules)for Slow loading of ETS port start
+#xf.li 2022.11.17 modify for userdata recover start
FILES_${PN} = "${datadir}/init/init_network \
${datadir}/init/init_mount \
${datadir}/init/usb_switch \
@@ -48,12 +55,16 @@
${datadir}/init/init_speech \
${datadir}/init/init_usb \
${datadir}/init/smp.sh \
+ ${datadir}/init/lynq_data_recover \
+ ${datadir}/init/lynq_ubi1_wmtd \
${@bb.utils.contains('BUILD_TYPE', 'user', ' ', ' ${datadir}/init/init_atci', d)}"
+#xf.li 2022.11.17 modify for userdata recover end
#dongyu@2022.7.15 delete (/etc/udev/rules.d/smp.rules)for Slow loading of ETS port end
inherit systemd
#dongyu@2022.7.15 abb (init_smp.service) for Slow loading of ETS port start
+#xf.li 2022.11.17 modify for userdata recover start
SYSTEMD_PACKAGES = "${PN}"
SYSTEMD_SERVICE_${PN} = "init_network.service \
init_mount.service \
@@ -67,10 +78,14 @@
agps.service \
init_usb.service \
init_smp.service \
+ lynq_ubi1_wmtd.service \
+ lynq_data_recover.service \
${@bb.utils.contains('BUILD_TYPE', 'user', ' ', 'init_atci.service', d)}"
+#xf.li 2022.11.17 modify for userdata recover end
#dongyu@2022.7.15 add (init_smp.service) for Slow loading of ETS port end
#dongyu@2022.7.15 abb (${systemd_unitdir}/system/init_smp.service) for Slow loading of ETS port start
+#xf.li 2022.11.17 modify for userdata recover start
FILES_${PN} += "${systemd_unitdir}/system/init_network.service \
${systemd_unitdir}/system/init_mount.service \
${systemd_unitdir}/system/nvram_daemon.service \
@@ -83,7 +98,10 @@
${systemd_unitdir}/system/agps.service \
${systemd_unitdir}/system/init_usb.service \
${systemd_unitdir}/system/init_smp.service \
+ ${systemd_unitdir}/system/lynq_ubi1_wmtd.service \
+ ${systemd_unitdir}/system/lynq_data_recover.service \
${@bb.utils.contains('BUILD_TYPE', 'user', ' ', ' ${systemd_unitdir}/system/init_atci.service', d)}"
+#xf.li 2022.11.17 modify for userdata recover end
#dongyu@2022.7.15 add (${systemd_unitdir}/system/init_smp.service) for Slow loading of ETS port end
do_install_append() {
@@ -93,7 +111,10 @@
install -m 0755 init_speech ${D}${datadir}/init/init_speech
install -m 0755 init_usb ${D}${datadir}/init/init_usb
install -m 0755 smp.sh ${D}${datadir}/init/smp.sh
-
+#xf.li 2022.11.17 modify for userdata recover start
+ install -m 0755 lynq_data_recover ${D}${datadir}/init/lynq_data_recover
+ install -m 0755 lynq_ubi1_wmtd ${D}${datadir}/init/lynq_ubi1_wmtd
+#xf.li 2022.11.17 modify for userdata recover end
#dongyu@2022.7.15 delete for Slow loading of ETS port start
#install -d ${D}/etc/udev/rules.d/
#install -m 0755 smp.rules ${D}/etc/udev/rules.d/smp.rules
@@ -124,6 +145,10 @@
install -m 0644 thermal_core.service ${D}${systemd_unitdir}/system
install -m 0644 agps.service ${D}${systemd_unitdir}/system
install -m 0644 init_usb.service ${D}${systemd_unitdir}/system
+#xf.li 2022.11.17 modify for userdata recover start
+ install -m 0644 lynq_data_recover.service ${D}${systemd_unitdir}/system
+ install -m 0644 lynq_ubi1_wmtd.service ${D}${systemd_unitdir}/system
+#xf.li 2022.11.17 modify for userdata recover end
#dongyu@2022.7.15 abb for Slow loading of ETS port start
install -m 0644 init_smp.service ${D}${systemd_unitdir}/system
#dongyu@2022.7.15 add for Slow loading of ETS port end