mvebu: fix sysupgrade
mvebu was modifying RAMFS_COPY_BIN and RAMFS_COPY_DATA from a
sysupgrade_pre_upgrade hook. As the ramfs is created from stage2, this
did not have an effect anymore after the staged sysupgrade changes.
As it doesn't really hurt to copy fw_printenv and fw_setenv
unconditionally, simply add them in /lib/upgrade/platform.sh, so stage2
will see them.
Config copying is moved to a function called by platform_copy_config, where
it belongs.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Fixes: FS#821
Fixes: 30f61a34b4
"base-files: always use staged sysupgrade"
This commit is contained in:
parent
7f9143168f
commit
5654a03768
3 changed files with 9 additions and 19 deletions
|
@ -48,7 +48,7 @@ switch_to_ramfs() {
|
||||||
/bin/sleep /bin/zcat /usr/bin/bzcat /usr/bin/printf /usr/bin/wc \
|
/bin/sleep /bin/zcat /usr/bin/bzcat /usr/bin/printf /usr/bin/wc \
|
||||||
/bin/cut /usr/bin/printf /bin/sync /bin/mkdir /bin/rmdir \
|
/bin/cut /usr/bin/printf /bin/sync /bin/mkdir /bin/rmdir \
|
||||||
/bin/rm /usr/bin/basename /bin/kill /bin/chmod /usr/bin/find \
|
/bin/rm /usr/bin/basename /bin/kill /bin/chmod /usr/bin/find \
|
||||||
/bin/mknod
|
/bin/mknod /bin/touch
|
||||||
|
|
||||||
install_bin /sbin/mtd
|
install_bin /sbin/mtd
|
||||||
install_bin /sbin/mount_root
|
install_bin /sbin/mount_root
|
||||||
|
|
|
@ -73,21 +73,7 @@ platform_do_upgrade_linksys() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
linksys_preupgrade() {
|
platform_copy_config_linksys() {
|
||||||
local board=$(mvebu_board_name)
|
cp -f /tmp/sysupgrade.tgz /tmp/syscfg/sysupgrade.tgz
|
||||||
|
sync
|
||||||
case "$board" in
|
|
||||||
armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-shelby|armada-xp-linksys-mamba|armada-385-linksys-rango)
|
|
||||||
export RAMFS_COPY_BIN="${RAMFS_COPY_BIN} /usr/sbin/fw_printenv /usr/sbin/fw_setenv"
|
|
||||||
export RAMFS_COPY_BIN="${RAMFS_COPY_BIN} /bin/mkdir /bin/touch"
|
|
||||||
export RAMFS_COPY_DATA="${RAMFS_COPY_DATA} /etc/fw_env.config /var/lock/fw_printenv.lock"
|
|
||||||
|
|
||||||
[ -f /tmp/sysupgrade.tgz ] && {
|
|
||||||
cp /tmp/sysupgrade.tgz /tmp/syscfg/sysupgrade.tgz
|
|
||||||
}
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
}
|
||||||
|
|
||||||
append sysupgrade_pre_upgrade linksys_preupgrade
|
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,8 @@
|
||||||
|
|
||||||
. /lib/mvebu.sh
|
. /lib/mvebu.sh
|
||||||
|
|
||||||
RAMFS_COPY_DATA=/lib/mvebu.sh
|
RAMFS_COPY_BIN='/usr/sbin/fw_printenv /usr/sbin/fw_setenv'
|
||||||
|
RAMFS_COPY_DATA='/lib/mvebu.sh /etc/fw_env.config /var/lock/fw_printenv.lock'
|
||||||
REQUIRE_IMAGE_METADATA=1
|
REQUIRE_IMAGE_METADATA=1
|
||||||
|
|
||||||
platform_check_image() {
|
platform_check_image() {
|
||||||
|
@ -34,6 +35,9 @@ platform_copy_config() {
|
||||||
local board=$(mvebu_board_name)
|
local board=$(mvebu_board_name)
|
||||||
|
|
||||||
case "$board" in
|
case "$board" in
|
||||||
|
armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-xp-linksys-mamba)
|
||||||
|
platform_copy_config_linksys
|
||||||
|
;;
|
||||||
armada-388-clearfog)
|
armada-388-clearfog)
|
||||||
platform_copy_config_clearfog "$ARGV"
|
platform_copy_config_clearfog "$ARGV"
|
||||||
;;
|
;;
|
||||||
|
|
Loading…
Reference in a new issue