mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-14 08:50:14 +00:00
bcm53xx: add platform_pre_upgrade to prepare for kernel+UBI sysupgrade
We can now detect that provided firmware contains kernel and UBI image partitions. Flashing it in a sane way (keeping erase counters) still needs to be implemented. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> SVN-Revision: 45391
This commit is contained in:
parent
ab6462dd56
commit
24d40980b0
@ -124,6 +124,34 @@ platform_extract_trx_from_cybertan() {
|
|||||||
dd if="$1" of="$2" bs=32 skip=1
|
dd if="$1" of="$2" bs=32 skip=1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
platform_pre_upgrade() {
|
||||||
|
local file_type=$(platform_identify "$1")
|
||||||
|
local dir="/tmp/sysupgrade-bcm53xx"
|
||||||
|
local trx="$1"
|
||||||
|
|
||||||
|
[ "$(platform_flash_type)" != "nand" ] && return
|
||||||
|
|
||||||
|
# Extract trx
|
||||||
|
case "$file_type" in
|
||||||
|
"chk") trx="/tmp/$1.trx"; platform_extract_trx_from_chk "$1" "$trx";;
|
||||||
|
"cybertan") trx="/tmp/$1.trx"; platform_extract_trx_from_cybertan "$1" "$trx";;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Extract partitions from trx
|
||||||
|
rm -fR $dir
|
||||||
|
mkdir -p $dir
|
||||||
|
otrx -e "$trx" \
|
||||||
|
-1 $dir/kernel \
|
||||||
|
-2 $dir/root
|
||||||
|
|
||||||
|
# Firmwares without UBI image should be flashed "normally"
|
||||||
|
local root_type=$(identify $dir/root)
|
||||||
|
[ "$root_type" != "ubi" ] && return
|
||||||
|
|
||||||
|
echo "Provided firmware contains kernel and UBI image, but flashing it in unsupported yet"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
platform_do_upgrade() {
|
platform_do_upgrade() {
|
||||||
local file_type=$(platform_identify "$1")
|
local file_type=$(platform_identify "$1")
|
||||||
local trx="$1"
|
local trx="$1"
|
||||||
|
Loading…
Reference in New Issue
Block a user