2 PATH=/bin:/usr/bin:/sbin:/usr/sbin
6 FAKE_ROOT=/run/upgrade-sysroot
11 INT_LOG_DIR=${FAKE_ROOT}/opt/data/update
12 INT_LOG_FILE=${INT_LOG_DIR}/fota_internal.log
17 BLKID="/usr/sbin/blkid"
19 #------------------------------------------------
21 #------------------------------------------------
23 P_SLOT=$([[ $(</proc/cmdline) =~ partition_ab=([ab]) ]]; echo ${BASH_REMATCH[1]})
26 if [ "${P_SLOT}" != "" ]; then
28 echo "Using A/B slot: ${P_SLOT}"
31 PART_ROOTFS=`/sbin/blkid -t PARTLABEL=rootfs${P_SUFFIX} -o device`
32 if [ x$PART_ROOTFS = "x" ]
34 PART_ROOTFS=`/sbin/blkid -L rootfs`
37 PART_SYSTEM_DATA=`/sbin/blkid -t PARTLABEL=system-data -o device`
38 if [ x$PART_SYSTEM_DATA = "x" ]
40 PART_SYSTEM_DATA=`/sbin/blkid -L system-data`
43 PART_RAMDISK=`/sbin/blkid -t PARTLABEL=ramdisk${P_SUFFIX} -o device`
44 if [ x$PART_RAMDISK = "x" ]
46 PART_RAMDISK=`/sbin/blkid -L ramdisk`
49 PART_HAL=`/sbin/blkid -t PARTLABEL=hal${P_SUFFIX} -o device`
50 if [ x$PART_HAL = "x" ]
52 PART_HAL=`/sbin/blkid -L hal`
55 PART_USER=$("$BLKID" --match-token PARTLABEL=user -o device || "$BLKID" --match-token LABEL=user -o device)
58 #------------------------------------------------
60 #------------------------------------------------
63 /usr/bin/verityctl create rootfs "${PART_ROOTFS}" "${FAKE_ROOT}"
66 echo "verifyboot: disabled"
70 echo "verityboot: enabled";
74 echo "verifyboot: enabled but corrupted"
75 # should deal with the error like reboot.
78 echo "verifyboot: disabling"
81 "$MOUNT" -o ro "${PART_ROOTFS}" "${FAKE_ROOT}"
84 #------------------------------------------------
86 #------------------------------------------------
91 "$MOUNT" -t proc none ${FAKE_ROOT}/proc
92 "$MOUNT" -t sysfs none ${FAKE_ROOT}/sys
93 "$MOUNT" -t devtmpfs devtmpfs ${FAKE_ROOT}/dev
94 "$MOUNT" -t devpts devpts ${FAKE_ROOT}/dev/pts
95 "$MOUNT" -t tmpfs tmpfs ${FAKE_ROOT}/tmp
98 #------------------------------------------------
100 #------------------------------------------------
112 #------------------------------------------------
114 #------------------------------------------------
116 echo "Change into rw update mode" >> ${INT_LOG_FILE}
118 /sbin/progress_restart RW &
119 # Go to system-update.target
122 exec /bin/chroot . /usr/lib/systemd/systemd --unit=system-update.target $@
127 #------------------------------------------------
129 #------------------------------------------------
132 echo "rw update mode start ..." >> ${INT_LOG_FILE}