Initial commit
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
This commit is contained in:
44
target/linux/ramips/mt7621/base-files/lib/upgrade/dna.sh
Normal file
44
target/linux/ramips/mt7621/base-files/lib/upgrade/dna.sh
Normal file
@@ -0,0 +1,44 @@
|
||||
#
|
||||
# Copyright (C) 2023 Mauri Sandberg
|
||||
#
|
||||
|
||||
# The vendor UBI is split in volumes 0-3. Volumes 0 and 1 contain U-Boot
|
||||
# environments env1 and env2, respectively. The vendor root file systems
|
||||
# are in volumes 2 (rootfs_0) and 3 (rootfs_1). Drop the two roots and
|
||||
# explicitly use rootfs_0 as a boot partition that contains the dtb and the
|
||||
# OpenWrt kernel. This is because the vendor U-Boot expects to find them there.
|
||||
# Then continue upgrade with the default method - a SquashFS rootfs will be
|
||||
# installed and the rest of UBI will be used as an overlay.
|
||||
|
||||
# The 'kernel' inside the sysupgrage.tar is an UBIFS image that contains
|
||||
# /boot/dtb and /boot/kernel. The 'root' is an OpenWrt SquashFS root
|
||||
|
||||
. /lib/functions.sh
|
||||
. /lib/upgrade/nand.sh
|
||||
|
||||
dna_do_upgrade () {
|
||||
tar -xaf $1
|
||||
|
||||
# get the size of the new bootfs
|
||||
local _bootfs_size=$(wc -c < ./sysupgrade-dna_valokuitu-plus-ex400/kernel)
|
||||
[ -n "$_bootfs_size" -a "$_bootfs_size" -gt "0" ] || nand_do_upgrade_failed
|
||||
|
||||
# remove existing rootfses and recreate rootfs_0
|
||||
ubirmvol /dev/ubi0 --name=rootfs_0 > /dev/null 2>&1
|
||||
ubirmvol /dev/ubi0 --name=rootfs_1 > /dev/null 2>&1
|
||||
ubirmvol /dev/ubi0 --name=rootfs > /dev/null 2>&1
|
||||
ubirmvol /dev/ubi0 --name=rootfs_data > /dev/null 2>&1
|
||||
ubimkvol /dev/ubi0 --type=static --size=${_bootfs_size} --name=rootfs_0
|
||||
|
||||
# update the rootfs_0 contents
|
||||
local _kern_ubivol=$( nand_find_volume "ubi0" "rootfs_0" )
|
||||
ubiupdatevol /dev/${_kern_ubivol} sysupgrade-dna_valokuitu-plus-ex400/kernel
|
||||
|
||||
fw_setenv root_vol rootfs_0
|
||||
fw_setenv boot_cnt_primary 0
|
||||
fw_setenv boot_cnt_alt 0
|
||||
|
||||
# proceed to upgrade the default way
|
||||
CI_KERNPART=none
|
||||
nand_do_upgrade "$1"
|
||||
}
|
||||
Reference in New Issue
Block a user