mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 17:18:59 +00:00
2f1a11d008
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>
88 lines
1.2 KiB
Bash
Executable File
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
|
|
}
|