Re: [LEDE-DEV] [PATCH v2 00/19] Universal staged sysupgrade and assorted fixes
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_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 Sunxi: Olimex A20-OLinuXino-LIME2 wrote the image to sdcard, setup something, used the same image as sysupgrade and everything went fine
Re: [LEDE-DEV] [PATCH v2 00/19] Universal staged sysupgrade and assorted fixes
> On May 13, 2017, at 1:56 PM, Matthias Schiffer >wrote: > > Text from my RFC mail: > > --- > When talking about > https://bugs.lede-project.org/index.php?do=details_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
Re: [LEDE-DEV] [PATCH v2 00/19] Universal staged sysupgrade and assorted fixes
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_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