/proc/cmdline can be easily parsed using shell built-ins,
allowing to remove potentially unnecessary tools from image
(tr, cut, grep).
Change-Id: I2c971d3503700b2ca105773552e452ded4e65098
Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com>
STATUS_FILE=${STATUS_DIR}/RW.STATUS
DELTA_PATH_FILE=${STATUS_DIR}/DELTA.PATH
-CAT="/bin/cat"
SYNC="/bin/sync"
MKDIR="/bin/mkdir"
MOUNT="/bin/mount"
UMOUNT="/bin/umount"
-GREP="/bin/grep"
REBOOT="/sbin/reboot"
-CUT="/usr/bin/cut"
-TR="/usr/bin/tr"
#------------------------------------------------
# mount_partitions
mount_partitions
-"$CAT" /proc/cmdline
-
cd /
-BOOT_MODE=$("$CAT" /proc/cmdline | "$TR" ' ' \\n | "$GREP" bootmode | "$CUT" -d= -f2)
+# Manually parse /proc/cmdline to avoid additional tools on image
+read cmdline </proc/cmdline
+echo "Kernel command line: $cmdline"
+set -- $cmdline
+while [ $# -gt 0 ]; do
+ key="${1%%=*}"
+ if [ "$key" = "bootmode" ]; then
+ BOOT_MODE="${1#*=}"
+ break;
+ fi
+ shift
+done
if [ "z$BOOT_MODE" = "z" ]; then
echo "BOOT_MODE was NOT defined!!"
do_reboot
fi
echo "BOOTMODE is ${BOOT_MODE}"
-exec /sbin/${BOOT_MODE}-init
+exec "/sbin/${BOOT_MODE}-init"