12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- From: Matthias Schiffer <mschiffer@universe-factory.net>
- Date: Thu, 1 Jun 2017 18:39:12 +0200
- Subject: 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: 30f61a34b4cf "base-files: always use staged sysupgrade"
- diff --git a/package/base-files/files/lib/upgrade/stage2 b/package/base-files/files/lib/upgrade/stage2
- index cc8047d988e39ca9ba27d2588744aad469d1d978..bdbb8926643287f48a4ae62c5d1d4b4a29130859 100755
- --- a/package/base-files/files/lib/upgrade/stage2
- +++ b/package/base-files/files/lib/upgrade/stage2
- @@ -48,7 +48,7 @@ switch_to_ramfs() {
- /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/rm /usr/bin/basename /bin/kill /bin/chmod /usr/bin/find \
- - /bin/mknod
- + /bin/mknod /bin/touch
-
- install_bin /sbin/mtd
- install_bin /sbin/mount_root
- diff --git a/target/linux/mvebu/base-files/lib/upgrade/linksys.sh b/target/linux/mvebu/base-files/lib/upgrade/linksys.sh
- index d06a1b8ed0534364b595618f24b65f9f3a3e275d..63d1cd14a4deed407b217a518ae25a752f62969e 100644
- --- a/target/linux/mvebu/base-files/lib/upgrade/linksys.sh
- +++ b/target/linux/mvebu/base-files/lib/upgrade/linksys.sh
- @@ -73,21 +73,7 @@ platform_do_upgrade_linksys() {
- }
- }
-
- -linksys_preupgrade() {
- - local board=$(mvebu_board_name)
- -
- - 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
- +platform_copy_config_linksys() {
- + cp -f /tmp/sysupgrade.tgz /tmp/syscfg/sysupgrade.tgz
- + sync
- }
- -
- -append sysupgrade_pre_upgrade linksys_preupgrade
- -
- diff --git a/target/linux/mvebu/base-files/lib/upgrade/platform.sh b/target/linux/mvebu/base-files/lib/upgrade/platform.sh
- index 77578e28d42fb7ca5e3f057e42ac5818e851736f..55c084483995d548556a560e171462f2d5456172 100755
- --- a/target/linux/mvebu/base-files/lib/upgrade/platform.sh
- +++ b/target/linux/mvebu/base-files/lib/upgrade/platform.sh
- @@ -5,7 +5,8 @@
-
- . /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
-
- platform_check_image() {
- @@ -31,6 +32,9 @@ platform_copy_config() {
- local board=$(mvebu_board_name)
-
- 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)
- platform_copy_config_clearfog "$ARGV"
- ;;
|