[PATCH] kexec-tools: update to 2.0.20

2020-09-01 Thread Rosen Penev
kdump was removed in 7acd257ae67b4ca94f8c23cb8bda0ee0709b9216

gdb can be used as an alternative.

Backported patch to fix compilation with GCC10.

Backported several openembedded patches, some of which are upstream
backports.

Signed-off-by: Rosen Penev 
---
 package/boot/kexec-tools/Makefile | 40 +---
 .../kexec-tools/patches/010-powerpc.patch | 35 +++
 .../kexec-tools/patches/020-arm-lpae.patch| 49 +
 .../boot/kexec-tools/patches/100-gcc10.patch  | 99 +++
 ...rela-relocation-R_X86_64_PLT32-error.patch | 14 ---
 .../kexec-tools/patches/110-arm-syscall.patch | 34 +++
 .../boot/kexec-tools/patches/120-i386.patch   | 65 
 7 files changed, 285 insertions(+), 51 deletions(-)
 create mode 100644 package/boot/kexec-tools/patches/010-powerpc.patch
 create mode 100644 package/boot/kexec-tools/patches/020-arm-lpae.patch
 create mode 100644 package/boot/kexec-tools/patches/100-gcc10.patch
 delete mode 100644 
package/boot/kexec-tools/patches/100-kexec-tools-fix-for-Unhandled-rela-relocation-R_X86_64_PLT32-error.patch
 create mode 100644 package/boot/kexec-tools/patches/110-arm-syscall.patch
 create mode 100644 package/boot/kexec-tools/patches/120-i386.patch

diff --git a/package/boot/kexec-tools/Makefile 
b/package/boot/kexec-tools/Makefile
index 269345aa9d..db6dac333e 100644
--- a/package/boot/kexec-tools/Makefile
+++ b/package/boot/kexec-tools/Makefile
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=kexec-tools
-PKG_VERSION:=2.0.16
-PKG_RELEASE:=2
+PKG_VERSION:=2.0.20
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/linux/utils/kernel/kexec
-PKG_HASH:=5b103351ad752c9badd1d65b00eb6de4bce579f944f4df4e3ef3a755ba567010
+PKG_HASH:=dad8077f0315445d1f6335579fc4ade222facf82a67124974c7be5303ba4f8c8
 
 PKG_FIXUP:=autoreconf
 
@@ -51,17 +51,6 @@ define Package/kexec/description
  The kexec utility allows to load and boot another kernel.
 endef
 
-define Package/kdump
-  $(call Package/kexec-tools/Default)
-  TITLE:=Kernel crash analysis
-  DEPENDS:=+kexec @(i386||x86_64||arm) @KERNEL_CRASH_DUMP
-endef
-
-define Package/kdump/description
- The kdump package allows to automatically boot into a
- special kernel for analyzing kernel crashes using kdump.
-endef
-
 define Package/kexec/config
source "$(SOURCE)/Config.in"
 endef
@@ -108,28 +97,5 @@ define Package/kexec/install
$(LN) ../usr/sbin/kexec $(1)/sbin/kexec
 endef
 
-define Package/kdump/install
-   $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/init.d $(1)/etc/config 
$(1)/etc/uci-defaults
-   $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kdump 
$(PKG_INSTALL_DIR)/usr/sbin/vmcore-dmesg $(1)/usr/sbin
-   $(INSTALL_BIN) ./files/kdump.init $(1)/etc/init.d/kdump
-   $(INSTALL_BIN) ./files/kdump.defaults $(1)/etc/uci-defaults/kdump
-   $(INSTALL_CONF) ./files/kdump.config $(1)/etc/config/kdump
-endef
-
-define Package/kdump/prerm
-#!/bin/sh
-
-case $$(uname -m) in
-   i?86|x86_64)
-   if grep -q " crashkernel=" /boot/grub/grub.cfg; then
-   mount /boot -o remount,rw
-   sed -i 's/ crashkernel=[^ ]*//' /boot/grub/grub.cfg
-   mount /boot -o remount,ro
-   fi
-   ;;
-esac
-endef
-
 $(eval $(call BuildPackage,kexec-tools))
 $(eval $(call BuildPackage,kexec))
-$(eval $(call BuildPackage,kdump))
diff --git a/package/boot/kexec-tools/patches/010-powerpc.patch 
b/package/boot/kexec-tools/patches/010-powerpc.patch
new file mode 100644
index 00..029650f35c
--- /dev/null
+++ b/package/boot/kexec-tools/patches/010-powerpc.patch
@@ -0,0 +1,35 @@
+From 211cae4b6a02a4d9d37bfcd76f3702696e095fc3 Mon Sep 17 00:00:00 2001
+From: Quanyang Wang 
+Date: Tue, 16 Jun 2015 12:59:57 +0800
+Subject: [PATCH] powerpc: change the memory size limit
+
+When run "kexec" in powerpc board, the kexec has a limit that
+the kernel text and bss size must be less than 24M. But now
+some kernel size exceed the limit. So we need to change the limit,
+else will get the error log as below:
+
+my_load:669: do
+Could not find a free area of memory of 0x12400 bytes...
+Could not find a free area of memory of 0x13000 bytes...
+locate_hole failed
+
+Upstream-Status: Pending
+
+Signed-off-by: Quanyang Wang 
+---
+ kexec/arch/ppc/kexec-ppc.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/kexec/arch/ppc/kexec-ppc.h b/kexec/arch/ppc/kexec-ppc.h
+index 04e728e..6bae9ec 100644
+--- a/kexec/arch/ppc/kexec-ppc.h
 b/kexec/arch/ppc/kexec-ppc.h
+@@ -44,7 +44,7 @@ void dol_ppc_usage(void);
+  * During inital setup the kernel does not map the whole memory but a part of
+  * it. On Book-E that is 64MiB, 601 24MiB or 256MiB (if possible).
+  */
+-#define KERNEL_ACCESS_TOP (24 * 1024 * 1024)
++#define KERNEL_ACCESS_TOP (36 * 1024 * 1024)
+ 
+ /* boot block version 17 as defined by the linux kernel */
+ struct bootblock {
diff --git 

[PATCH] kexec-tools: update to 2.0.20

2020-07-22 Thread Rosen Penev
kdump was removed in 7acd257ae67b4ca94f8c23cb8bda0ee0709b9216

gdb can be used as an alternative.

Backported patch to fix compilation with GCC10.

Signed-off-by: Rosen Penev 
---
 package/boot/kexec-tools/Makefile | 40 +---
 .../boot/kexec-tools/patches/010-gcc10.patch  | 99 +++
 ...rela-relocation-R_X86_64_PLT32-error.patch | 14 ---
 3 files changed, 102 insertions(+), 51 deletions(-)
 create mode 100644 package/boot/kexec-tools/patches/010-gcc10.patch
 delete mode 100644 
package/boot/kexec-tools/patches/100-kexec-tools-fix-for-Unhandled-rela-relocation-R_X86_64_PLT32-error.patch

diff --git a/package/boot/kexec-tools/Makefile 
b/package/boot/kexec-tools/Makefile
index 269345aa9d..db6dac333e 100644
--- a/package/boot/kexec-tools/Makefile
+++ b/package/boot/kexec-tools/Makefile
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=kexec-tools
-PKG_VERSION:=2.0.16
-PKG_RELEASE:=2
+PKG_VERSION:=2.0.20
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/linux/utils/kernel/kexec
-PKG_HASH:=5b103351ad752c9badd1d65b00eb6de4bce579f944f4df4e3ef3a755ba567010
+PKG_HASH:=dad8077f0315445d1f6335579fc4ade222facf82a67124974c7be5303ba4f8c8
 
 PKG_FIXUP:=autoreconf
 
@@ -51,17 +51,6 @@ define Package/kexec/description
  The kexec utility allows to load and boot another kernel.
 endef
 
-define Package/kdump
-  $(call Package/kexec-tools/Default)
-  TITLE:=Kernel crash analysis
-  DEPENDS:=+kexec @(i386||x86_64||arm) @KERNEL_CRASH_DUMP
-endef
-
-define Package/kdump/description
- The kdump package allows to automatically boot into a
- special kernel for analyzing kernel crashes using kdump.
-endef
-
 define Package/kexec/config
source "$(SOURCE)/Config.in"
 endef
@@ -108,28 +97,5 @@ define Package/kexec/install
$(LN) ../usr/sbin/kexec $(1)/sbin/kexec
 endef
 
-define Package/kdump/install
-   $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/init.d $(1)/etc/config 
$(1)/etc/uci-defaults
-   $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kdump 
$(PKG_INSTALL_DIR)/usr/sbin/vmcore-dmesg $(1)/usr/sbin
-   $(INSTALL_BIN) ./files/kdump.init $(1)/etc/init.d/kdump
-   $(INSTALL_BIN) ./files/kdump.defaults $(1)/etc/uci-defaults/kdump
-   $(INSTALL_CONF) ./files/kdump.config $(1)/etc/config/kdump
-endef
-
-define Package/kdump/prerm
-#!/bin/sh
-
-case $$(uname -m) in
-   i?86|x86_64)
-   if grep -q " crashkernel=" /boot/grub/grub.cfg; then
-   mount /boot -o remount,rw
-   sed -i 's/ crashkernel=[^ ]*//' /boot/grub/grub.cfg
-   mount /boot -o remount,ro
-   fi
-   ;;
-esac
-endef
-
 $(eval $(call BuildPackage,kexec-tools))
 $(eval $(call BuildPackage,kexec))
-$(eval $(call BuildPackage,kdump))
diff --git a/package/boot/kexec-tools/patches/010-gcc10.patch 
b/package/boot/kexec-tools/patches/010-gcc10.patch
new file mode 100644
index 00..2af315c0fc
--- /dev/null
+++ b/package/boot/kexec-tools/patches/010-gcc10.patch
@@ -0,0 +1,99 @@
+From cc087b11462af9f971a2c090d07e8d780a867b50 Mon Sep 17 00:00:00 2001
+From: Kairui Song 
+Date: Wed, 29 Jan 2020 13:38:19 +0800
+Subject: kexec-tools: Remove duplicated variable declarations
+
+When building kexec-tools for Fedora 32, following error is observed:
+
+/usr/bin/ld: kexec/arch/x86_64/kexec-bzImage64.o:(.bss+0x0): multiple 
definition of `bzImage_support_efi_boot';
+kexec/arch/i386/kexec-bzImage.o:(.bss+0x0): first defined here
+
+/builddir/build/BUILD/kexec-tools-2.0.20/kexec/arch/arm/../../fs2dt.h:33: 
multiple definition of `my_debug';
+kexec/fs2dt.o:/builddir/build/BUILD/kexec-tools-2.0.20/kexec/fs2dt.h:33: first 
defined here
+
+/builddir/build/BUILD/kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.h:68: 
multiple definition of `arm64_mem';
+kexec/fs2dt.o:/builddir/build/BUILD/kexec-tools-2.0.20/././kexec/arch/arm64/kexec-arm64.h:68:
 first defined here
+
+/builddir/build/BUILD/kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.h:54: 
multiple definition of `initrd_size';
+kexec/fs2dt.o:/builddir/build/BUILD/kexec-tools-2.0.20/././kexec/arch/arm64/kexec-arm64.h:54:
 first defined here
+
+/builddir/build/BUILD/kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.h:53: 
multiple definition of `initrd_base';
+kexec/fs2dt.o:/builddir/build/BUILD/kexec-tools-2.0.20/././kexec/arch/arm64/kexec-arm64.h:53:
 first defined here
+
+And apparently, these variables are wrongly declared multiple times. So
+remove duplicated declaration.
+
+Signed-off-by: Kairui Song 
+Signed-off-by: Simon Horman 
+---
+ kexec/arch/arm64/kexec-arm64.h  | 6 +++---
+ kexec/arch/ppc64/kexec-elf-ppc64.c  | 2 --
+ kexec/arch/x86_64/kexec-bzImage64.c | 1 -
+ kexec/fs2dt.h   | 2 +-
+ 4 files changed, 4 insertions(+), 7 deletions(-)
+
+diff --git a/kexec/arch/arm64/kexec-arm64.h b/kexec/arch/arm64/kexec-arm64.h
+index 628de79..ed447ac 100644
+--- a/kexec/arch/arm64/kexec-arm64.h