openwrt/package/base-files/files/lib/upgrade
Daniel Golle 2baded9ecc
base-files: make sure tools are present in sysupgrade ramdisk
Not all targets create /var/lock or touch /var/lock/fw_printenv.lock in
their platform.sh. This is problematic as fw_printenv then fails in
case /var/lock/fw_printenv.lock has not been created by previous calls
to fw_printenv/fw_setenv before sysupgrade is run.

Targets using fw_printenv/fw_setenv during sysupgrade:
 * ath79/*
 * ipq40xx/*
 * ipq806x/*
 * kirkwood/*
 * layerscape/*
 * mediatek/mt7622
 * mvebu/*
 * ramips/*
 * realtek/*

Targets currently using additional steps in /lib/upgrade/platform.sh
to make sure /var/lock/fw_printenv.lock (or at least /var/lock)
actually exists:
 * ath79/* (openmesh devices)
 * ipq40xx/* (linksys devices)
 * ipq806x/* (linksys devices)
 * kirkwood/* (linksys devices)
 * layerscape/*
 * mvebu/cortexa9 (linksys devices)

Given that accessing the U-Boot environment during sysupgrade is not
uncommon and the situation across targets is currently quite diverse,
just make sure both tools as well fw_env.config are always copied to
the ramdisk used for sysupgrade. Also make sure /var/lock always
exists.

This now allows to remove copying of fw_printenv/fw_setenv as well as
fw_env.config, creation of /var/lock or even /var/lock/fw_printenv.lock
from lib/upgrade/platform.sh or files included there.

As the same applies also to 'fwtool' which is used by generic eMMC
sysupgrade, also always copy that to ramdisk.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-02-22 19:16:03 +00:00
..
keep.d base-files: Add /etc/shinit for non-login shell init 2020-03-01 21:35:59 +01:00
common.sh base-files: upgrade: fix efi partitions size calculation 2021-12-27 13:51:41 +01:00
do_stage2 treewide: sysupgrade: use $UPGRADE_BACKUP to check for backup 2019-09-11 09:05:35 +02:00
emmc.sh base-files: add eMMC sysupgrade support 2021-12-02 20:42:58 +00:00
fwtool.sh base-files: change logging for upgrade on fwtool 2021-05-17 01:00:14 +02:00
legacy-sdcard.sh base-files: rename 'sdcard' to 'legacy-sdcard' 2021-08-16 12:22:17 +01:00
nand.sh base-files: Make sure rootfs_data_max is considered 2022-02-17 15:15:42 +00:00
stage2 base-files: make sure tools are present in sysupgrade ramdisk 2022-02-22 19:16:03 +00:00