On 13.05.2017 22:56, Matthias Schiffer wrote:
Text from my RFC mail:

---
When talking about
https://bugs.lede-project.org/index.php?do=details&task_id=685 with jow
and lynxis, we came to the conclusion that the best way to fix sysupgrades
would be to generalize the staged sysupgrade used on NAND devices to work
on all targets. That is what this patchset does, with some nice extras
like staged sysupgrade support from failsafe mode (which did not work at
all on NAND devices before).

I have tested these patches on ar71xx (squashfs+jffs2), ramips (squashfs+
ubifs) and x86 (ext4), and they seems to work perfectly; they should be
tested on a lot more targets before they are applied though.

The same patchset can be found the "sysupgrade" branch of my staging tree
at https://git.lede-project.org/?p=lede/neoraider/staging.git;a=summary

Note: the diffstat looks a lot scarier than it should; most of the added
lines are the procd patches that I have included in the LEDE repo for now
to facilitate testing the series.
---

Some highlights of v2:
* split whitespace fixes into separate patches
* add missing include guards to new procd header sysupgrade.h
* support sysupgrade -p again (suggested by from Daniel Golle)
* various x86 sysupgrade fixes (now sysupgrade with growing kernel
  partition actually works)
* apply x86 sysupgrade fixes to sunxi as well

It would be great if someone with access to sunxi hardware could test my
changes, the sunxi patches were not tested at all.

Thanks for the feedback I got so far.

Matthias


Matthias Schiffer (19):
   procd: clean up trailing whitespace in nand.sh
   procd: prepare NAND sysupgrade for making upgraded dynamically linked
   procd: system: always support staged sysupgrade
   procd: upgraded: link dynamically, chroot during exec
   procd: upgraded: add support for passing a "command" argument to
     stage2
   procd: remove procd-nand package
   base-files: always use staged sysupgrade
   fstools: clean up trailing whitespace in snapshot script
   fstools: snapshot: handle jffs2 conversion using upgraded
   procd: remove code that has become unnecessary after sysupgrade
     changes
   procd: init: add support for sysupgrades triggered from preinit
   base-files: sysupgrade cleanup
   base-files: add support for staged sysupgrades from failsafe mode
   ramips: sysupgrade: move nand_do_upgrade call to platform_do_upgrade
   x86: sysupgrade: move partition table change check to
     platform_check_image
   x86: sysupgrade: refactor platform_do_upgrade
   x86: sysupgrade: explicitly rescan disk after writing partition table
   sunxi: sysupgrade: don't write partitions twice
   sunxi: sysupgrade: sync with x86

  package/base-files/Makefile                        |  13 +-
  .../files/lib/preinit/40_run_failsafe_hook         |   6 +-
  .../files/lib/preinit/99_10_failsafe_login         |  11 +-
  package/base-files/files/lib/upgrade/common.sh     | 167 +++----------
  .../files => base-files/files/lib/upgrade}/nand.sh |  63 +----
  package/base-files/files/lib/upgrade/stage2        | 149 +++++++++++
  package/base-files/files/sbin/sysupgrade           |  77 +++---
  package/system/fstools/Makefile                    |   2 +-
  package/system/fstools/files/snapshot              |  16 +-
  package/system/procd/Makefile                      |  41 +--
  package/system/procd/files/nand-preinit.sh         |  21 --
  ...1-system-always-support-staged-sysupgrade.patch | 112 +++++++++
  ...raded-link-dynamically-chroot-during-exec.patch | 231 +++++++++++++++++
  ...d-support-for-passing-a-command-argument-.patch | 104 ++++++++
  ...-that-has-become-unnecessary-after-sysupg.patch | 120 +++++++++
  ...pport-for-sysupgrades-triggered-from-prei.patch | 278 +++++++++++++++++++++
  .../ramips/base-files/lib/upgrade/platform.sh      |   9 +-
  target/linux/sunxi/Makefile                        |   2 +-
  .../linux/sunxi/base-files/lib/upgrade/platform.sh | 120 +++++----
  .../linux/x86/base-files/lib/upgrade/platform.sh   | 104 +++++---
  20 files changed, 1259 insertions(+), 387 deletions(-)
  rename package/{system/procd/files => base-files/files/lib/upgrade}/nand.sh 
(89%)
  create mode 100755 package/base-files/files/lib/upgrade/stage2
  delete mode 100644 package/system/procd/files/nand-preinit.sh
  create mode 100644 
package/system/procd/patches/0001-system-always-support-staged-sysupgrade.patch
  create mode 100644 
package/system/procd/patches/0002-upgraded-link-dynamically-chroot-during-exec.patch
  create mode 100644 
package/system/procd/patches/0003-upgraded-add-support-for-passing-a-command-argument-.patch
  create mode 100644 
package/system/procd/patches/0004-Remove-code-that-has-become-unnecessary-after-sysupg.patch
  create mode 100644 
package/system/procd/patches/0005-init-add-support-for-sysupgrades-triggered-from-prei.patch

I have a A20-OLinuXino-LIME2 board, it boots with lime DTS (no ethernet) but not with lime2 DTS (no HDMI output), I'll try to fix the platform and after that I can test for sunxi board

Regards


_______________________________________________
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev

Reply via email to