openwrt/target/linux/imx6/base-files/lib/upgrade/platform.sh
Petr Štetiar 2f1a11d008 imx6: apalis: fix config survival after sysupgrade -n
This patch fixes `sysupgrade -n` when flashed with rootfs of the same
size as currently running, so the rootfs_data wouldn't get destroyed and
thus survive reboot. So let's fix it by always cleaning up the content
of the rootfs_data during sysupgrade.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2019-05-20 21:19:48 +02:00

88 lines
1.2 KiB
Bash
Executable File

#
# Copyright (C) 2010-2015 OpenWrt.org
#
. /lib/imx6.sh
RAMFS_COPY_BIN='blkid'
enable_image_metadata_check() {
case "$(board_name)" in
apalis*)
REQUIRE_IMAGE_METADATA=1
;;
esac
}
enable_image_metadata_check
apalis_copy_config() {
apalis_mount_boot
cp -af "$CONF_TAR" /boot/
sync
umount /boot
}
apalis_do_upgrade() {
local board_name=$(board_name)
board_name=${board_name/,/_}
apalis_mount_boot
get_image "$1" | tar Oxf - sysupgrade-${board_name}/kernel > /boot/uImage
get_image "$1" | tar Oxf - sysupgrade-${board_name}/root > $(rootpart_from_uuid)
sync
umount /boot
}
platform_check_image() {
local board=$(board_name)
case "$board" in
apalis*)
return 0
;;
*gw5*)
nand_do_platform_check $board $1
return $?;
;;
esac
echo "Sysupgrade is not yet supported on $board."
return 1
}
platform_do_upgrade() {
local board=$(board_name)
case "$board" in
apalis*)
apalis_do_upgrade "$1"
;;
*gw5*)
nand_do_upgrade "$1"
;;
esac
}
platform_copy_config() {
local board=$(board_name)
case "$board" in
apalis*)
apalis_copy_config
;;
esac
}
platform_pre_upgrade() {
local board=$(board_name)
case "$board" in
apalis*)
[ "$SAVE_CONFIG" -eq 0 ] && {
jffs2reset -y
umount /overlay
}
;;
esac
}