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 blockdev
--rereadpt /dev
/$rootdev ||
return 1
16 local fitpart
=$
(find_mmc_part
"production" $rootdev)
17 [ "$fitpart" ] ||
return 1
18 dd if=/dev
/zero of
=$fitpart bs
=4096 count
=1 2>/dev
/null
19 blockdev
--rereadpt /dev
/$rootdev
20 get_image
"$1" |
dd of
=$fitpart
21 blockdev
--rereadpt /dev
/$rootdev
22 local datapart
=$
(find_mmc_part
"rootfs_data" $rootdev)
23 [ "$datapart" ] ||
return 0
24 dd if=/dev
/zero of
=$datapart bs
=4096 count
=1 2>/dev
/null
25 echo $datapart > /tmp
/sysupgrade.datapart
34 local magic
="$(get_magic_long "$1")"
36 # use "mtd write" if the magic is "DHP2 (0x44485032)"
37 # or "DHP3 (0x44485033)"
38 if [ "$magic" = "44485032" -o "$magic" = "44485033" ]; then
39 buffalo_upgrade_ubinized
"$1"
41 CI_KERNPART
="firmware"
51 if grep -q mtdparts
=slave
/proc
/cmdline
; then
56 default_do_upgrade
"$1"
62 default_do_upgrade
"$1"
69 platform_check_image
() {
70 local board
=$
(board_name
)
71 local magic
="$(get_magic_long "$1")"
73 [ "$#" -gt 1 ] && return 1
77 buffalo_check_image
"$board" "$magic" "$1" ||
return 1
80 nand_do_platform_check
"$board" "$1"
83 [ "$magic" != "d00dfeed" ] && {
84 echo "Invalid image type."
94 platform_copy_config_mmc
() {
95 [ -e "$UPGRADE_BACKUP" ] ||
return
96 local datapart
=$
(cat /tmp
/sysupgrade.datapart
)
97 [ "$datapart" ] ||
echo "no rootfs_data partition, cannot keep configuration." >&2
98 dd if="$UPGRADE_BACKUP" of
=$datapart
102 platform_copy_config
() {
103 case "$(board_name)" in
106 export_partdevice rootdev
0
107 if echo $rootdev |
grep -q mmc
; then
108 platform_copy_config_mmc