1 RAMFS_COPY_BIN
='fw_printenv fw_setenv blockdev'
2 RAMFS_COPY_DATA
='/etc/fw_env.config /var/lock/fw_printenv.lock'
7 local cmdline
="$(cat /proc/cmdline)"
9 for cmdlinevar
in $cmdline; do
10 tmp
=${cmdlinevar##${var}}
11 [ "=" = "${tmp:0:1}" ] && echo ${tmp:1}
17 rootvol
=$
(get_cmdline_var root
)
18 rootvol
=$
(basename $rootvol)
19 [ -e /sys
/class
/block
/$rootvol ] ||
{
20 rootvol
=${rootvol%%[0-9]}
21 [ -e /sys
/class
/block
/$rootvol ] && echo $rootvol
23 [ -e /sys
/class
/block
/$rootvol ] && echo $rootvol
26 [ -e /sys
/class
/block
/$rootvol/partition
] ||
{
30 rootdev
=$
(busybox readlink
-f /sys
/class
/block
/$rootvol)
31 rootdev
=$
(basename ${rootdev%%/${rootvol}})
32 [ -e /sys
/class
/block
/$rootdev ] && echo $rootdev
36 for partname
in /sys
/class
/block
/$1/*/name
; do
37 [ "$(cat ${partname})" = "$2" ] && {
38 basename ${partname%%/name}
44 platform_do_upgrade
() {
45 local board
=$
(board_name
)
46 local file_type
=$
(identify
$1)
50 local rootdev
=$
(get_rootdev
)
51 local fitpart
=$
(get_partition
$rootdev production
)
52 [ "$fitpart" ] ||
exit 1
53 dd if=/dev
/zero of
=/dev
/$fitpart bs
=4096 count
=1 2>/dev
/null
54 blockdev
--rereadpt /dev
/$rootdev
55 get_image
"$1" |
dd of
=/dev
/$fitpart
56 echo $rootdev > /tmp
/sysupgrade.rootdev
64 if grep -q mtdparts
=slave
/proc
/cmdline
; then
69 default_do_upgrade
"$1"
72 default_do_upgrade
"$1"
79 platform_check_image
() {
80 local board
=$
(board_name
)
81 local magic
="$(get_magic_long "$1")"
83 [ "$#" -gt 1 ] && return 1
87 [ "$magic" != "d00dfeed" ] && {
88 echo "Invalid image type."
98 platform_copy_config_mmc
() {
99 [ -e "$UPGRADE_BACKUP" ] ||
return
100 local rootdev
=$
(cat /tmp
/sysupgrade.rootdev
)
101 blockdev
--rereadpt /dev
/$rootdev
102 local datadev
=$
(get_partition
$rootdev rootfs_data
)
103 [ "$datadev" ] ||
echo "no rootfs_data partition, cannot keep configuration." >&2
104 dd if="$UPGRADE_BACKUP" of
=/dev
/$datadev
108 platform_copy_config
() {
109 case "$(board_name)" in
111 platform_copy_config_mmc