> On May 13, 2017, at 1:56 PM, Matthias Schiffer > <mschif...@universe-factory.net> 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’ve been using the patchset on a Xeon using the x86_64_Generic target. It works great. -Philip _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev