|
@@ -1,6 +1,8 @@
|
|
|
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
|
|
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
|
|
|
|
|
|
|
|
-RAMFS_COPY_BIN="bcm4908img expr grep fdtget fw_printenv fw_setenv tr"
|
|
|
|
|
|
|
+. /lib/functions/bcm4908.sh
|
|
|
|
|
+
|
|
|
|
|
+RAMFS_COPY_BIN="bcm4908img expr grep ln fdtget fw_printenv fw_setenv readlink tr"
|
|
|
|
|
|
|
|
PART_NAME=firmware
|
|
PART_NAME=firmware
|
|
|
|
|
|
|
@@ -134,17 +136,7 @@ platform_pkgtb_get_image() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-platform_pkgtb_setup_env_config() {
|
|
|
|
|
- local size=$((0x$(get_hex_u32_le /dev/ubi0_1 4)))
|
|
|
|
|
-
|
|
|
|
|
- dd if=/dev/ubi0_1 of=/tmp/env.head count=8 iflag=count_bytes
|
|
|
|
|
- dd if=/dev/ubi0_1 of=/tmp/env.body skip=8 iflag=skip_bytes
|
|
|
|
|
- printf "%s\t0x%x\t0x%x\t0x%x" "/tmp/env.body" 0x0 $size $size > /tmp/env.config
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
platform_pkgtb_get_upgrade_index() {
|
|
platform_pkgtb_get_upgrade_index() {
|
|
|
- platform_pkgtb_setup_env_config
|
|
|
|
|
-
|
|
|
|
|
case "$(fw_printenv -l /tmp -n -c /tmp/env.config COMMITTED)" in
|
|
case "$(fw_printenv -l /tmp -n -c /tmp/env.config COMMITTED)" in
|
|
|
1) echo 2;;
|
|
1) echo 2;;
|
|
|
2) echo 1;;
|
|
2) echo 1;;
|
|
@@ -160,8 +152,6 @@ platform_pkgtb_commit() {
|
|
|
local seq2
|
|
local seq2
|
|
|
local tmp
|
|
local tmp
|
|
|
|
|
|
|
|
- platform_pkgtb_setup_env_config
|
|
|
|
|
-
|
|
|
|
|
# Read current values
|
|
# Read current values
|
|
|
for valid in $(fw_printenv -l /tmp -n -c /tmp/env.config VALID | tr ',' ' '); do
|
|
for valid in $(fw_printenv -l /tmp -n -c /tmp/env.config VALID | tr ',' ' '); do
|
|
|
case "$valid" in
|
|
case "$valid" in
|
|
@@ -272,11 +262,20 @@ platform_check_image() {
|
|
|
# upgrade
|
|
# upgrade
|
|
|
#
|
|
#
|
|
|
|
|
|
|
|
|
|
+platform_pkgtb_clean_rootfs_data() {
|
|
|
|
|
+ local ubidev=$(nand_find_ubi $CI_UBIPART)
|
|
|
|
|
+ local ubivol="$(nand_find_volume $ubidev rootfs_data)"
|
|
|
|
|
+
|
|
|
|
|
+ bcm4908_verify_rootfs_data "$ubivol"
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
platform_do_upgrade_pkgtb() {
|
|
platform_do_upgrade_pkgtb() {
|
|
|
local cmd="${2:-cat}"
|
|
local cmd="${2:-cat}"
|
|
|
local size
|
|
local size
|
|
|
local idx bootfs_id rootfs_id
|
|
local idx bootfs_id rootfs_id
|
|
|
|
|
|
|
|
|
|
+ bcm4908_pkgtb_setup_env_config
|
|
|
|
|
+
|
|
|
idx=$(platform_pkgtb_get_upgrade_index)
|
|
idx=$(platform_pkgtb_get_upgrade_index)
|
|
|
case "$idx" in
|
|
case "$idx" in
|
|
|
1) bootfs_id=3; rootfs_id=4;;
|
|
1) bootfs_id=3; rootfs_id=4;;
|
|
@@ -295,6 +294,8 @@ platform_do_upgrade_pkgtb() {
|
|
|
|
|
|
|
|
platform_pkgtb_commit $idx
|
|
platform_pkgtb_commit $idx
|
|
|
|
|
|
|
|
|
|
+ CI_UBIPART="image"
|
|
|
|
|
+ platform_pkgtb_clean_rootfs_data
|
|
|
nand_do_upgrade_success
|
|
nand_do_upgrade_success
|
|
|
}
|
|
}
|
|
|
|
|
|