[armhf][sonic-installer] Fix issue of the sonic-installer install a image after sonic-installer clean (#12609)

Signed-off-by: mlok <marty.lok@nokia.com>

Signed-off-by: mlok <marty.lok@nokia.com>
This commit is contained in:
Marty Y. Lok 2022-12-02 16:52:59 -05:00 committed by mssonicbld
parent bf890a46bb
commit 3d9dcf5294

View File

@ -118,11 +118,42 @@ prepare_boot_menu() {
fdt_name_old=""
sonic_version_2="None"
else
image_dir_old=$(fw_printenv -n image_dir || true)
image_name_old=$(fw_printenv -n image_name || true)
initrd_name_old=$(fw_printenv -n initrd_name || true)
fdt_name_old=$(fw_printenv -n fdt_name || true)
sonic_version_2=$(fw_printenv -n sonic_version_1 || true)
eval running_version="$(cat /proc/cmdline | sed -n 's/^.*loop=\/*image-\(\S\+\)\/.*$/\1/p')"
current_boot_next=$(fw_printenv -n boot_next || true)
running_sonic_image=1
if [ "$current_boot_next" = "run sonic_image_1" ]; then
# boot_next=run sonic_image_1
sonic_version_2=$(fw_printenv -n sonic_version_2 || true)
if test "${sonic_version_2#*$running_version}" != "$sonic_version_2"
then
running_sonic_image=2
else
running_sonic_image=1
fi
else
# boot_next=run sonic_image_2
sonic_version_1=$(fw_printenv -n sonic_version_1 || true)
if test "${sonic_version_1#*$running_version}" != "$sonic_version_1"
then
running_sonic_image=1
else
running_sonic_image=2
fi
fi
if [ $running_sonic_image -eq 1 ]; then
image_dir_old=$(fw_printenv -n image_dir || true)
image_name_old=$(fw_printenv -n image_name || true)
initrd_name_old=$(fw_printenv -n initrd_name || true)
fdt_name_old=$(fw_printenv -n fdt_name || true)
sonic_version_2=$(fw_printenv -n sonic_version_1 || true)
else
image_dir_old=$(fw_printenv -n image_dir_old || true)
image_name_old=$(fw_printenv -n image_name_old || true)
initrd_name_old=$(fw_printenv -n initrd_name_old || true)
fdt_name_old=$(fw_printenv -n fdt_name_old || true)
sonic_version_2=$(fw_printenv -n sonic_version_2 || true)
fi
fi
# Set boot variables