uboot-envtools: mediatek_filogic: fix BPi-R3 when no OS is installed

Fix accessing the environment in case no OS is installed on the flash
media selected for boot as this is possible when booting initramfs.
In case of relying on the device specified to be mounted as rootfs to
be present, rather just use the kernel cmdline 'root' variable as a
hint to decide where to read/write the U-Boot environment.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This commit is contained in:
Daniel Golle 2022-10-18 20:01:23 +01:00 committed by AmadeusGhost
parent 04737cae7c
commit acb79816cd

View File

@ -13,21 +13,18 @@ board=$(board_name)
case "$board" in case "$board" in
bananapi,bpi-r3) bananapi,bpi-r3)
. /lib/upgrade/common.sh case "$(cmdline_get_var root)" in
export_bootdevice /dev/mmc*)
export_partdevice rootdev 0
case "$rootdev" in
mmc*)
local envdev=$(find_mmc_part "ubootenv" $rootdev) local envdev=$(find_mmc_part "ubootenv" $rootdev)
ubootenv_add_uci_config "$envdev" "0x0" "0x40000" "0x40000" "1" ubootenv_add_uci_config "$envdev" "0x0" "0x40000" "0x40000" "1"
ubootenv_add_uci_config "$envdev" "0x40000" "0x40000" "0x40000" "1" ubootenv_add_uci_config "$envdev" "0x40000" "0x40000" "0x40000" "1"
;; ;;
mtd*) /dev/mtd*)
local envdev=/dev/mtd$(find_mtd_index "u-boot-env") local envdev=/dev/mtd$(find_mtd_index "u-boot-env")
ubootenv_add_uci_config "$envdev" "0x0" "0x20000" "0x20000" "1" ubootenv_add_uci_config "$envdev" "0x0" "0x20000" "0x20000" "1"
ubootenv_add_uci_config "$envdev" "0x20000" "0x20000" "0x20000" "1" ubootenv_add_uci_config "$envdev" "0x20000" "0x20000" "0x20000" "1"
;; ;;
*) /dev/ubi*)
. /lib/upgrade/nand.sh . /lib/upgrade/nand.sh
local envubi=$(nand_find_ubi ubi) local envubi=$(nand_find_ubi ubi)
local envdev=/dev/$(nand_find_volume $envubi ubootenv) local envdev=/dev/$(nand_find_volume $envubi ubootenv)