1 REQUIRE_IMAGE_METADATA
=1
2 RAMFS_COPY_BIN
='fw_printenv fw_setenv blockdev'
3 RAMFS_COPY_DATA
='/etc/fw_env.config /var/lock/fw_printenv.lock'
8 local cmdline
="$(cat /proc/cmdline)"
10 for cmdlinevar
in $cmdline; do
11 tmp
=${cmdlinevar##${var}}
12 [ "=" = "${tmp:0:1}" ] && echo ${tmp:1}
18 rootvol
=$
(get_cmdline_var root
)
19 rootvol
=$
(basename $rootvol)
20 [ -e /sys
/class
/block
/$rootvol ] ||
{
21 rootvol
=${rootvol%%[0-9]}
22 [ -e /sys
/class
/block
/$rootvol ] && echo $rootvol
24 [ -e /sys
/class
/block
/$rootvol ] && echo $rootvol
27 [ -e /sys
/class
/block
/$rootvol/partition
] ||
{
31 rootdev
=$
(busybox readlink
-f /sys
/class
/block
/$rootvol)
32 rootdev
=$
(basename ${rootdev%%/${rootvol}})
33 [ -e /sys
/class
/block
/$rootdev ] && echo $rootdev
37 for partname
in /sys
/class
/block
/$1/*/name
; do
38 [ "$(cat ${partname})" = "$2" ] && {
39 basename ${partname%%/name}
45 platform_do_upgrade
() {
46 local board
=$
(board_name
)
47 local file_type
=$
(identify
$1)
51 local rootdev
=$
(get_rootdev
)
52 local fitpart
=$
(get_partition
$rootdev production
)
53 [ "$fitpart" ] ||
exit 1
54 dd if=/dev
/zero of
=/dev
/$fitpart bs
=4096 count
=1 2>/dev
/null
55 blockdev
--rereadpt /dev
/$rootdev
56 get_image
"$1" |
dd of
=/dev
/$fitpart
57 echo $rootdev > /tmp
/sysupgrade.rootdev
65 if grep -q mtdparts
=slave
/proc
/cmdline
; then
70 default_do_upgrade
"$1"
73 default_do_upgrade
"$1"
80 platform_check_image
() {
81 local board
=$
(board_name
)
82 local magic
="$(get_magic_long "$1")"
84 [ "$#" -gt 1 ] && return 1
88 [ "$magic" != "d00dfeed" ] && {
89 echo "Invalid image type."
99 platform_copy_config_mmc
() {
100 [ -e "$UPGRADE_BACKUP" ] ||
return
101 local rootdev
=$
(cat /tmp
/sysupgrade.rootdev
)
102 blockdev
--rereadpt /dev
/$rootdev
103 local datadev
=$
(get_partition
$rootdev rootfs_data
)
104 [ "$datadev" ] ||
echo "no rootfs_data partition, cannot keep configuration." >&2
105 dd if="$UPGRADE_BACKUP" of
=/dev
/$datadev
109 platform_copy_config
() {
110 case "$(board_name)" in
112 platform_copy_config_mmc