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'
5 platform_do_upgrade
() {
6 local board
=$
(board_name
)
7 local file_type
=$
(identify
$1)
12 export_partdevice rootdev
0
15 local fitpart
=$
(get_partition_by_name
$rootdev "production")
16 [ "$fitpart" ] ||
return 1
17 dd if=/dev
/zero of
=/dev
/$fitpart bs
=4096 count
=1 2>/dev
/null
18 blockdev
--rereadpt /dev
/$rootdev
19 get_image
"$1" |
dd of
=/dev
/$fitpart
20 blockdev
--rereadpt /dev
/$rootdev
21 local datapart
=$
(get_partition_by_name
$rootdev "rootfs_data")
22 [ "$datapart" ] ||
return 0
23 dd if=/dev
/zero of
=/dev
/$datapart bs
=4096 count
=1 2>/dev
/null
24 echo $datapart > /tmp
/sysupgrade.datapart
33 local magic
="$(get_magic_long "$1")"
35 # use "mtd write" if the magic is "DHP2 (0x44485032)"
36 # or "DHP3 (0x44485033)"
37 if [ "$magic" = "44485032" -o "$magic" = "44485033" ]; then
38 buffalo_upgrade_ubinized
"$1"
40 CI_KERNPART
="firmware"
50 if grep -q mtdparts
=slave
/proc
/cmdline
; then
55 default_do_upgrade
"$1"
61 default_do_upgrade
"$1"
68 platform_check_image
() {
69 local board
=$
(board_name
)
70 local magic
="$(get_magic_long "$1")"
72 [ "$#" -gt 1 ] && return 1
76 buffalo_check_image
"$board" "$magic" "$1" ||
return 1
79 nand_do_platform_check
"$board" "$1"
82 [ "$magic" != "d00dfeed" ] && {
83 echo "Invalid image type."
93 platform_copy_config_mmc
() {
94 [ -e "$UPGRADE_BACKUP" ] ||
return
95 local datapart
=$
(cat /tmp
/sysupgrade.datapart
)
96 [ "$datapart" ] ||
echo "no rootfs_data partition, cannot keep configuration." >&2
97 dd if="$UPGRADE_BACKUP" of
=/dev
/$datapart
101 platform_copy_config
() {
102 case "$(board_name)" in
105 export_partdevice rootdev
0
106 if echo $rootdev |
grep -q mmc
; then
107 platform_copy_config_mmc