mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 01:11:14 +00:00
8b4bc7abe0
stage2 passes image path to platform_do_upgrade() as an argument so it can be simply accessed using $1 Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
69 lines
2.0 KiB
Bash
Executable File
69 lines
2.0 KiB
Bash
Executable File
platform_do_upgrade() {
|
|
local board=$(board_name)
|
|
case "$board" in
|
|
"unielec,u7623"*)
|
|
#Keep the persisten random mac address (if it exists)
|
|
mkdir -p /tmp/recovery
|
|
mount -o rw,noatime /dev/mmcblk0p1 /tmp/recovery
|
|
[ -f "/tmp/recovery/mac_addr" ] && \
|
|
mv -f /tmp/recovery/mac_addr /tmp/
|
|
umount /tmp/recovery
|
|
|
|
#1310720 is the offset in bytes from the start of eMMC and to
|
|
#the location of the kernel (2560 512 byte sectors)
|
|
get_image "$1" | dd of=/dev/mmcblk0 bs=1310720 seek=1 conv=fsync
|
|
|
|
mount -o rw,noatime /dev/mmcblk0p1 /tmp/recovery
|
|
[ -f "/tmp/mac_addr" ] && mv -f /tmp/mac_addr /tmp/recovery
|
|
sync
|
|
umount /tmp/recovery
|
|
;;
|
|
*)
|
|
default_do_upgrade "$1"
|
|
;;
|
|
esac
|
|
}
|
|
|
|
PART_NAME=firmware
|
|
|
|
platform_check_image() {
|
|
local board=$(board_name)
|
|
local magic="$(get_magic_long "$1")"
|
|
|
|
[ "$#" -gt 1 ] && return 1
|
|
|
|
case "$board" in
|
|
bananapi,bpi-r2|\
|
|
"unielec,u7623"*)
|
|
[ "$magic" != "27051956" ] && {
|
|
echo "Invalid image type."
|
|
return 1
|
|
}
|
|
return 0
|
|
;;
|
|
|
|
*)
|
|
echo "Sysupgrade is not supported on your board yet."
|
|
return 1
|
|
;;
|
|
esac
|
|
|
|
return 0
|
|
}
|
|
|
|
platform_copy_config_emmc() {
|
|
mkdir -p /recovery
|
|
mount -o rw,noatime /dev/mmcblk0p1 /recovery
|
|
cp -af "$CONF_TAR" /recovery/
|
|
sync
|
|
umount /recovery
|
|
}
|
|
|
|
platform_copy_config() {
|
|
case "$(board_name)" in
|
|
"unielec,u7623"*)
|
|
platform_copy_config_emmc
|
|
;;
|
|
esac
|
|
}
|