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
60 local magic
="$(get_magic_long "$1")"
62 # use "mtd write" if the magic is "DHP2 (0x44485032)"
63 # or "DHP3 (0x44485033)"
64 if [ "$magic" = "44485032" -o "$magic" = "44485033" ]; then
65 buffalo_upgrade_ubinized
"$1"
67 CI_KERNPART
="firmware"
77 if grep -q mtdparts
=slave
/proc
/cmdline
; then
82 default_do_upgrade
"$1"
85 default_do_upgrade
"$1"
92 platform_check_image
() {
93 local board
=$
(board_name
)
94 local magic
="$(get_magic_long "$1")"
96 [ "$#" -gt 1 ] && return 1
100 buffalo_check_image
"$board" "$magic" "$1" ||
return 1
103 [ "$magic" != "d00dfeed" ] && {
104 echo "Invalid image type."
114 platform_copy_config_mmc
() {
115 [ -e "$UPGRADE_BACKUP" ] ||
return
116 local rootdev
=$
(cat /tmp
/sysupgrade.rootdev
)
117 blockdev
--rereadpt /dev
/$rootdev
118 local datadev
=$
(get_partition
$rootdev rootfs_data
)
119 [ "$datadev" ] ||
echo "no rootfs_data partition, cannot keep configuration." >&2
120 dd if="$UPGRADE_BACKUP" of
=/dev
/$datadev
124 platform_copy_config
() {
125 case "$(board_name)" in
127 platform_copy_config_mmc