From 58e33e2011c52304ed060d43b487b016de7d4061 Mon Sep 17 00:00:00 2001 From: chengquan Date: Thu, 26 Dec 2019 15:15:03 +0800 Subject: [PATCH] package init --- 98-kexec.rules | 4 + README.en.md | 36 - README.md | 39 - ...ure-compile-options-for-makedumpfile.patch | 29 + ...t-if-kernel-command-line-is-too-long.patch | 40 + ...t-more-than-one-crash-kernel-regions.patch | 278 +++++ ...nitrd-addresses-when-patching-the-DT.patch | 75 ++ ...-of-mem_section-return-error-address.patch | 37 + dracut-early-kdump-module-setup.sh | 44 + dracut-early-kdump.sh | 84 ++ dracut-kdump-capture.service | 30 + dracut-kdump-emergency.service | 28 + dracut-kdump-emergency.target | 14 + dracut-kdump-error-handler.service | 34 + dracut-kdump-error-handler.sh | 10 + dracut-kdump.sh | 204 +++ dracut-module-setup.sh | 771 ++++++++++++ dracut-monitor_dd_progress | 28 + early-kdump-howto.txt | 54 + eppic_050615.tar.gz | Bin 0 -> 95427 bytes kdump-dep-generator.sh | 22 + ...or-that-can-not-parse-the-e820-reser.patch | 35 + kdump-in-cluster-environment.txt | 91 ++ kdump-lib-initramfs.sh | 165 +++ kdump-lib.sh | 709 +++++++++++ kdump.conf | 163 +++ kdump.conf.5 | 344 +++++ kdump.service | 14 + kdump.sysconfig | 37 + kdump.sysconfig.i386 | 40 + kdump.sysconfig.ppc64 | 42 + kdump.sysconfig.ppc64le | 42 + kdump.sysconfig.s390x | 43 + kdump.sysconfig.x86_64 | 40 + kdumpctl | 1110 +++++++++++++++++ kdumpctl.8 | 44 + ...t-for-handling-zlib-compressed-image.patch | 387 ++++++ ...ix-adding-chosen-node-for-cases-wher.patch | 67 + ...ix-check-against-fdt_add_subnode-ret.patch | 72 ++ ...ix-chosen-v-s-chosen-node-being-pass.patch | 104 ++ ...4.c-Add-error-handling-check-against.patch | 33 + ...b.h-Add-is_zlib_file-helper-function.patch | 92 ++ ...lose-for-fd-used-for-kexec_file_load.patch | 36 + ...handled-rela-relocation-R_X86_64_PLT.patch | 37 + kexec-tools-2.0.17.tar.xz | Bin 0 -> 290612 bytes ...2.0.8-increase-the-buf-space-to-1536.patch | 31 + kexec-tools.spec | 342 +++++ ...x-return-value-of-uImage_arm64_probe.patch | 57 + live-image-kdump-howto.txt | 25 + makedumpfile-1.6.4.tar.gz | Bin 0 -> 191786 bytes ...ify-SECTIONS_SIZE_BITS-to-27-for-arm.patch | 28 + mkdumprd | 466 +++++++ mkdumprd.8 | 33 + ...-infinite-loop-if-log-buffer-wraps-a.patch | 37 + ...k-proc-mounts-before-mtab-for-mounts.patch | 70 ++ x86-Find-mounts-by-FS-type-not-name.patch | 84 ++ x86-fix-BAD_FREE-in-get_efi_runtime_map.patch | 32 + ...d-overlapping-segments-in-low-memory.patch | 153 +++ 58 files changed, 6891 insertions(+), 75 deletions(-) create mode 100644 98-kexec.rules delete mode 100644 README.en.md delete mode 100644 README.md create mode 100644 add-secure-compile-options-for-makedumpfile.patch create mode 100644 arm64-error-out-if-kernel-command-line-is-too-long.patch create mode 100644 arm64-support-more-than-one-crash-kernel-regions.patch create mode 100644 arm64-wipe-old-initrd-addresses-when-patching-the-DT.patch create mode 100644 bugfix-get-the-paddr-of-mem_section-return-error-address.patch create mode 100644 dracut-early-kdump-module-setup.sh create mode 100644 dracut-early-kdump.sh create mode 100644 dracut-kdump-capture.service create mode 100644 dracut-kdump-emergency.service create mode 100644 dracut-kdump-emergency.target create mode 100644 dracut-kdump-error-handler.service create mode 100644 dracut-kdump-error-handler.sh create mode 100644 dracut-kdump.sh create mode 100644 dracut-module-setup.sh create mode 100644 dracut-monitor_dd_progress create mode 100644 early-kdump-howto.txt create mode 100644 eppic_050615.tar.gz create mode 100644 kdump-dep-generator.sh create mode 100644 kdump-fix-an-error-that-can-not-parse-the-e820-reser.patch create mode 100644 kdump-in-cluster-environment.txt create mode 100644 kdump-lib-initramfs.sh create mode 100644 kdump-lib.sh create mode 100644 kdump.conf create mode 100644 kdump.conf.5 create mode 100644 kdump.service create mode 100644 kdump.sysconfig create mode 100644 kdump.sysconfig.i386 create mode 100644 kdump.sysconfig.ppc64 create mode 100644 kdump.sysconfig.ppc64le create mode 100644 kdump.sysconfig.s390x create mode 100644 kdump.sysconfig.x86_64 create mode 100644 kdumpctl create mode 100644 kdumpctl.8 create mode 100644 kexec-arm64-Add-support-for-handling-zlib-compressed-image.patch create mode 100644 kexec-dt-ops.c-Fix-adding-chosen-node-for-cases-wher.patch create mode 100644 kexec-dt-ops.c-Fix-check-against-fdt_add_subnode-ret.patch create mode 100644 kexec-dt-ops.c-Fix-chosen-v-s-chosen-node-being-pass.patch create mode 100644 kexec-kexec-arm64.c-Add-error-handling-check-against.patch create mode 100644 kexec-kexec-zlib.h-Add-is_zlib_file-helper-function.patch create mode 100644 kexec-kexec.c-Add-the-missing-close-for-fd-used-for-kexec_file_load.patch create mode 100644 kexec-tools-2.0.17-kexec-fix-for-Unhandled-rela-relocation-R_X86_64_PLT.patch create mode 100644 kexec-tools-2.0.17.tar.xz create mode 100644 kexec-tools-2.0.8-increase-the-buf-space-to-1536.patch create mode 100644 kexec-tools.spec create mode 100644 kexec-uImage-arm64.c-Fix-return-value-of-uImage_arm64_probe.patch create mode 100644 live-image-kdump-howto.txt create mode 100644 makedumpfile-1.6.4.tar.gz create mode 100644 makedumpfile-modify-SECTIONS_SIZE_BITS-to-27-for-arm.patch create mode 100644 mkdumprd create mode 100644 mkdumprd.8 create mode 100644 vmcore-dmesg-fix-infinite-loop-if-log-buffer-wraps-a.patch create mode 100644 x86-Check-proc-mounts-before-mtab-for-mounts.patch create mode 100644 x86-Find-mounts-by-FS-type-not-name.patch create mode 100644 x86-fix-BAD_FREE-in-get_efi_runtime_map.patch create mode 100644 xen-Avoid-overlapping-segments-in-low-memory.patch diff --git a/98-kexec.rules b/98-kexec.rules new file mode 100644 index 0000000..e32ee13 --- /dev/null +++ b/98-kexec.rules @@ -0,0 +1,4 @@ +SUBSYSTEM=="cpu", ACTION=="add", PROGRAM="/bin/systemctl try-restart kdump.service" +SUBSYSTEM=="cpu", ACTION=="remove", PROGRAM="/bin/systemctl try-restart kdump.service" +SUBSYSTEM=="memory", ACTION=="online", PROGRAM="/bin/systemctl try-restart kdump.service" +SUBSYSTEM=="memory", ACTION=="offline", PROGRAM="/bin/systemctl try-restart kdump.service" diff --git a/README.en.md b/README.en.md deleted file mode 100644 index a6a5dc2..0000000 --- a/README.en.md +++ /dev/null @@ -1,36 +0,0 @@ -# kexec-tools - -#### Description -{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**} - -#### Software Architecture -Software architecture description - -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md deleted file mode 100644 index e36c919..0000000 --- a/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# kexec-tools - -#### 介绍 -{**以下是码云平台说明,您可以替换此简介** -码云是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台 -无论是个人、团队、或是企业,都能够用码云实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)} - -#### 软件架构 -软件架构说明 - - -#### 安装教程 - -1. xxxx -2. xxxx -3. xxxx - -#### 使用说明 - -1. xxxx -2. xxxx -3. xxxx - -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request - - -#### 码云特技 - -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 -5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/add-secure-compile-options-for-makedumpfile.patch b/add-secure-compile-options-for-makedumpfile.patch new file mode 100644 index 0000000..3459730 --- /dev/null +++ b/add-secure-compile-options-for-makedumpfile.patch @@ -0,0 +1,29 @@ +From 776d8f6355fdf77ec63bae4be09b8f40d0c831ad Mon Sep 17 00:00:00 2001 +From: pengyeqing +Date: Sun, 18 Aug 2019 23:59:23 +0000 +Subject: [PATCH] kexec-tools: add secure compile options for makedumpfile + +reason:add secure compile options for makedumpfile + +Signed-off-by: pengyeqing +--- + Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/makedumpfile-1.6.4/Makefile b/makedumpfile-1.6.4/Makefile +index 612b9d0..180a64f 100644 +--- a/makedumpfile-1.6.4/Makefile ++++ b/makedumpfile-1.6.4/Makefile +@@ -10,7 +10,8 @@ endif + + CFLAGS = -g -O2 -Wall -D_FILE_OFFSET_BITS=64 \ + -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE \ +- -DVERSION='"$(VERSION)"' -DRELEASE_DATE='"$(DATE)"' ++ -DVERSION='"$(VERSION)"' -DRELEASE_DATE='"$(DATE)"' \ ++ -fstack-protector-strong -Wl,-z,now + CFLAGS_ARCH = -g -O2 -Wall -D_FILE_OFFSET_BITS=64 \ + -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE + # LDFLAGS = -L/usr/local/lib -I/usr/local/include +-- +1.8.3.1 + diff --git a/arm64-error-out-if-kernel-command-line-is-too-long.patch b/arm64-error-out-if-kernel-command-line-is-too-long.patch new file mode 100644 index 0000000..119d02b --- /dev/null +++ b/arm64-error-out-if-kernel-command-line-is-too-long.patch @@ -0,0 +1,40 @@ +From ca4823aa2fc28e00400e65473caeede5cadd0da0 Mon Sep 17 00:00:00 2001 +From: Munehisa Kamata +Date: Tue, 26 Jun 2018 12:47:29 -0700 +Subject: [PATCH 13/37] arm64: error out if kernel command line is too long + +Currently, in arm64, kexec silently truncates kernel command line longer +than COMMAND_LINE_SIZE - 1. Error out in that case as some other +architectures already do that. The error message is copied from x86_64. + +Suggested-by: Tom Kirchner +Signed-off-by: Munehisa Kamata +Signed-off-by: Simon Horman +--- + kexec/arch/arm64/kexec-arm64.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/kexec/arch/arm64/kexec-arm64.c b/kexec/arch/arm64/kexec-arm64.c +index a206c17..7a12479 100644 +--- a/kexec/arch/arm64/kexec-arm64.c ++++ b/kexec/arch/arm64/kexec-arm64.c +@@ -598,8 +598,15 @@ int arm64_load_other_segments(struct kexec_info *info, + char command_line[COMMAND_LINE_SIZE] = ""; + + if (arm64_opts.command_line) { ++ if (strlen(arm64_opts.command_line) > ++ sizeof(command_line) - 1) { ++ fprintf(stderr, ++ "Kernel command line too long for kernel!\n"); ++ return EFAILED; ++ } ++ + strncpy(command_line, arm64_opts.command_line, +- sizeof(command_line)); ++ sizeof(command_line) - 1); + command_line[sizeof(command_line) - 1] = 0; + } + +-- +2.6.4.windows.1 + diff --git a/arm64-support-more-than-one-crash-kernel-regions.patch b/arm64-support-more-than-one-crash-kernel-regions.patch new file mode 100644 index 0000000..8d9f4dd --- /dev/null +++ b/arm64-support-more-than-one-crash-kernel-regions.patch @@ -0,0 +1,278 @@ +From 6633170a04b1fc55eb72adc0150ffcd1b85be8ce Mon Sep 17 00:00:00 2001 +From: Chen Zhou +Date: Fri, 29 Mar 2019 21:01:29 +0800 +Subject: [PATCH] kexec-tools: support more than one crash kernel regions + +reason: When crashkernel is reserved above 4G in memory, kernel should +reserve some amount of low memory for swiotlb and some DMA buffers. +So there may be two crash kernel regions, one is below 4G, the other +is above 4G. + +Currently, there is only one crash kernel region on arm64, and pass +"linux,usable-memory-range = " property to crash dump +kernel. Now, we pass +"linux,usable-memory-range = " to crash +dump kernel to support two crash kernel regions and load crash +kernel high. + +This patch paves the way for the use of arm64 reserving crashkernel +above 4G. The details are as below: +Link: https://lore.kernel.org/linux-arm-kernel/20190403030546.23718-1-chenzhou10@huawei.com/T/#t + +Signed-off-by: Chen Zhou +--- + kexec/arch/arm64/crashdump-arm64.c | 44 +++++++++++++++++------------ + kexec/arch/arm64/crashdump-arm64.h | 3 +- + kexec/arch/arm64/kexec-arm64.c | 57 +++++++++++++++++++++++++++++--------- + 3 files changed, 72 insertions(+), 32 deletions(-) + +diff --git a/kexec/arch/arm64/crashdump-arm64.c b/kexec/arch/arm64/crashdump-arm64.c +index 4fd7aa8..158e778 100644 +--- a/kexec/arch/arm64/crashdump-arm64.c ++++ b/kexec/arch/arm64/crashdump-arm64.c +@@ -32,11 +32,11 @@ static struct memory_ranges system_memory_rgns = { + }; + + /* memory range reserved for crashkernel */ +-struct memory_range crash_reserved_mem; ++struct memory_range crash_reserved_mem[CRASH_MAX_RESERVED_RANGES]; + struct memory_ranges usablemem_rgns = { + .size = 0, +- .max_size = 1, +- .ranges = &crash_reserved_mem, ++ .max_size = CRASH_MAX_RESERVED_RANGES, ++ .ranges = crash_reserved_mem, + }; + + struct memory_range elfcorehdr_mem; +@@ -108,7 +108,7 @@ int is_crashkernel_mem_reserved(void) + if (!usablemem_rgns.size) + kexec_iomem_for_each_line(NULL, iomem_range_callback, NULL); + +- return crash_reserved_mem.start != crash_reserved_mem.end; ++ return usablemem_rgns.size; + } + + /* +@@ -122,6 +122,8 @@ int is_crashkernel_mem_reserved(void) + */ + static int crash_get_memory_ranges(void) + { ++ int i; ++ + /* + * First read all memory regions that can be considered as + * system memory including the crash area. +@@ -129,16 +131,19 @@ static int crash_get_memory_ranges(void) + if (!usablemem_rgns.size) + kexec_iomem_for_each_line(NULL, iomem_range_callback, NULL); + +- /* allow only a single region for crash dump kernel */ +- if (usablemem_rgns.size != 1) ++ /* allow one or two region for crash dump kernel */ ++ if (!usablemem_rgns.size) + return -EINVAL; + +- dbgprint_mem_range("Reserved memory range", &crash_reserved_mem, 1); ++ dbgprint_mem_range("Reserved memory range", ++ usablemem_rgns.ranges, usablemem_rgns.size); + +- if (mem_regions_exclude(&system_memory_rgns, &crash_reserved_mem)) { +- fprintf(stderr, +- "Error: Number of crash memory ranges excedeed the max limit\n"); +- return -ENOMEM; ++ for (i = 0; i < usablemem_rgns.size; i++) { ++ if (mem_regions_exclude(&system_memory_rgns, &crash_reserved_mem[i])) { ++ fprintf(stderr, ++ "Error: Number of crash memory ranges excedeed the max limit\n"); ++ return -ENOMEM; ++ } + } + + /* +@@ -199,7 +204,8 @@ int load_crashdump_segments(struct kexec_info *info) + return EFAILED; + + elfcorehdr = add_buffer_phys_virt(info, buf, bufsz, bufsz, 0, +- crash_reserved_mem.start, crash_reserved_mem.end, ++ crash_reserved_mem[usablemem_rgns.size - 1].start, ++ crash_reserved_mem[usablemem_rgns.size - 1].end, + -1, 0); + + elfcorehdr_mem.start = elfcorehdr; +@@ -217,21 +223,23 @@ int load_crashdump_segments(struct kexec_info *info) + * virt_to_phys() in add_segment(). + * So let's fix up those values for later use so the memory base + * (arm64_mm.phys_offset) will be correctly replaced with +- * crash_reserved_mem.start. ++ * crash_reserved_mem[usablemem_rgns.size - 1].start. + */ + void fixup_elf_addrs(struct mem_ehdr *ehdr) + { + struct mem_phdr *phdr; + int i; + +- ehdr->e_entry += - arm64_mem.phys_offset + crash_reserved_mem.start; ++ ehdr->e_entry += -arm64_mem.phys_offset + ++ crash_reserved_mem[usablemem_rgns.size - 1].start; + + for (i = 0; i < ehdr->e_phnum; i++) { + phdr = &ehdr->e_phdr[i]; + if (phdr->p_type != PT_LOAD) + continue; + phdr->p_paddr += +- (-arm64_mem.phys_offset + crash_reserved_mem.start); ++ (-arm64_mem.phys_offset + ++ crash_reserved_mem[usablemem_rgns.size - 1].start); + } + } + +@@ -240,11 +248,11 @@ int get_crash_kernel_load_range(uint64_t *start, uint64_t *end) + if (!usablemem_rgns.size) + kexec_iomem_for_each_line(NULL, iomem_range_callback, NULL); + +- if (!crash_reserved_mem.end) ++ if (!usablemem_rgns.size) + return -1; + +- *start = crash_reserved_mem.start; +- *end = crash_reserved_mem.end; ++ *start = crash_reserved_mem[usablemem_rgns.size - 1].start; ++ *end = crash_reserved_mem[usablemem_rgns.size - 1].end; + + return 0; + } +diff --git a/kexec/arch/arm64/crashdump-arm64.h b/kexec/arch/arm64/crashdump-arm64.h +index 880b83a..c07233f 100644 +--- a/kexec/arch/arm64/crashdump-arm64.h ++++ b/kexec/arch/arm64/crashdump-arm64.h +@@ -15,9 +15,10 @@ + #include "kexec.h" + + #define CRASH_MAX_MEMORY_RANGES 32 ++#define CRASH_MAX_RESERVED_RANGES 8 + + extern struct memory_ranges usablemem_rgns; +-extern struct memory_range crash_reserved_mem; ++extern struct memory_range crash_reserved_mem[]; + extern struct memory_range elfcorehdr_mem; + + extern int load_crashdump_segments(struct kexec_info *info); +diff --git a/kexec/arch/arm64/kexec-arm64.c b/kexec/arch/arm64/kexec-arm64.c +index 2992bce..2bf8b66 100644 +--- a/kexec/arch/arm64/kexec-arm64.c ++++ b/kexec/arch/arm64/kexec-arm64.c +@@ -414,6 +414,34 @@ static int fdt_setprop_range(void *fdt, int nodeoffset, + return result; + } + ++static int fdt_setprop_ranges(void *fdt, int nodeoffset, ++ const char *name, struct memory_ranges *ranges, ++ uint32_t address_cells, uint32_t size_cells) ++{ ++ void *buf, *prop; ++ size_t buf_size; ++ int i, result; ++ ++ buf_size = (address_cells + size_cells) * sizeof(uint32_t) * ++ ranges->size; ++ prop = buf = xmalloc(buf_size); ++ ++ for (i = 0; i < ranges->size; i++) { ++ fill_property(prop, ranges->ranges[i].start, address_cells); ++ prop += address_cells * sizeof(uint32_t); ++ ++ fill_property(prop, ranges->ranges[i].end - ++ ranges->ranges[i].start + 1, size_cells); ++ prop += size_cells * sizeof(uint32_t); ++ } ++ ++ result = fdt_setprop(fdt, nodeoffset, name, buf, buf_size); ++ ++ free(buf); ++ ++ return result; ++} ++ + /** + * setup_2nd_dtb - Setup the 2nd stage kernel's dtb. + */ +@@ -427,7 +455,7 @@ static int setup_2nd_dtb(struct dtb *dtb, char *command_line, int on_crash) + int nodeoffset; + char *new_buf = NULL; + int new_size; +- int result; ++ int i, result; + + result = fdt_check_header(dtb->buf); + +@@ -430,19 +430,21 @@ static int setup_2nd_dtb(struct dtb *dtb, char *command_line, int on_crash) + goto on_error; + } + +- if (!cells_size_fitted(address_cells, size_cells, +- &crash_reserved_mem)) { +- fprintf(stderr, +- "kexec: usable memory range doesn't fit cells-size.\n"); +- result = -EINVAL; +- goto on_error; +- } ++ for (i = 0; i < usablemem_rgns.size; i++) { ++ if (!cells_size_fitted(address_cells, size_cells, ++ &crash_reserved_mem[i])) { ++ fprintf(stderr, ++ "kexec: usable memory range doesn't fit cells-size.\n"); ++ result = -EINVAL; ++ goto on_error; ++ } ++ } + + /* duplicate dt blob */ + range_len = sizeof(uint32_t) * (address_cells + size_cells); + new_size = fdt_totalsize(dtb->buf) + + fdt_prop_len(PROP_ELFCOREHDR, range_len) +- + fdt_prop_len(PROP_USABLE_MEM_RANGE, range_len); ++ + fdt_prop_len(PROP_USABLE_MEM_RANGE, range_len * usablemem_rgns.size); + + new_buf = xmalloc(new_size); + result = fdt_open_into(dtb->buf, new_buf, new_size); +@@ -565,8 +596,8 @@ static int setup_2nd_dtb(struct dtb *dtb, char *command_line, int on_crash) + + /* add linux,usable-memory-range */ + nodeoffset = fdt_path_offset(new_buf, "/chosen"); +- result = fdt_setprop_range(new_buf, nodeoffset, +- PROP_USABLE_MEM_RANGE, &crash_reserved_mem, ++ result = fdt_setprop_ranges(new_buf, nodeoffset, ++ PROP_USABLE_MEM_RANGE, &usablemem_rgns, + address_cells, size_cells); + if (result) { + dbgprintf("%s: fdt_setprop failed: %s\n", __func__, +@@ -599,13 +630,13 @@ unsigned long arm64_locate_kernel_segment(struct kexec_info *info) + if (info->kexec_flags & KEXEC_ON_CRASH) { + unsigned long hole_end; + +- hole = (crash_reserved_mem.start < mem_min ? +- mem_min : crash_reserved_mem.start); ++ hole = (crash_reserved_mem[usablemem_rgns.size - 1].start < mem_min ? ++ mem_min : crash_reserved_mem[usablemem_rgns.size - 1].start); + hole = _ALIGN_UP(hole, MiB(2)); + hole_end = hole + arm64_mem.text_offset + arm64_mem.image_size; + + if ((hole_end > mem_max) || +- (hole_end > crash_reserved_mem.end)) { ++ (hole_end > crash_reserved_mem[usablemem_rgns.size - 1].end)) { + dbgprintf("%s: Crash kernel out of range\n", __func__); + hole = ULONG_MAX; + } +@@ -673,7 +704,7 @@ int arm64_load_other_segments(struct kexec_info *info, + + hole_min = image_base + arm64_mem.image_size; + if (info->kexec_flags & KEXEC_ON_CRASH) +- hole_max = crash_reserved_mem.end; ++ hole_max = crash_reserved_mem[usablemem_rgns.size - 1].end; + else + hole_max = ULONG_MAX; + +-- +2.7.4 + diff --git a/arm64-wipe-old-initrd-addresses-when-patching-the-DT.patch b/arm64-wipe-old-initrd-addresses-when-patching-the-DT.patch new file mode 100644 index 0000000..e39097e --- /dev/null +++ b/arm64-wipe-old-initrd-addresses-when-patching-the-DT.patch @@ -0,0 +1,75 @@ +From f1f2f9edf8d4c5294e30f20546c5177ab59e53a2 Mon Sep 17 00:00:00 2001 +From: Jean-Philippe Brucker +Date: Fri, 1 Feb 2019 15:50:28 +0000 +Subject: [PATCH 33/37] arm64: wipe old initrd addresses when patching the DTB + +When copying the DTB from the current kernel, if the user didn't pass an +initrd on the command-line, make sure that the new DTB doesn't contain +initrd properties with stale addresses. Otherwise the next kernel will +try to unpack the initramfs from a location that contains junk, since +the initial initrd is long gone: + +[ 49.370026] Initramfs unpacking failed: junk in compressed archive + +This issue used to be hidden by a successful recovery, but since commit +ff1522bb7d98 ("initramfs: cleanup incomplete rootfs") in Linux, the +kernel removes the default /root mountpoint after failing to load an +initramfs, and cannot mount the rootfs passed on the command-line +anymore. + +Signed-off-by: Jean-Philippe Brucker +Signed-off-by: Simon Horman +--- + kexec/arch/arm64/kexec-arm64.c | 5 +++++ + kexec/dt-ops.c | 6 ++++++ + kexec/dt-ops.h | 1 + + 3 files changed, 12 insertions(+) + +diff --git a/kexec/arch/arm64/kexec-arm64.c b/kexec/arch/arm64/kexec-arm64.c +index 1cde75d..2992bce 100644 +--- a/kexec/arch/arm64/kexec-arm64.c ++++ b/kexec/arch/arm64/kexec-arm64.c +@@ -713,6 +713,11 @@ int arm64_load_other_segments(struct kexec_info *info, + } + } + ++ if (!initrd_buf) { ++ /* Don't reuse the initrd addresses from 1st DTB */ ++ dtb_clear_initrd((char **)&dtb.buf, &dtb.size); ++ } ++ + /* Check size limit as specified in booting.txt. */ + + if (dtb.size > MiB(2)) { +diff --git a/kexec/dt-ops.c b/kexec/dt-ops.c +index 5626c47..dd2feaa 100644 +--- a/kexec/dt-ops.c ++++ b/kexec/dt-ops.c +@@ -45,6 +45,12 @@ int dtb_set_initrd(char **dtb, off_t *dtb_size, off_t start, off_t end) + return 0; + } + ++void dtb_clear_initrd(char **dtb, off_t *dtb_size) ++{ ++ dtb_delete_property(*dtb, n_chosen, p_initrd_start); ++ dtb_delete_property(*dtb, n_chosen, p_initrd_end); ++} ++ + int dtb_set_bootargs(char **dtb, off_t *dtb_size, const char *command_line) + { + return dtb_set_property(dtb, dtb_size, n_chosen, p_bootargs, +diff --git a/kexec/dt-ops.h b/kexec/dt-ops.h +index e70d15d..03659ce 100644 +--- a/kexec/dt-ops.h ++++ b/kexec/dt-ops.h +@@ -4,6 +4,7 @@ + #include + + int dtb_set_initrd(char **dtb, off_t *dtb_size, off_t start, off_t end); ++void dtb_clear_initrd(char **dtb, off_t *dtb_size); + int dtb_set_bootargs(char **dtb, off_t *dtb_size, const char *command_line); + int dtb_set_property(char **dtb, off_t *dtb_size, const char *node, + const char *prop, const void *value, int value_len); +-- +2.6.4.windows.1 + diff --git a/bugfix-get-the-paddr-of-mem_section-return-error-address.patch b/bugfix-get-the-paddr-of-mem_section-return-error-address.patch new file mode 100644 index 0000000..73d3a3a --- /dev/null +++ b/bugfix-get-the-paddr-of-mem_section-return-error-address.patch @@ -0,0 +1,37 @@ +From daa57a0d1aa31fad5811ba70d37e1ed23773151e Mon Sep 17 00:00:00 2001 +From: kangenbo +Date: Wed, 30 Jan 2019 15:50:31 +0800 +Subject: [PATCH] kexec-tools: get the paddr of mem_section return error address + +reason: get the paddr of mem_section return error address + +Signed-off-by: kangenbo +--- + makedumpfile-1.6.4/arch/arm64.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/makedumpfile-1.6.4/arch/arm64.c b/makedumpfile-1.6.4/arch/arm64.c +index 2fd3e18..cc59e63 100644 +--- a/makedumpfile-1.6.4/arch/arm64.c ++++ b/makedumpfile-1.6.4/arch/arm64.c +@@ -336,7 +336,7 @@ vaddr_to_paddr_arm64(unsigned long vaddr) + + if ((pud_val(pudv) & PUD_TYPE_MASK) == PUD_TYPE_SECT) { + /* 1GB section for Page Table level = 4 and Page Size = 4KB */ +- paddr = (pud_val(pudv) & (PUD_MASK & PMD_SECTION_MASK)) ++ paddr = (pud_val(pudv) & (PUD_MASK & PHYS_MASK)) + + (vaddr & (PUD_SIZE - 1)); + return paddr; + } +@@ -367,7 +367,7 @@ vaddr_to_paddr_arm64(unsigned long vaddr) + break; + case PMD_TYPE_SECT: + /* 512MB section for Page Table level = 3 and Page Size = 64KB*/ +- paddr = (pmd_val(pmdv) & (PMD_MASK & PMD_SECTION_MASK)) ++ paddr = (pmd_val(pmdv) & (PMD_MASK & PHYS_MASK)) + + (vaddr & (PMD_SIZE - 1)); + break; + } +-- +1.7.12.4 + diff --git a/dracut-early-kdump-module-setup.sh b/dracut-early-kdump-module-setup.sh new file mode 100644 index 0000000..7613fbc --- /dev/null +++ b/dracut-early-kdump-module-setup.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +. /etc/sysconfig/kdump +. /lib/kdump/kdump-lib.sh + +KDUMP_KERNEL="" +KDUMP_INITRD="" + +check() { + if [ ! -f /etc/sysconfig/kdump ] || [ ! -f /lib/kdump/kdump-lib.sh ]\ + || [ -n "${IN_KDUMP}" ] + then + return 1 + fi + return 255 +} + +depends() { + echo "base shutdown" + return 0 +} + +prepare_kernel_initrd() { + KDUMP_BOOTDIR=$(check_boot_dir "${KDUMP_BOOTDIR}") + if [ -z "$KDUMP_KERNELVER" ]; then + kdump_kver=`uname -r` + else + kdump_kver=$KDUMP_KERNELVER + fi + KDUMP_KERNEL="${KDUMP_BOOTDIR}/${KDUMP_IMG}-${kdump_kver}${KDUMP_IMG_EXT}" + KDUMP_INITRD="${KDUMP_BOOTDIR}/initramfs-${kdump_kver}kdump.img" +} + +install() { + inst_multiple tail find cut dirname hexdump + inst_simple "/etc/sysconfig/kdump" + inst_binary "/usr/sbin/kexec" + inst_binary "/usr/bin/gawk" "/usr/bin/awk" + inst_script "/lib/kdump/kdump-lib.sh" "/lib/kdump-lib.sh" + inst_hook cmdline 00 "$moddir/early-kdump.sh" + prepare_kernel_initrd + inst_binary "$KDUMP_KERNEL" + inst_binary "$KDUMP_INITRD" +} diff --git a/dracut-early-kdump.sh b/dracut-early-kdump.sh new file mode 100644 index 0000000..34a9909 --- /dev/null +++ b/dracut-early-kdump.sh @@ -0,0 +1,84 @@ +#! /bin/sh + +KEXEC=/sbin/kexec +standard_kexec_args="-p" + +EARLY_KDUMP_INITRD="" +EARLY_KDUMP_KERNEL="" +EARLY_KDUMP_CMDLINE="" +EARLY_KDUMP_KERNELVER="" +EARLY_KEXEC_ARGS="" + +. /etc/sysconfig/kdump +. /lib/dracut-lib.sh +. /lib/kdump-lib.sh + +prepare_parameters() +{ + EARLY_KDUMP_CMDLINE=$(prepare_cmdline "${KDUMP_COMMANDLINE}" "${KDUMP_COMMANDLINE_REMOVE}" "${KDUMP_COMMANDLINE_APPEND}") + KDUMP_BOOTDIR=$(check_boot_dir "${KDUMP_BOOTDIR}") + + #make early-kdump kernel string + if [ -z "$KDUMP_KERNELVER" ]; then + EARLY_KDUMP_KERNELVER=`uname -r` + else + EARLY_KDUMP_KERNELVER=$KDUMP_KERNELVER + fi + + EARLY_KDUMP_KERNEL="${KDUMP_BOOTDIR}/${KDUMP_IMG}-${EARLY_KDUMP_KERNELVER}${KDUMP_IMG_EXT}" + + #make early-kdump initrd string + EARLY_KDUMP_INITRD="${KDUMP_BOOTDIR}/initramfs-${EARLY_KDUMP_KERNELVER}kdump.img" +} + +early_kdump_load() +{ + check_kdump_feasibility + if [ $? -ne 0 ]; then + return 1 + fi + + if is_fadump_capable; then + echo "WARNING: early kdump doesn't support fadump." + return 1 + fi + + check_current_kdump_status + if [ $? == 0 ]; then + return 1 + fi + + prepare_parameters + + EARLY_KEXEC_ARGS=$(prepare_kexec_args "${KEXEC_ARGS}") + + if is_secure_boot_enforced; then + echo "Secure Boot is enabled. Using kexec file based syscall." + EARLY_KEXEC_ARGS="$EARLY_KEXEC_ARGS -s" + fi + + $KEXEC ${EARLY_KEXEC_ARGS} $standard_kexec_args \ + --command-line="$EARLY_KDUMP_CMDLINE" \ + --initrd=$EARLY_KDUMP_INITRD $EARLY_KDUMP_KERNEL + if [ $? == 0 ]; then + echo "kexec: loaded early-kdump kernel" + return 0 + else + echo "kexec: failed to load early-kdump kernel" + return 1 + fi +} + +set_early_kdump() +{ + if getargbool 0 rd.earlykdump; then + echo "early-kdump is enabled." + early_kdump_load + else + echo "early-kdump is disabled." + fi + + return 0 +} + +set_early_kdump diff --git a/dracut-kdump-capture.service b/dracut-kdump-capture.service new file mode 100644 index 0000000..57139c9 --- /dev/null +++ b/dracut-kdump-capture.service @@ -0,0 +1,30 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + +[Unit] +Description=Kdump Vmcore Save Service +After=initrd.target initrd-parse-etc.service sysroot.mount +After=dracut-initqueue.service dracut-pre-mount.service dracut-mount.service dracut-pre-pivot.service +Before=initrd-cleanup.service +ConditionPathExists=/etc/initrd-release +OnFailure=emergency.target +OnFailureIsolate=yes + +[Service] +Environment=DRACUT_SYSTEMD=1 +Environment=NEWROOT=/sysroot +Type=oneshot +ExecStart=/bin/kdump.sh +StandardInput=null +StandardOutput=syslog +StandardError=syslog+console +KillMode=process +RemainAfterExit=yes + +# Bash ignores SIGTERM, so we send SIGHUP instead, to ensure that bash +# terminates cleanly. +KillSignal=SIGHUP diff --git a/dracut-kdump-emergency.service b/dracut-kdump-emergency.service new file mode 100644 index 0000000..e023284 --- /dev/null +++ b/dracut-kdump-emergency.service @@ -0,0 +1,28 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + +# This service will be placed in kdump initramfs and replace both the systemd +# emergency service and dracut emergency shell. IOW, any emergency will be +# kick this service and in turn isolating to kdump error handler. + +[Unit] +Description=Kdump Emergency +DefaultDependencies=no +IgnoreOnIsolate=yes + +[Service] +ExecStart=/usr/bin/systemctl --no-block isolate kdump-error-handler.service +Type=oneshot +StandardInput=tty-force +StandardOutput=inherit +StandardError=inherit +KillMode=process +IgnoreSIGPIPE=no + +# Bash ignores SIGTERM, so we send SIGHUP instead, to ensure that bash +# terminates cleanly. +KillSignal=SIGHUP diff --git a/dracut-kdump-emergency.target b/dracut-kdump-emergency.target new file mode 100644 index 0000000..a1bb493 --- /dev/null +++ b/dracut-kdump-emergency.target @@ -0,0 +1,14 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + +[Unit] +Description=Emergency Mode +Documentation=man:systemd.special(7) +Requires=emergency.service +After=emergency.service +AllowIsolate=yes +IgnoreOnIsolate=yes diff --git a/dracut-kdump-error-handler.service b/dracut-kdump-error-handler.service new file mode 100644 index 0000000..13090be --- /dev/null +++ b/dracut-kdump-error-handler.service @@ -0,0 +1,34 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + +# This service will run the real kdump error handler code. Executing the +# default action configured in kdump.conf + +[Unit] +Description=Kdump Error Handler +DefaultDependencies=no +After=systemd-vconsole-setup.service +Wants=systemd-vconsole-setup.service +AllowIsolate=yes + +[Service] +Environment=HOME=/ +Environment=DRACUT_SYSTEMD=1 +Environment=NEWROOT=/sysroot +WorkingDirectory=/ +ExecStart=/bin/kdump-error-handler.sh +ExecStopPost=-/usr/bin/systemctl --fail --no-block default +Type=oneshot +StandardInput=tty-force +StandardOutput=inherit +StandardError=inherit +KillMode=process +IgnoreSIGPIPE=no + +# Bash ignores SIGTERM, so we send SIGHUP instead, to ensure that bash +# terminates cleanly. +KillSignal=SIGHUP diff --git a/dracut-kdump-error-handler.sh b/dracut-kdump-error-handler.sh new file mode 100644 index 0000000..2f0f1d1 --- /dev/null +++ b/dracut-kdump-error-handler.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +. /lib/kdump-lib-initramfs.sh + +set -o pipefail +export PATH=$PATH:$KDUMP_SCRIPT_DIR + +get_kdump_confs +do_default_action +do_final_action diff --git a/dracut-kdump.sh b/dracut-kdump.sh new file mode 100644 index 0000000..b75c2a5 --- /dev/null +++ b/dracut-kdump.sh @@ -0,0 +1,204 @@ +#!/bin/sh + +# continue here only if we have to save dump. +if [ -f /etc/fadump.initramfs ] && [ ! -f /proc/device-tree/rtas/ibm,kernel-dump ]; then + exit 0 +fi + +exec &> /dev/console +. /lib/dracut-lib.sh +. /lib/kdump-lib-initramfs.sh + +set -o pipefail +DUMP_RETVAL=0 + +export PATH=$PATH:$KDUMP_SCRIPT_DIR + +do_dump() +{ + local _ret + + eval $DUMP_INSTRUCTION + _ret=$? + + if [ $_ret -ne 0 ]; then + echo "kdump: saving vmcore failed" + fi + + return $_ret +} + +do_kdump_pre() +{ + if [ -n "$KDUMP_PRE" ]; then + "$KDUMP_PRE" + fi +} + +do_kdump_post() +{ + if [ -n "$KDUMP_POST" ]; then + "$KDUMP_POST" "$1" + fi +} + +add_dump_code() +{ + DUMP_INSTRUCTION=$1 +} + +dump_raw() +{ + local _raw=$1 + + [ -b "$_raw" ] || return 1 + + echo "kdump: saving to raw disk $_raw" + + if ! $(echo -n $CORE_COLLECTOR|grep -q makedumpfile); then + _src_size=`ls -l /proc/vmcore | cut -d' ' -f5` + _src_size_mb=$(($_src_size / 1048576)) + monitor_dd_progress $_src_size_mb & + fi + + echo "kdump: saving vmcore" + $CORE_COLLECTOR /proc/vmcore | dd of=$_raw bs=$DD_BLKSIZE >> /tmp/dd_progress_file 2>&1 || return 1 + sync + + echo "kdump: saving vmcore complete" + return 0 +} + +dump_ssh() +{ + local _opt="-i $1 -o BatchMode=yes -o StrictHostKeyChecking=yes" + local _dir="$KDUMP_PATH/$HOST_IP-$DATEDIR" + local _host=$2 + + echo "kdump: saving to $_host:$_dir" + + cat /var/lib/random-seed > /dev/urandom + ssh -q $_opt $_host mkdir -p $_dir || return 1 + + save_vmcore_dmesg_ssh ${DMESG_COLLECTOR} ${_dir} "${_opt}" $_host + + echo "kdump: saving vmcore" + + if [ "${CORE_COLLECTOR%%[[:blank:]]*}" = "scp" ]; then + scp -q $_opt /proc/vmcore "$_host:$_dir/vmcore-incomplete" || return 1 + ssh $_opt $_host "mv $_dir/vmcore-incomplete $_dir/vmcore" || return 1 + else + $CORE_COLLECTOR /proc/vmcore | ssh $_opt $_host "dd bs=512 of=$_dir/vmcore-incomplete" || return 1 + ssh $_opt $_host "mv $_dir/vmcore-incomplete $_dir/vmcore.flat" || return 1 + fi + + echo "kdump: saving vmcore complete" + return 0 +} + +save_vmcore_dmesg_ssh() { + local _dmesg_collector=$1 + local _path=$2 + local _opts="$3" + local _location=$4 + + echo "kdump: saving vmcore-dmesg.txt" + $_dmesg_collector /proc/vmcore | ssh $_opts $_location "dd of=$_path/vmcore-dmesg-incomplete.txt" + _exitcode=$? + + if [ $_exitcode -eq 0 ]; then + ssh -q $_opts $_location mv $_path/vmcore-dmesg-incomplete.txt $_path/vmcore-dmesg.txt + echo "kdump: saving vmcore-dmesg.txt complete" + else + echo "kdump: saving vmcore-dmesg.txt failed" + fi +} + +get_host_ip() +{ + local _host + if is_nfs_dump_target || is_ssh_dump_target + then + kdumpnic=$(getarg kdumpnic=) + [ -z "$kdumpnic" ] && echo "kdump: failed to get kdumpnic!" && return 1 + _host=`ip addr show dev $kdumpnic|grep '[ ]*inet'` + [ $? -ne 0 ] && echo "kdump: wrong kdumpnic: $kdumpnic" && return 1 + _host=`echo $_host | head -n 1 | cut -d' ' -f2` + _host="${_host%%/*}" + [ -z "$_host" ] && echo "kdump: wrong kdumpnic: $kdumpnic" && return 1 + HOST_IP=$_host + fi + return 0 +} + +read_kdump_conf() +{ + if [ ! -f "$KDUMP_CONF" ]; then + echo "kdump: $KDUMP_CONF not found" + return + fi + + get_kdump_confs + + # rescan for add code for dump target + while read config_opt config_val; + do + # remove inline comments after the end of a directive. + config_val=$(strip_comments $config_val) + case "$config_opt" in + dracut_args) + config_val=$(get_dracut_args_target "$config_val") + [ -n "$config_val" ] && add_dump_code "dump_fs $config_val" + ;; + ext[234]|xfs|btrfs|minix|nfs) + add_dump_code "dump_fs $config_val" + ;; + raw) + add_dump_code "dump_raw $config_val" + ;; + ssh) + add_dump_code "dump_ssh $SSH_KEY_LOCATION $config_val" + ;; + esac + done < $KDUMP_CONF +} + +fence_kdump_notify() +{ + if [ -n "$FENCE_KDUMP_NODES" ]; then + $FENCE_KDUMP_SEND $FENCE_KDUMP_ARGS $FENCE_KDUMP_NODES & + fi +} + +read_kdump_conf +fence_kdump_notify + +get_host_ip +if [ $? -ne 0 ]; then + echo "kdump: get_host_ip exited with non-zero status!" + exit 1 +fi + +if [ -z "$DUMP_INSTRUCTION" ]; then + add_dump_code "dump_fs $NEWROOT" +fi + +do_kdump_pre +if [ $? -ne 0 ]; then + echo "kdump: kdump_pre script exited with non-zero status!" + do_final_action +fi +make_trace_mem "kdump saving vmcore" '1:shortmem' '2+:mem' '3+:slab' +do_dump +DUMP_RETVAL=$? + +do_kdump_post $DUMP_RETVAL +if [ $? -ne 0 ]; then + echo "kdump: kdump_post script exited with non-zero status!" +fi + +if [ $DUMP_RETVAL -ne 0 ]; then + exit 1 +fi + +do_final_action diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh new file mode 100644 index 0000000..a10244b --- /dev/null +++ b/dracut-module-setup.sh @@ -0,0 +1,771 @@ +#!/bin/bash + +. $dracutfunctions +. /lib/kdump/kdump-lib.sh + +if ! [[ -d "${initdir}/tmp" ]]; then + mkdir -p "${initdir}/tmp" +fi + +check() { + [[ $debug ]] && set -x + #kdumpctl sets this explicitly + if [ -z "$IN_KDUMP" ] || [ ! -f /etc/kdump.conf ] + then + return 1 + fi + return 0 +} + +depends() { + local _dep="base shutdown" + + if [ -n "$( find /sys/devices -name drm )" ] || [ -d /sys/module/hyperv_fb ]; then + _dep="$_dep drm" + fi + + if is_generic_fence_kdump -o is_pcs_fence_kdump; then + _dep="$_dep network" + fi + + echo $_dep + return 0 +} + +kdump_get_persistent_dev() { + local dev="${1//\"/}" + + case "$dev" in + UUID=*) + dev=`blkid -U "${dev#UUID=}"` + ;; + LABEL=*) + dev=`blkid -L "${dev#LABEL=}"` + ;; + esac + echo $(get_persistent_dev "$dev") +} + +kdump_is_bridge() { + [ -d /sys/class/net/"$1"/bridge ] +} + +kdump_is_bond() { + [ -d /sys/class/net/"$1"/bonding ] +} + +kdump_is_team() { + [ -f /usr/bin/teamnl ] && teamnl $1 ports &> /dev/null +} + +kdump_is_vlan() { + [ -f /proc/net/vlan/"$1" ] +} + +# $1: netdev name +source_ifcfg_file() { + local ifcfg_file + + ifcfg_file=$(get_ifcfg_filename $1) + if [ -f "${ifcfg_file}" ]; then + . ${ifcfg_file} + else + dwarning "The ifcfg file of $1 is not found!" + fi +} + +# $1: netdev name +kdump_setup_dns() { + local _nameserver _dns + local _dnsfile=${initdir}/etc/cmdline.d/42dns.conf + + source_ifcfg_file $1 + + [ -n "$DNS1" ] && echo "nameserver=$DNS1" > "$_dnsfile" + [ -n "$DNS2" ] && echo "nameserver=$DNS2" >> "$_dnsfile" + + while read content; + do + _nameserver=$(echo $content | grep ^nameserver) + [ -z "$_nameserver" ] && continue + + _dns=$(echo $_nameserver | cut -d' ' -f2) + [ -z "$_dns" ] && continue + + if [ ! -f $_dnsfile ] || [ ! $(cat $_dnsfile | grep -q $_dns) ]; then + echo "nameserver=$_dns" >> "$_dnsfile" + fi + done < "/etc/resolv.conf" +} + +#$1: netdev name +#$2: srcaddr +#if it use static ip echo it, or echo null +kdump_static_ip() { + local _netdev="$1" _srcaddr="$2" _ipv6_flag + local _netmask _gateway _ipaddr _target _nexthop + + _ipaddr=$(ip addr show dev $_netdev permanent | awk "/ $_srcaddr\/.* /{print \$2}") + + if is_ipv6_address $_srcaddr; then + _ipv6_flag="-6" + fi + + if [ -n "$_ipaddr" ]; then + _gateway=$(ip $_ipv6_flag route list dev $_netdev | \ + awk '/^default /{print $3}' | head -n 1) + + if [ "x" != "x"$_ipv6_flag ]; then + # _ipaddr="2002::56ff:feb6:56d5/64", _netmask is the number after "/" + _netmask=${_ipaddr#*\/} + _srcaddr="[$_srcaddr]" + _gateway="[$_gateway]" + else + _netmask=$(ipcalc -m $_ipaddr | cut -d'=' -f2) + fi + echo -n "${_srcaddr}::${_gateway}:${_netmask}::" + fi + + /sbin/ip $_ipv6_flag route show | grep -v default | grep ".*via.* $_netdev " |\ + while read _route; do + _target=`echo $_route | cut -d ' ' -f1` + _nexthop=`echo $_route | cut -d ' ' -f3` + if [ "x" != "x"$_ipv6_flag ]; then + _target="[$_target]" + _nexthop="[$_nexthop]" + fi + echo "rd.route=$_target:$_nexthop:$_netdev" + done >> ${initdir}/etc/cmdline.d/45route-static.conf +} + +kdump_get_mac_addr() { + cat /sys/class/net/$1/address +} + +#Bonding or team master modifies the mac address +#of its slaves, we should use perm address +kdump_get_perm_addr() { + local addr=$(ethtool -P $1 | sed -e 's/Permanent address: //') + if [ -z "$addr" ] || [ "$addr" = "00:00:00:00:00:00" ] + then + derror "Can't get the permanent address of $1" + else + echo "$addr" + fi +} + +# Prefix kernel assigned names with "kdump-". EX: eth0 -> kdump-eth0 +# Because kernel assigned names are not persistent between 1st and 2nd +# kernel. We could probably end up with eth0 being eth1, eth0 being +# eth1, and naming conflict happens. +kdump_setup_ifname() { + local _ifname + + # If ifname already has 'kdump-' prefix, we must be switching from + # fadump to kdump. Skip prefixing 'kdump-' in this case as adding + # another prefix may truncate the ifname. Since an ifname with + # 'kdump-' is already persistent, this should be fine. + if [[ $1 =~ eth* ]] && [[ ! $1 =~ ^kdump-* ]]; then + _ifname="kdump-$1" + else + _ifname="$1" + fi + + echo "$_ifname" +} + +kdump_setup_bridge() { + local _netdev=$1 + local _brif _dev _mac _kdumpdev + for _dev in `ls /sys/class/net/$_netdev/brif/`; do + _kdumpdev=$_dev + if kdump_is_bond "$_dev"; then + kdump_setup_bond "$_dev" + elif kdump_is_team "$_dev"; then + kdump_setup_team "$_dev" + elif kdump_is_vlan "$_dev"; then + kdump_setup_vlan "$_dev" + else + _mac=$(kdump_get_mac_addr $_dev) + _kdumpdev=$(kdump_setup_ifname $_dev) + echo -n " ifname=$_kdumpdev:$_mac" >> ${initdir}/etc/cmdline.d/41bridge.conf + fi + _brif+="$_kdumpdev," + done + echo " bridge=$_netdev:$(echo $_brif | sed -e 's/,$//')" >> ${initdir}/etc/cmdline.d/41bridge.conf +} + +kdump_setup_bond() { + local _netdev=$1 + local _dev _mac _slaves _kdumpdev + for _dev in `cat /sys/class/net/$_netdev/bonding/slaves`; do + _mac=$(kdump_get_perm_addr $_dev) + _kdumpdev=$(kdump_setup_ifname $_dev) + echo -n " ifname=$_kdumpdev:$_mac" >> ${initdir}/etc/cmdline.d/42bond.conf + _slaves+="$_kdumpdev," + done + echo -n " bond=$_netdev:$(echo $_slaves | sed 's/,$//')" >> ${initdir}/etc/cmdline.d/42bond.conf + # Get bond options specified in ifcfg + + source_ifcfg_file $_netdev + + bondoptions="$(echo :$BONDING_OPTS | sed 's/\s\+/,/')" + echo "$bondoptions" >> ${initdir}/etc/cmdline.d/42bond.conf +} + +kdump_setup_team() { + local _netdev=$1 + local _dev _mac _slaves _kdumpdev + for _dev in `teamnl $_netdev ports | awk -F':' '{print $2}'`; do + _mac=$(kdump_get_perm_addr $_dev) + _kdumpdev=$(kdump_setup_ifname $_dev) + echo -n " ifname=$_kdumpdev:$_mac" >> ${initdir}/etc/cmdline.d/44team.conf + _slaves+="$_kdumpdev," + done + echo " team=$_netdev:$(echo $_slaves | sed -e 's/,$//')" >> ${initdir}/etc/cmdline.d/44team.conf + #Buggy version teamdctl outputs to stderr! + #Try to use the latest version of teamd. + teamdctl "$_netdev" config dump > ${initdir}/tmp/$$-$_netdev.conf + if [ $? -ne 0 ] + then + derror "teamdctl failed." + exit 1 + fi + inst_dir /etc/teamd + inst_simple ${initdir}/tmp/$$-$_netdev.conf "/etc/teamd/$_netdev.conf" + rm -f ${initdir}/tmp/$$-$_netdev.conf +} + +kdump_setup_vlan() { + local _netdev=$1 + local _phydev="$(awk '/^Device:/{print $2}' /proc/net/vlan/"$_netdev")" + local _netmac="$(kdump_get_mac_addr $_phydev)" + local _kdumpdev + + #Just support vlan over bond, it is not easy + #to support all other complex setup + if kdump_is_bridge "$_phydev"; then + derror "Vlan over bridge is not supported!" + exit 1 + elif kdump_is_team "$_phydev"; then + derror "Vlan over team is not supported!" + exit 1 + elif kdump_is_bond "$_phydev"; then + kdump_setup_bond "$_phydev" + echo " vlan=$_netdev:$_phydev" > ${initdir}/etc/cmdline.d/43vlan.conf + else + _kdumpdev="$(kdump_setup_ifname $_phydev)" + echo " vlan=$_netdev:$_kdumpdev ifname=$_kdumpdev:$_netmac" > ${initdir}/etc/cmdline.d/43vlan.conf + fi +} + +# setup s390 znet cmdline +# $1: netdev name +kdump_setup_znet() { + local _options="" + + source_ifcfg_file $1 + + for i in $OPTIONS; do + _options=${_options},$i + done + echo rd.znet=${NETTYPE},${SUBCHANNELS}${_options} > ${initdir}/etc/cmdline.d/30znet.conf +} + +# Setup dracut to bringup a given network interface +kdump_setup_netdev() { + local _netdev=$1 _srcaddr=$2 + local _static _proto _ip_conf _ip_opts _ifname_opts + local _netmac=$(kdump_get_mac_addr $_netdev) + + if [ "$(uname -m)" = "s390x" ]; then + kdump_setup_znet $_netdev + fi + + _static=$(kdump_static_ip $_netdev $_srcaddr) + if [ -n "$_static" ]; then + _proto=none + elif is_ipv6_address $_srcaddr; then + _proto=either6 + else + _proto=dhcp + fi + + _ip_conf="${initdir}/etc/cmdline.d/40ip.conf" + _ip_opts=" ip=${_static}$(kdump_setup_ifname $_netdev):${_proto}" + + # dracut doesn't allow duplicated configuration for same NIC, even they're exactly the same. + # so we have to avoid adding duplicates + # We should also check /proc/cmdline for existing ip=xx arg. + # For example, iscsi boot will specify ip=xxx arg in cmdline. + if [ ! -f $_ip_conf ] || ! grep -q $_ip_opts $_ip_conf &&\ + ! grep -q "ip=[^[:space:]]*$_netdev" /proc/cmdline; then + echo "$_ip_opts" >> $_ip_conf + fi + + if kdump_is_bridge "$_netdev"; then + kdump_setup_bridge "$_netdev" + elif kdump_is_bond "$_netdev"; then + kdump_setup_bond "$_netdev" + elif kdump_is_team "$_netdev"; then + kdump_setup_team "$_netdev" + elif kdump_is_vlan "$_netdev"; then + kdump_setup_vlan "$_netdev" + else + _ifname_opts=" ifname=$(kdump_setup_ifname $_netdev):$_netmac" + echo "$_ifname_opts" >> $_ip_conf + fi + + kdump_setup_dns "$_netdev" +} + +get_ip_route_field() +{ + if `echo $1 | grep -q $2`; then + echo ${1##*$2} | cut -d ' ' -f1 + fi +} + +#Function:kdump_install_net +#$1: config values of net line in kdump.conf +#$2: srcaddr of network device +kdump_install_net() { + local _server _netdev _srcaddr _route _serv_tmp + local config_val="$1" + + _server=$(get_remote_host $config_val) + + if is_hostname $_server; then + _serv_tmp=`getent ahosts $_server | grep -v : | head -n 1` + if [ -z "$_serv_tmp" ]; then + _serv_tmp=`getent ahosts $_server | head -n 1` + fi + _server=`echo $_serv_tmp | cut -d' ' -f1` + fi + + _route=`/sbin/ip -o route get to $_server 2>&1` + [ $? != 0 ] && echo "Bad kdump location: $config_val" && exit 1 + + #the field in the ip output changes if we go to another subnet + _srcaddr=$(get_ip_route_field "$_route" "src") + _netdev=$(get_ip_route_field "$_route" "dev") + + kdump_setup_netdev "${_netdev}" "${_srcaddr}" + + #save netdev used for kdump as cmdline + # Whoever calling kdump_install_net() is setting up the default gateway, + # ie. bootdev/kdumpnic. So don't override the setting if calling + # kdump_install_net() for another time. For example, after setting eth0 as + # the default gate way for network dump, eth1 in the fence kdump path will + # call kdump_install_net again and we don't want eth1 to be the default + # gateway. + if [ ! -f ${initdir}/etc/cmdline.d/60kdumpnic.conf ] && + [ ! -f ${initdir}/etc/cmdline.d/70bootdev.conf ]; then + echo "kdumpnic=$(kdump_setup_ifname $_netdev)" > ${initdir}/etc/cmdline.d/60kdumpnic.conf + echo "bootdev=$(kdump_setup_ifname $_netdev)" > ${initdir}/etc/cmdline.d/70bootdev.conf + fi +} + +default_dump_target_install_conf() +{ + local _target _fstype + local _mntpoint _save_path + + is_user_configured_dump_target && return + + _save_path=$(get_option_value "path") + [ -z "$_save_path" ] && _save_path=$DEFAULT_PATH + + # strip the duplicated "/" + _save_path=$(echo $_save_path | tr -s /) + + _mntpoint=$(get_mntpoint_from_path $_save_path) + _target=$(get_target_from_path $_save_path) + + if is_atomic && is_bind_mount $_mntpoint; then + _save_path=${_save_path##"$_mntpoint"} + # the real dump path in the 2nd kernel, if the mount point is bind mounted. + _save_path=$(get_bind_mount_directory $_mntpoint)/$_save_path + _mntpoint=$(get_mntpoint_from_target $_target) + + # the absolute path in the 1st kernel + _save_path=$_mntpoint/$_save_path + fi + + _fstype=$(get_fs_type_from_target $_target) + if is_fs_type_nfs $_fstype; then + kdump_install_net "$_target" + _fstype="nfs" + else + _target=$(kdump_get_persistent_dev $_target) + fi + + echo "$_fstype $_target" >> ${initdir}/tmp/$$-kdump.conf + + # strip the duplicated "/" + _save_path=$(echo $_save_path | tr -s /) + # don't touch the path under root mount + if [ "$_mntpoint" != "/" ]; then + _save_path=${_save_path##"$_mntpoint"} + fi + + #erase the old path line, then insert the parsed path + sed -i "/^path/d" ${initdir}/tmp/$$-kdump.conf + echo "path $_save_path" >> ${initdir}/tmp/$$-kdump.conf +} + +adjust_bind_mount_path() +{ + local _target=$1 + local _save_path=$(get_option_value "path") + [ -z "$_save_path" ] && _save_path=$DEFAULT_PATH + + # strip the duplicated "/" + _save_path=$(echo $_save_path | tr -s /) + + local _absolute_save_path=$(get_mntpoint_from_target $_target)/$_save_path + _absolute_save_path=$(echo "$_absolute_save_path" | tr -s /) + local _mntpoint=$(get_mntpoint_from_path $_absolute_save_path) + + if is_bind_mount $_mntpoint; then + _save_path=${_absolute_save_path##"$_mntpoint"} + # the real dump path in the 2nd kernel, if the mount point is bind mounted. + _save_path=$(get_bind_mount_directory $_mntpoint)/$_save_path + + #erase the old path line, then insert the parsed path + sed -i "/^path/d" ${initdir}/tmp/$$-kdump.conf + echo "path $_save_path" >> ${initdir}/tmp/$$-kdump.conf + fi +} + +#install kdump.conf and what user specifies in kdump.conf +kdump_install_conf() { + local _opt _val _pdev + sed -ne '/^#/!p' /etc/kdump.conf > ${initdir}/tmp/$$-kdump.conf + + while read _opt _val; + do + # remove inline comments after the end of a directive. + _val=$(strip_comments $_val) + case "$_opt" in + raw) + _pdev=$(persistent_policy="by-id" kdump_get_persistent_dev $_val) + sed -i -e "s#^$_opt[[:space:]]\+$_val#$_opt $_pdev#" ${initdir}/tmp/$$-kdump.conf + ;; + ext[234]|xfs|btrfs|minix) + _pdev=$(kdump_get_persistent_dev $_val) + sed -i -e "s#^$_opt[[:space:]]\+$_val#$_opt $_pdev#" ${initdir}/tmp/$$-kdump.conf + if is_atomic; then + adjust_bind_mount_path "$_val" + fi + ;; + ssh|nfs) + kdump_install_net "$_val" + ;; + dracut_args) + if [[ $(get_dracut_args_fstype "$_val") = nfs* ]] ; then + kdump_install_net "$(get_dracut_args_target "$_val")" + fi + ;; + kdump_pre|kdump_post|extra_bins) + dracut_install $_val + ;; + core_collector) + dracut_install "${_val%%[[:blank:]]*}" + ;; + esac + done < /etc/kdump.conf + + default_dump_target_install_conf + + kdump_configure_fence_kdump "${initdir}/tmp/$$-kdump.conf" + inst "${initdir}/tmp/$$-kdump.conf" "/etc/kdump.conf" + rm -f ${initdir}/tmp/$$-kdump.conf +} + +# Default sysctl parameters should suffice for kdump kernel. +# Remove custom configurations sysctl.conf & sysctl.d/* +remove_sysctl_conf() { + + # As custom configurations like vm.min_free_kbytes can lead + # to OOM issues in kdump kernel, avoid them + rm -f "${initdir}/etc/sysctl.conf" + rm -rf "${initdir}/etc/sysctl.d" + rm -rf "${initdir}/run/sysctl.d" + rm -rf "${initdir}/usr/lib/sysctl.d" +} + +kdump_iscsi_get_rec_val() { + + local result + + # The open-iscsi 742 release changed to using flat files in + # /var/lib/iscsi. + + result=$(/sbin/iscsiadm --show -m session -r ${1} | grep "^${2} = ") + result=${result##* = } + echo $result +} + +kdump_get_iscsi_initiator() { + local _initiator + local initiator_conf="/etc/iscsi/initiatorname.iscsi" + + [ -f "$initiator_conf" ] || return 1 + + while read _initiator; do + [ -z "${_initiator%%#*}" ] && continue # Skip comment lines + + case $_initiator in + InitiatorName=*) + initiator=${_initiator#InitiatorName=} + echo "rd.iscsi.initiator=${initiator}" + return 0;; + *) ;; + esac + done < ${initiator_conf} + + return 1 +} + +# Figure out iBFT session according to session type +is_ibft() { + [ "$(kdump_iscsi_get_rec_val $1 "node.discovery_type")" = fw ] +} + +kdump_setup_iscsi_device() { + local path=$1 + local tgt_name; local tgt_ipaddr; + local username; local password; local userpwd_str; + local username_in; local password_in; local userpwd_in_str; + local netdev + local srcaddr + local idev + local netroot_str ; local initiator_str; + local netroot_conf="${initdir}/etc/cmdline.d/50iscsi.conf" + local initiator_conf="/etc/iscsi/initiatorname.iscsi" + + dinfo "Found iscsi component $1" + + # Check once before getting explicit values, so we can bail out early, + # e.g. in case of pure-hardware(all-offload) iscsi. + if ! /sbin/iscsiadm -m session -r ${path} &>/dev/null ; then + return 1 + fi + + if is_ibft ${path}; then + return + fi + + # Remove software iscsi cmdline generated by 95iscsi, + # and let kdump regenerate here. + rm -f ${initdir}/etc/cmdline.d/95iscsi.conf + + tgt_name=$(kdump_iscsi_get_rec_val ${path} "node.name") + tgt_ipaddr=$(kdump_iscsi_get_rec_val ${path} "node.conn\[0\].address") + + # get and set username and password details + username=$(kdump_iscsi_get_rec_val ${path} "node.session.auth.username") + [ "$username" == "" ] && username="" + password=$(kdump_iscsi_get_rec_val ${path} "node.session.auth.password") + [ "$password" == "" ] && password="" + username_in=$(kdump_iscsi_get_rec_val ${path} "node.session.auth.username_in") + [ -n "$username" ] && userpwd_str="$username:$password" + + # get and set incoming username and password details + [ "$username_in" == "" ] && username_in="" + password_in=$(kdump_iscsi_get_rec_val ${path} "node.session.auth.password_in") + [ "$password_in" == "" ] && password_in="" + + [ -n "$username_in" ] && userpwd_in_str=":$username_in:$password_in" + + netdev=$(/sbin/ip route get to ${tgt_ipaddr} | \ + sed 's|.*dev \(.*\).*|\1|g') + srcaddr=$(echo $netdev | awk '{ print $3; exit }') + netdev=$(echo $netdev | awk '{ print $1; exit }') + + kdump_setup_netdev $netdev $srcaddr + + # prepare netroot= command line + # FIXME: Do we need to parse and set other parameters like protocol, port + # iscsi_iface_name, netdev_name, LUN etc. + + if is_ipv6_address $tgt_ipaddr; then + tgt_ipaddr="[$tgt_ipaddr]" + fi + netroot_str="netroot=iscsi:${userpwd_str}${userpwd_in_str}@$tgt_ipaddr::::$tgt_name" + + [[ -f $netroot_conf ]] || touch $netroot_conf + + # If netroot target does not exist already, append. + if ! grep -q $netroot_str $netroot_conf; then + echo $netroot_str >> $netroot_conf + dinfo "Appended $netroot_str to $netroot_conf" + fi + + # Setup initator + initiator_str=$(kdump_get_iscsi_initiator) + [ $? -ne "0" ] && derror "Failed to get initiator name" && return 1 + + # If initiator details do not exist already, append. + if ! grep -q "$initiator_str" $netroot_conf; then + echo "$initiator_str" >> $netroot_conf + dinfo "Appended "$initiator_str" to $netroot_conf" + fi +} + +kdump_check_iscsi_targets () { + # If our prerequisites are not met, fail anyways. + type -P iscsistart >/dev/null || return 1 + + kdump_check_setup_iscsi() ( + local _dev + _dev=$1 + + [[ -L /sys/dev/block/$_dev ]] || return + cd "$(readlink -f /sys/dev/block/$_dev)" + until [[ -d sys || -d iscsi_session ]]; do + cd .. + done + [[ -d iscsi_session ]] && kdump_setup_iscsi_device "$PWD" + ) + + [[ $hostonly ]] || [[ $mount_needs ]] && { + for_each_host_dev_and_slaves_all kdump_check_setup_iscsi + } +} + +# retrieves fence_kdump nodes from Pacemaker cluster configuration +get_pcs_fence_kdump_nodes() { + local nodes + + # get cluster nodes from cluster cib, get interface and ip address + nodelist=`pcs cluster cib | xmllint --xpath "/cib/status/node_state/@uname" -` + + # nodelist is formed as 'uname="node1" uname="node2" ... uname="nodeX"' + # we need to convert each to node1, node2 ... nodeX in each iteration + for node in ${nodelist}; do + # convert $node from 'uname="nodeX"' to 'nodeX' + eval $node + nodename=$uname + # Skip its own node name + if [ "$nodename" = `hostname` -o "$nodename" = `hostname -s` ]; then + continue + fi + nodes="$nodes $nodename" + done + + echo $nodes +} + +# retrieves fence_kdump args from config file +get_pcs_fence_kdump_args() { + if [ -f $FENCE_KDUMP_CONFIG_FILE ]; then + . $FENCE_KDUMP_CONFIG_FILE + echo $FENCE_KDUMP_OPTS + fi +} + +# setup fence_kdump in cluster +# setup proper network and install needed files +kdump_configure_fence_kdump () { + local kdump_cfg_file=$1 + local nodes + local args + + if is_generic_fence_kdump; then + nodes=$(get_option_value "fence_kdump_nodes") + + elif is_pcs_fence_kdump; then + nodes=$(get_pcs_fence_kdump_nodes) + + # set appropriate options in kdump.conf + echo "fence_kdump_nodes $nodes" >> ${kdump_cfg_file} + + args=$(get_pcs_fence_kdump_args) + if [ -n "$args" ]; then + echo "fence_kdump_args $args" >> ${kdump_cfg_file} + fi + + else + # fence_kdump not configured + return 1 + fi + + # setup network for each node + for node in ${nodes}; do + kdump_install_net $node + done + + dracut_install /etc/hosts + dracut_install /etc/nsswitch.conf + dracut_install $FENCE_KDUMP_SEND +} + +# Install a random seed used to feed /dev/urandom +# By the time kdump service starts, /dev/uramdom is already fed by systemd +kdump_install_random_seed() { + local poolsize=`cat /proc/sys/kernel/random/poolsize` + + if [ ! -d ${initdir}/var/lib/ ]; then + mkdir -p ${initdir}/var/lib/ + fi + + dd if=/dev/urandom of=${initdir}/var/lib/random-seed \ + bs=$poolsize count=1 2> /dev/null +} + +install() { + kdump_install_conf + remove_sysctl_conf + + if is_ssh_dump_target; then + kdump_install_random_seed + fi + dracut_install -o /etc/adjtime /etc/localtime + inst "$moddir/monitor_dd_progress" "/kdumpscripts/monitor_dd_progress" + chmod +x ${initdir}/kdumpscripts/monitor_dd_progress + inst "/bin/dd" "/bin/dd" + inst "/bin/tail" "/bin/tail" + inst "/bin/date" "/bin/date" + inst "/bin/sync" "/bin/sync" + inst "/bin/cut" "/bin/cut" + inst "/bin/head" "/bin/head" + inst "/sbin/makedumpfile" "/sbin/makedumpfile" + inst "/sbin/vmcore-dmesg" "/sbin/vmcore-dmesg" + inst "/lib/kdump/kdump-lib.sh" "/lib/kdump-lib.sh" + inst "/lib/kdump/kdump-lib-initramfs.sh" "/lib/kdump-lib-initramfs.sh" + inst "$moddir/kdump.sh" "/usr/bin/kdump.sh" + inst "$moddir/kdump-capture.service" "$systemdsystemunitdir/kdump-capture.service" + ln_r "$systemdsystemunitdir/kdump-capture.service" "$systemdsystemunitdir/initrd.target.wants/kdump-capture.service" + inst "$moddir/kdump-error-handler.sh" "/usr/bin/kdump-error-handler.sh" + inst "$moddir/kdump-error-handler.service" "$systemdsystemunitdir/kdump-error-handler.service" + # Replace existing emergency service and emergency target + cp "$moddir/kdump-emergency.service" "$initdir/$systemdsystemunitdir/emergency.service" + cp "$moddir/kdump-emergency.target" "$initdir/$systemdsystemunitdir/emergency.target" + # Also redirect dracut-emergency to kdump error handler + ln_r "$systemdsystemunitdir/emergency.service" "$systemdsystemunitdir/dracut-emergency.service" + + # Check for all the devices and if any device is iscsi, bring up iscsi + # target. Ideally all this should be pushed into dracut iscsi module + # at some point of time. + kdump_check_iscsi_targets + + # For the lvm type target under kdump, in /etc/lvm/lvm.conf we can + # safely replace "reserved_memory=XXXX"(default value is 8192) with + # "reserved_memory=1024" to lower memory pressure under kdump. We do + # it unconditionally here, if "/etc/lvm/lvm.conf" doesn't exist, it + # actually does nothing. + sed -i -e \ + 's/\(^[[:space:]]*reserved_memory[[:space:]]*=\)[[:space:]]*[[:digit:]]*/\1 1024/' \ + ${initdir}/etc/lvm/lvm.conf &>/dev/null + + # Kdump turns out to require longer default systemd mount timeout + # than 1st kernel(90s by default), we use default 300s for kdump. + grep -r "^[[:space:]]*DefaultTimeoutStartSec=" ${initdir}/etc/systemd/system.conf* &>/dev/null + if [ $? -ne 0 ]; then + mkdir -p ${initdir}/etc/systemd/system.conf.d + echo "[Manager]" > ${initdir}/etc/systemd/system.conf.d/kdump.conf + echo "DefaultTimeoutStartSec=300s" >> ${initdir}/etc/systemd/system.conf.d/kdump.conf + fi +} diff --git a/dracut-monitor_dd_progress b/dracut-monitor_dd_progress new file mode 100644 index 0000000..e139d33 --- /dev/null +++ b/dracut-monitor_dd_progress @@ -0,0 +1,28 @@ +#!/bin/sh + +SRC_FILE_MB=$1 + +while true +do + DD_PID=`pidof dd` + if [ -n "$DD_PID" ]; then + break + fi +done + +while true +do + sleep 5 + if [ ! -d /proc/$DD_PID ]; then + break + fi + + kill -s USR1 $DD_PID + CURRENT_SIZE=`tail -n 1 /tmp/dd_progress_file | sed "s/[^0-9].*//g"` + [ -n "$CURRENT_SIZE" ] && { + CURRENT_MB=$(($CURRENT_SIZE / 1048576)) + echo -e "Copied $CURRENT_MB MB / $SRC_FILE_MB MB\r" + } +done + +rm -f /tmp/dd_progress_file diff --git a/early-kdump-howto.txt b/early-kdump-howto.txt new file mode 100644 index 0000000..fe4f13f --- /dev/null +++ b/early-kdump-howto.txt @@ -0,0 +1,54 @@ +Early Kdump HOWTO + +Introduction + +Kdump service starts too late, so early crashes will have no chance to get +kdump kernel booting, this will cause crash information to be lost. It is +necessary to add a dracut module in order to load crash kernel and initramfs +as early as possible. You can provide "rd.earlykdump" in grub commandline +to enable, then the early kdump will load those files like the normal kdump, +which is disabled by default. + +For the normal kdump service, it can check whether the early kdump has loaded +the crash kernel and initramfs. It has no conflict with the early kdump. + +How to configure early kdump: + +We assume if you're reading this document, you should already have kexec-tools +installed. + +You can rebuild the initramfs with earlykdump support with below steps: +1. start kdump service to make sure kdump initramfs is created. + # systemctl start kdump + +2. rebuild system initramfs with earlykdump support. + # dracut --add earlykdump + +3. add rd.earlykdump in grub kernel command line. + +Note: earlykdump initramfs size will be large because it includes vmlinuz and +kdump initramfs. And for step 2 if you are sure to overwrite system initramfs +you can backup the original initramfs and use "--force" option. + +After making said changes, reboot your system to take effect. Of course, if you +want to disable early kdump, you can simply remove "rd.earlykdump" from kernel +boot parameters in grub, and reboot system like above. + +Once the boot is completed, you can check the status of the early kdump support +on the command prompt: + + # journalctl -x|grep early-kdump + +Then, you will see some useful logs, for exapmle: + +1. if early kdump is successful. +Mar 09 09:57:56 localhost.localdomain dracut-cmdline[190]: early-kdump is enabled. +Mar 09 09:57:56 localhost.localdomain dracut-cmdline[190]: kexec: loaded early- +kdump kernel + +2. if early kdump is disabled. +Mar 09 10:02:47 localhost.localdomain dracut-cmdline[189]: early-kdump is disabled. + +Limitation + +At present, early kdump doesn't support fadump. diff --git a/eppic_050615.tar.gz b/eppic_050615.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..3df13bb2cf0d950936ccc049640c27208a698fe2 GIT binary patch literal 95427 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

fd7r0r(--rM;BBK#m6sLc1F5pT* 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%0DIv^u8K!hQQuoV~y5o_LGF-Rc_+ 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 +Date: Thu, 6 Sep 2018 13:56:18 +0800 +Subject: [PATCH 51/55] kdump: fix an error that can not parse the e820 + reserved region + +When kexec-tools load the kernel and initramfs for kdump, kexec-tools will +read /proc/iomem and recreate the e820 ranges for kdump kernel. But it fails +to parse the e820 reserved region, because the memcmp() is case sensitive +when comparing the string. In fact, it may be "Reserved" or "reserved" in +the /proc/iomem, so we have to fix these cases. + +Signed-off-by: Lianbo Jiang +Reviewed-by: Dave Young +Signed-off-by: Simon Horman +--- + kexec/arch/i386/crashdump-x86.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/kexec/arch/i386/crashdump-x86.c b/kexec/arch/i386/crashdump-x86.c +index 437e8a8..140f45b 100644 +--- a/kexec/arch/i386/crashdump-x86.c ++++ b/kexec/arch/i386/crashdump-x86.c +@@ -289,6 +289,8 @@ static int get_crash_memory_ranges(struct memory_range **range, int *ranges, + type = RANGE_PMEM; + } else if(memcmp(str,"reserved\n",9) == 0 ) { + type = RANGE_RESERVED; ++ } else if (memcmp(str, "Reserved\n", 9) == 0) { ++ type = RANGE_RESERVED; + } else if (memcmp(str, "GART\n", 5) == 0) { + gart_start = start; + gart_end = end; +-- +1.8.3.1 + diff --git a/kdump-in-cluster-environment.txt b/kdump-in-cluster-environment.txt new file mode 100644 index 0000000..de1eb5e --- /dev/null +++ b/kdump-in-cluster-environment.txt @@ -0,0 +1,91 @@ +Kdump-in-cluster-environment HOWTO + +Introduction + +Kdump is a kexec based crash dumping mechansim for Linux. This docuement +illustrate how to configure kdump in cluster environment to allow the kdump +crash recovery service complete without being preempted by traditional power +fencing methods. + +Overview + +Kexec/Kdump + +Details about Kexec/Kdump are available in Kexec-Kdump-howto file and will not +be described here. + +fence_kdump + +fence_kdump is an I/O fencing agent to be used with the kdump crash recovery +service. When the fence_kdump agent is invoked, it will listen for a message +from the failed node that acknowledges that the failed node is executing the +kdump crash kernel. Note that fence_kdump is not a replacement for traditional +fencing methods. The fence_kdump agent can only detect that a node has entered +the kdump crash recovery service. This allows the kdump crash recovery service +complete without being preempted by traditional power fencing methods. + +fence_kdump_send + +fence_kdump_send is a utility used to send messages that acknowledge that the +node itself has entered the kdump crash recovery service. The fence_kdump_send +utility is typically run in the kdump kernel after a cluster node has +encountered a kernel panic. Once the cluster node has entered the kdump crash +recovery service, fence_kdump_send will periodically send messages to all +cluster nodes. When the fence_kdump agent receives a valid message from the +failed nodes, fencing is complete. + +How to configure Pacemaker cluster environment: + +If we want to use kdump in Pacemaker cluster environment, fence-agents-kdump +should be installed in every nodes in the cluster. You can achieve this via +the following command: + + # yum install -y fence-agents-kdump + +Next is to add kdump_fence to the cluster. Assuming that the cluster consists +of three nodes, they are node1, node2 and node3, and use Pacemaker to perform +resource management and pcs as cli configuration tool. + +With pcs it is easy to add a stonith resource to the cluster. For example, add +a stonith resource named mykdumpfence with fence type of fence_kdump via the +following commands: + + # pcs stonith create mykdumpfence fence_kdump \ + pcmk_host_check=static-list pcmk_host_list="node1 node2 node3" + # pcs stonith update mykdumpfence pcmk_monitor_action=metadata --force + # pcs stonith update mykdumpfence pcmk_status_action=metadata --force + # pcs stonith update mykdumpfence pcmk_reboot_action=off --force + +Then enable stonith + # pcs property set stonith-enabled=true + +How to configure kdump: + +Actually there are two ways how to configure fence_kdump support: + +1) Pacemaker based clusters + If you have successfully configured fence_kdump in Pacemaker, there is + no need to add some special configuration in kdump. So please refer to + Kexec-Kdump-howto file for more information. + +2) Generic clusters + For other types of clusters there are two configuration options in + kdump.conf which enables fence_kdump support: + + fence_kdump_nodes + Contains list of cluster node(s) separated by space to send + fence_kdump notification to (this option is mandatory to enable + fence_kdump) + + fence_kdump_args + Command line arguments for fence_kdump_send (it can contain + all valid arguments except hosts to send notification to) + + These options will most probably be configured by your cluster software, + so please refer to your cluster documentation how to enable fence_kdump + support. + +Please be aware that these two ways cannot be combined and 2) has precedence +over 1). It means that if fence_kdump is configured using fence_kdump_nodes +and fence_kdump_args options in kdump.conf, Pacemaker configuration is not +used even if it exists. diff --git a/kdump-lib-initramfs.sh b/kdump-lib-initramfs.sh new file mode 100644 index 0000000..2c18c87 --- /dev/null +++ b/kdump-lib-initramfs.sh @@ -0,0 +1,165 @@ +# These variables and functions are useful in 2nd kernel + +. /lib/kdump-lib.sh + +KDUMP_PATH="/var/crash" +CORE_COLLECTOR="" +DEFAULT_CORE_COLLECTOR="makedumpfile -l --message-level 1 -d 31" +DMESG_COLLECTOR="/sbin/vmcore-dmesg" +DEFAULT_ACTION="systemctl reboot -f" +DATEDIR=`date +%Y-%m-%d-%T` +HOST_IP='127.0.0.1' +DUMP_INSTRUCTION="" +SSH_KEY_LOCATION="/root/.ssh/kdump_id_rsa" +KDUMP_SCRIPT_DIR="/kdumpscripts" +DD_BLKSIZE=512 +FINAL_ACTION="systemctl reboot -f" +KDUMP_CONF="/etc/kdump.conf" +KDUMP_PRE="" +KDUMP_POST="" +NEWROOT="/sysroot" + +get_kdump_confs() +{ + local config_opt config_val + + while read config_opt config_val; + do + # remove inline comments after the end of a directive. + config_val=$(strip_comments $config_val) + case "$config_opt" in + path) + KDUMP_PATH="$config_val" + ;; + core_collector) + [ -n "$config_val" ] && CORE_COLLECTOR="$config_val" + ;; + sshkey) + if [ -f "$config_val" ]; then + SSH_KEY_LOCATION=$config_val + fi + ;; + kdump_pre) + KDUMP_PRE="$config_val" + ;; + kdump_post) + KDUMP_POST="$config_val" + ;; + fence_kdump_args) + FENCE_KDUMP_ARGS="$config_val" + ;; + fence_kdump_nodes) + FENCE_KDUMP_NODES="$config_val" + ;; + default) + case $config_val in + shell) + DEFAULT_ACTION="kdump_emergency_shell" + ;; + reboot) + DEFAULT_ACTION="systemctl reboot -f" + ;; + halt) + DEFAULT_ACTION="halt" + ;; + poweroff) + DEFAULT_ACTION="poweroff" + ;; + dump_to_rootfs) + DEFAULT_ACTION="dump_to_rootfs" + ;; + esac + ;; + esac + done < $KDUMP_CONF + + if [ -z "$CORE_COLLECTOR" ]; then + CORE_COLLECTOR="$DEFAULT_CORE_COLLECTOR" + if is_ssh_dump_target || is_raw_dump_target; then + CORE_COLLECTOR="$CORE_COLLECTOR -F" + fi + fi +} + +# dump_fs +dump_fs() +{ + + local _dev=$(findmnt -k -f -n -r -o SOURCE $1) + local _mp=$(findmnt -k -f -n -r -o TARGET $1) + + echo "kdump: dump target is $_dev" + + if [ -z "$_mp" ]; then + echo "kdump: error: Dump target $_dev is not mounted." + return 1 + fi + + # Remove -F in makedumpfile case. We don't want a flat format dump here. + [[ $CORE_COLLECTOR = *makedumpfile* ]] && CORE_COLLECTOR=`echo $CORE_COLLECTOR | sed -e "s/-F//g"` + + echo "kdump: saving to $_mp/$KDUMP_PATH/$HOST_IP-$DATEDIR/" + + mount -o remount,rw $_mp || return 1 + mkdir -p $_mp/$KDUMP_PATH/$HOST_IP-$DATEDIR || return 1 + + save_vmcore_dmesg_fs ${DMESG_COLLECTOR} "$_mp/$KDUMP_PATH/$HOST_IP-$DATEDIR/" + + echo "kdump: saving vmcore" + $CORE_COLLECTOR /proc/vmcore $_mp/$KDUMP_PATH/$HOST_IP-$DATEDIR/vmcore-incomplete || return 1 + mv $_mp/$KDUMP_PATH/$HOST_IP-$DATEDIR/vmcore-incomplete $_mp/$KDUMP_PATH/$HOST_IP-$DATEDIR/vmcore + sync + + echo "kdump: saving vmcore complete" + # improper kernel cmdline can cause the failure of echo, we can ignore this kind of failure + return 0 +} + +save_vmcore_dmesg_fs() { + local _dmesg_collector=$1 + local _path=$2 + + echo "kdump: saving vmcore-dmesg.txt" + $_dmesg_collector /proc/vmcore > ${_path}/vmcore-dmesg-incomplete.txt + _exitcode=$? + if [ $_exitcode -eq 0 ]; then + mv ${_path}/vmcore-dmesg-incomplete.txt ${_path}/vmcore-dmesg.txt + + # Make sure file is on disk. There have been instances where later + # saving vmcore failed and system rebooted without sync and there + # was no vmcore-dmesg.txt available. + sync + echo "kdump: saving vmcore-dmesg.txt complete" + else + echo "kdump: saving vmcore-dmesg.txt failed" + fi +} + +dump_to_rootfs() +{ + + echo "Kdump: trying to bring up rootfs device" + systemctl start dracut-initqueue + echo "Kdump: waiting for rootfs mount, will timeout after 90 seconds" + systemctl start sysroot.mount + + dump_fs $NEWROOT +} + +kdump_emergency_shell() +{ + echo "PS1=\"kdump:\\\${PWD}# \"" >/etc/profile + /bin/dracut-emergency + rm -f /etc/profile +} + +do_default_action() +{ + echo "Kdump: Executing default action $DEFAULT_ACTION" + eval $DEFAULT_ACTION +} + +do_final_action() +{ + eval $FINAL_ACTION +} diff --git a/kdump-lib.sh b/kdump-lib.sh new file mode 100644 index 0000000..6acab8c --- /dev/null +++ b/kdump-lib.sh @@ -0,0 +1,709 @@ +#!/bin/sh +# +# Kdump common variables and functions +# + +DEFAULT_PATH="/var/crash/" +FENCE_KDUMP_CONFIG_FILE="/etc/sysconfig/fence_kdump" +FENCE_KDUMP_SEND="/usr/libexec/fence_kdump_send" +FADUMP_ENABLED_SYS_NODE="/sys/kernel/fadump_enabled" + +is_fadump_capable() +{ + # Check if firmware-assisted dump is enabled + # if no, fallback to kdump check + if [ -f $FADUMP_ENABLED_SYS_NODE ]; then + rc=`cat $FADUMP_ENABLED_SYS_NODE` + [ $rc -eq 1 ] && return 0 + fi + return 1 +} + +perror_exit() { + echo $@ >&2 + exit 1 +} + +perror() { + echo $@ >&2 +} + +is_ssh_dump_target() +{ + grep -q "^ssh[[:blank:]].*@" /etc/kdump.conf +} + +is_nfs_dump_target() +{ + grep -q "^nfs" /etc/kdump.conf || \ + [[ $(get_dracut_args_fstype "$(grep "^dracut_args .*\-\-mount" /etc/kdump.conf)") = nfs* ]] +} + +is_raw_dump_target() +{ + grep -q "^raw" /etc/kdump.conf +} + +is_fs_type_nfs() +{ + local _fstype=$1 + [ $_fstype = "nfs" ] || [ $_fstype = "nfs4" ] && return 0 + return 1 +} + +is_fs_dump_target() +{ + egrep -q "^ext[234]|^xfs|^btrfs|^minix" /etc/kdump.conf +} + +strip_comments() +{ + echo $@ | sed -e 's/\(.*\)#.*/\1/' +} + +# Check if fence kdump is configured in Pacemaker cluster +is_pcs_fence_kdump() +{ + # no pcs or fence_kdump_send executables installed? + type -P pcs > /dev/null || return 1 + [ -x $FENCE_KDUMP_SEND ] || return 1 + + # fence kdump not configured? + (pcs cluster cib | grep 'type="fence_kdump"') &> /dev/null || return 1 +} + +# Check if fence_kdump is configured using kdump options +is_generic_fence_kdump() +{ + [ -x $FENCE_KDUMP_SEND ] || return 1 + + grep -q "^fence_kdump_nodes" /etc/kdump.conf +} + +to_dev_name() { + local dev="${1//\"/}" + + case "$dev" in + UUID=*) + dev=`blkid -U "${dev#UUID=}"` + ;; + LABEL=*) + dev=`blkid -L "${dev#LABEL=}"` + ;; + esac + echo $dev +} + +is_user_configured_dump_target() +{ + return $(is_mount_in_dracut_args || is_ssh_dump_target || is_nfs_dump_target || \ + is_raw_dump_target || is_fs_dump_target) +} + +get_user_configured_dump_disk() +{ + local _target + + _target=$(egrep "^ext[234]|^xfs|^btrfs|^minix|^raw" /etc/kdump.conf 2>/dev/null |awk '{print $2}') + [ -n "$_target" ] && echo $_target && return + + _target=$(get_dracut_args_target "$(grep "^dracut_args .*\-\-mount" /etc/kdump.conf)") + [ -b "$_target" ] && echo $_target +} + +get_root_fs_device() +{ + local _target + _target=$(findmnt -k -f -n -o SOURCE /) + [ -n "$_target" ] && echo $_target + + return +} + +get_save_path() +{ + local _save_path=$(grep "^path" /etc/kdump.conf|awk '{print $2}') + if [ -z "$_save_path" ]; then + _save_path=$DEFAULT_PATH + fi + + echo $_save_path +} + +get_block_dump_target() +{ + local _target _path + + if is_ssh_dump_target || is_nfs_dump_target; then + return + fi + + _target=$(get_user_configured_dump_disk) + [ -n "$_target" ] && echo $(to_dev_name $_target) && return + + # Get block device name from local save path + _path=$(get_save_path) + _target=$(get_target_from_path $_path) + [ -b "$_target" ] && echo $(to_dev_name $_target) +} + +is_dump_to_rootfs() +{ + grep "^default[[:space:]]dump_to_rootfs" /etc/kdump.conf >/dev/null +} + +get_default_action_target() +{ + local _target + + if is_dump_to_rootfs; then + # Get rootfs device name + _target=$(get_root_fs_device) + [ -b "$_target" ] && echo $(to_dev_name $_target) && return + # Then, must be nfs root + echo "nfs" + fi +} + +# Get kdump targets(including root in case of dump_to_rootfs). +get_kdump_targets() +{ + local _target _root + local kdump_targets + + _target=$(get_block_dump_target) + if [ -n "$_target" ]; then + kdump_targets=$_target + elif is_ssh_dump_target; then + kdump_targets="ssh" + else + kdump_targets="nfs" + fi + + # Add the root device if dump_to_rootfs is specified. + _root=$(get_default_action_target) + if [ -n "$_root" -a "$kdump_targets" != "$_root" ]; then + kdump_targets="$kdump_targets $_root" + fi + + echo "$kdump_targets" +} + + +# findmnt uses the option "-v, --nofsroot" to exclusive the [/dir] +# in the SOURCE column for bind-mounts, then if $_mntpoint equals to +# $_mntpoint_nofsroot, the mountpoint is not bind mounted directory. +is_bind_mount() +{ + local _mntpoint=$(findmnt $1 | tail -n 1 | awk '{print $2}') + local _mntpoint_nofsroot=$(findmnt -v $1 | tail -n 1 | awk '{print $2}') + + if [[ $_mntpoint = $_mntpoint_nofsroot ]]; then + return 1 + else + return 0 + fi +} + +# Below is just an example for mount info +# /dev/mapper/atomicos-root[/ostree/deploy/rhel-atomic-host/var], if the +# directory is bind mounted. The former part represents the device path, rest +# part is the bind mounted directory which quotes by bracket "[]". +get_bind_mount_directory() +{ + local _mntpoint=$(findmnt $1 | tail -n 1 | awk '{print $2}') + local _mntpoint_nofsroot=$(findmnt -v $1 | tail -n 1 | awk '{print $2}') + + _mntpoint=${_mntpoint#*$_mntpoint_nofsroot} + + _mntpoint=${_mntpoint#[} + _mntpoint=${_mntpoint%]} + + echo $_mntpoint +} + +get_mntpoint_from_path() +{ + echo $(df $1 | tail -1 | awk '{print $NF}') +} + +get_target_from_path() +{ + local _target + + _target=$(df $1 2>/dev/null | tail -1 | awk '{print $1}') + [[ "$_target" == "/dev/root" ]] && [[ ! -e /dev/root ]] && _target=$(get_root_fs_device) + echo $_target +} + +get_fs_type_from_target() +{ + echo $(findmnt -k -f -n -r -o FSTYPE $1) +} + +# input: device path +# output: the general mount point +# find the general mount point, not the bind mounted point in atomic +# As general system, Use the previous code +# +# ERROR and EXIT: +# the device can be umounted the general mount point, if one of the mount point is bind mounted +# For example: +# mount /dev/sda /mnt/ +# mount -o bind /mnt/var /var +# umount /mnt +get_mntpoint_from_target() +{ + if is_atomic; then + for _mnt in $(findmnt -k -n -r -o TARGET $1) + do + if ! is_bind_mount $_mnt; then + echo $_mnt + return + fi + done + + echo "Mount $1 firstly, without the bind mode" >&2 + exit 1 + else + echo $(findmnt -k -f -n -r -o TARGET $1) + fi +} + +# get_option_value +# retrieves value of option defined in kdump.conf +get_option_value() { + echo $(strip_comments `grep "^$1[[:space:]]\+" /etc/kdump.conf | tail -1 | cut -d\ -f2-`) +} + +#This function compose a absolute path with the mount +#point and the relative $SAVE_PATH. +#target is passed in as argument, could be UUID, LABEL, +#block device or even nfs server export of the form of +#"my.server.com:/tmp/export"? +#And possibly this could be used for both default case +#as well as when dump taret is specified. When dump +#target is not specified, then $target would be null. +make_absolute_save_path() +{ + local _target=$1 + local _mnt + + [ -n $_target ] && _mnt=$(get_mntpoint_from_target $1) + _mnt="${_mnt}/$SAVE_PATH" + + # strip the duplicated "/" + echo "$_mnt" | tr -s / +} + +check_save_path_fs() +{ + local _path=$1 + + if [ ! -d $_path ]; then + perror_exit "Dump path $_path does not exist." + fi +} + +is_atomic() +{ + grep -q "ostree" /proc/cmdline +} + +is_ipv6_address() +{ + echo $1 | grep -q ":" +} + +# get ip address or hostname from nfs/ssh config value +get_remote_host() +{ + local _config_val=$1 + + # ipv6 address in kdump.conf is around with "[]", + # factor out the ipv6 address + _config_val=${_config_val#*@} + _config_val=${_config_val%:/*} + _config_val=${_config_val#[} + _config_val=${_config_val%]} + echo $_config_val +} + +is_hostname() +{ + local _hostname=`echo $1 | grep ":"` + + if [ -n "$_hostname" ]; then + return 1 + fi + echo $1 | grep -q "[a-zA-Z]" +} + +# Copied from "/etc/sysconfig/network-scripts/network-functions" +get_hwaddr() +{ + if [ -f "/sys/class/net/${1}/address" ]; then + awk '{ print toupper($0) }' < /sys/class/net/${1}/address + elif [ -d "/sys/class/net/${1}" ]; then + LC_ALL= LANG= ip -o link show ${1} 2>/dev/null | \ + awk '{ print toupper(gensub(/.*link\/[^ ]* ([[:alnum:]:]*).*/, + "\\1", 1)); }' + fi +} + +get_ifcfg_by_device() +{ + grep -E -i -l "^[[:space:]]*DEVICE=\"*${1}\"*[[:space:]]*$" \ + /etc/sysconfig/network-scripts/ifcfg-* 2>/dev/null | head -1 +} + +get_ifcfg_by_hwaddr() +{ + grep -E -i -l "^[[:space:]]*HWADDR=\"*${1}\"*[[:space:]]*$" \ + /etc/sysconfig/network-scripts/ifcfg-* 2>/dev/null | head -1 +} + +get_ifcfg_by_uuid() +{ + grep -E -i -l "^[[:space:]]*UUID=\"*${1}\"*[[:space:]]*$" \ + /etc/sysconfig/network-scripts/ifcfg-* 2>/dev/null | head -1 +} + +get_ifcfg_by_name() +{ + grep -E -i -l "^[[:space:]]*NAME=\"*${1}\"*[[:space:]]*$" \ + /etc/sysconfig/network-scripts/ifcfg-* 2>/dev/null | head -1 +} + +is_nm_running() +{ + [ "$(LANG=C nmcli -t --fields running general status 2>/dev/null)" = "running" ] +} + +is_nm_handling() +{ + LANG=C nmcli -t --fields device,state dev status 2>/dev/null \ + | grep -q "^\(${1}:connected\)\|\(${1}:connecting.*\)$" +} + +# $1: netdev name +get_ifcfg_nmcli() +{ + local nm_uuid nm_name + local ifcfg_file + + # Get the active nmcli config name of $1 + if is_nm_running && is_nm_handling "${1}" ; then + # The configuration "uuid" and "name" generated by nm is wrote to + # the ifcfg file as "UUID=" and "NAME=". + nm_uuid=$(LANG=C nmcli -t --fields uuid,device c show --active 2>/dev/null \ + | grep "${1}" | head -1 | cut -d':' -f1) + nm_name=$(LANG=C nmcli -t --fields name,device c show --active 2>/dev/null \ + | grep "${1}" | head -1 | cut -d':' -f1) + ifcfg_file=$(get_ifcfg_by_uuid "${nm_uuid}") + [ -z "${ifcfg_file}" ] && ifcfg_file=$(get_ifcfg_by_name "${nm_name}") + fi + + echo -n "${ifcfg_file}" +} + +# $1: netdev name +get_ifcfg_legacy() +{ + local ifcfg_file + + ifcfg_file="/etc/sysconfig/network-scripts/ifcfg-${1}" + [ -f "${ifcfg_file}" ] && echo -n "${ifcfg_file}" && return + + ifcfg_file=$(get_ifcfg_by_name "${1}") + [ -f "${ifcfg_file}" ] && echo -n "${ifcfg_file}" && return + + local hwaddr=$(get_hwaddr "${1}") + if [ -n "$hwaddr" ]; then + ifcfg_file=$(get_ifcfg_by_hwaddr "${hwaddr}") + [ -f "${ifcfg_file}" ] && echo -n "${ifcfg_file}" && return + fi + + ifcfg_file=$(get_ifcfg_by_device "${1}") + + echo -n "${ifcfg_file}" +} + +# $1: netdev name +# Return the ifcfg file whole name(including the path) of $1 if any. +get_ifcfg_filename() { + local ifcfg_file + + ifcfg_file=$(get_ifcfg_nmcli "${1}") + if [ -z "${ifcfg_file}" ]; then + ifcfg_file=$(get_ifcfg_legacy "${1}") + fi + + echo -n "${ifcfg_file}" +} + +# returns 0 when omission of watchdog module is desired in dracut_args +# returns 1 otherwise +is_wdt_mod_omitted() { + local dracut_args + local ret=1 + + dracut_args=$(grep "^dracut_args" /etc/kdump.conf) + [[ -z $dracut_args ]] && return $ret + + eval set -- $dracut_args + while :; do + [[ -z $1 ]] && break + case $1 in + -o|--omit) + echo $2 | grep -qw "watchdog" + [[ $? == 0 ]] && ret=0 + break + esac + shift + done + + return $ret +} + +# If "dracut_args" contains "--mount" information, use it +# directly without any check(users are expected to ensure +# its correctness). +is_mount_in_dracut_args() +{ + grep -q "^dracut_args .*\-\-mount" /etc/kdump.conf +} + +# If $1 contains dracut_args "--mount", return +get_dracut_args_fstype() +{ + echo $1 | grep "\-\-mount" | sed "s/.*--mount .\(.*\)/\1/" | cut -d' ' -f3 +} + +# If $1 contains dracut_args "--mount", return +get_dracut_args_target() +{ + echo $1 | grep "\-\-mount" | sed "s/.*--mount .\(.*\)/\1/" | cut -d' ' -f1 +} + +check_crash_mem_reserved() +{ + local mem_reserved + + mem_reserved=$(cat /sys/kernel/kexec_crash_size) + if [ $mem_reserved -eq 0 ]; then + echo "No memory reserved for crash kernel" + return 1 + fi + + return 0 +} + +check_kdump_feasibility() +{ + if [ ! -e /sys/kernel/kexec_crash_loaded ]; then + echo "Kdump is not supported on this kernel" + return 1 + fi + check_crash_mem_reserved + return $? +} + +check_current_kdump_status() +{ + if [ ! -f /sys/kernel/kexec_crash_loaded ];then + echo "Perhaps CONFIG_CRASH_DUMP is not enabled in kernel" + return 1 + fi + + rc=`cat /sys/kernel/kexec_crash_loaded` + if [ $rc == 1 ]; then + return 0 + else + return 1 + fi +} + +# remove_cmdline_param [] ... [] +# Remove a list of kernel parameters from a given kernel cmdline and print the result. +# For each "arg" in the removing params list, "arg" and "arg=xxx" will be removed if exists. +remove_cmdline_param() +{ + local cmdline=$1 + shift + + for arg in $@; do + cmdline=`echo $cmdline | \ + sed -e "s/\b$arg=[^ ]*//g" \ + -e "s/^$arg\b//g" \ + -e "s/[[:space:]]$arg\b//g" \ + -e "s/\s\+/ /g"` + done + echo $cmdline +} + +# +# This function returns the "apicid" of the boot +# cpu (cpu 0) if present. +# +get_bootcpu_apicid() +{ + awk ' \ + BEGIN { CPU = "-1"; } \ + $1=="processor" && $2==":" { CPU = $NF; } \ + CPU=="0" && /^apicid/ { print $NF; } \ + ' \ + /proc/cpuinfo +} + +# +# append_cmdline +# This function appends argument "$2=$3" to string ($1) if not already present. +# +append_cmdline() +{ + local cmdline=$1 + local newstr=${cmdline/$2/""} + + # unchanged str implies argument wasn't there + if [ "$cmdline" == "$newstr" ]; then + cmdline="${cmdline} ${2}=${3}" + fi + + echo $cmdline +} + +# This function check iomem and determines if we have more than +# 4GB of ram available. Returns 1 if we do, 0 if we dont +need_64bit_headers() +{ + return `tail -n 1 /proc/iomem | awk '{ split ($1, r, "-"); \ + print (strtonum("0x" r[2]) > strtonum("0xffffffff")); }'` +} + +# Check if secure boot is being enforced. +# +# Per Peter Jones, we need check efivar SecureBoot-$(the UUID) and +# SetupMode-$(the UUID), they are both 5 bytes binary data. The first four +# bytes are the attributes associated with the variable and can safely be +# ignored, the last bytes are one-byte true-or-false variables. If SecureBoot +# is 1 and SetupMode is 0, then secure boot is being enforced. +# +# Assume efivars is mounted at /sys/firmware/efi/efivars. +is_secure_boot_enforced() +{ + local secure_boot_file setup_mode_file + local secure_boot_byte setup_mode_byte + + secure_boot_file=$(find /sys/firmware/efi/efivars -name SecureBoot-* 2>/dev/null) + setup_mode_file=$(find /sys/firmware/efi/efivars -name SetupMode-* 2>/dev/null) + + if [ -f "$secure_boot_file" ] && [ -f "$setup_mode_file" ]; then + secure_boot_byte=$(hexdump -v -e '/1 "%d\ "' $secure_boot_file|cut -d' ' -f 5) + setup_mode_byte=$(hexdump -v -e '/1 "%d\ "' $setup_mode_file|cut -d' ' -f 5) + + if [ "$secure_boot_byte" = "1" ] && [ "$setup_mode_byte" = "0" ]; then + return 0 + fi + fi + + return 1 +} + +# +# prepare_kexec_args +# This function prepares kexec argument. +# +prepare_kexec_args() +{ + local kexec_args=$1 + local found_elf_args + + ARCH=`uname -m` + if [ "$ARCH" == "i686" -o "$ARCH" == "i386" ] + then + need_64bit_headers + if [ $? == 1 ] + then + found_elf_args=`echo $kexec_args | grep elf32-core-headers` + if [ -n "$found_elf_args" ] + then + echo -n "Warning: elf32-core-headers overrides correct elf64 setting" + echo + else + kexec_args="$kexec_args --elf64-core-headers" + fi + else + found_elf_args=`echo $kexec_args | grep elf64-core-headers` + if [ -z "$found_elf_args" ] + then + kexec_args="$kexec_args --elf32-core-headers" + fi + fi + fi + echo $kexec_args +} + +check_boot_dir() +{ + local kdump_bootdir=$1 + #If user specify a boot dir for kdump kernel, let's use it. Otherwise + #check whether it's a atomic host. If yes parse the subdirectory under + #/boot; If not just find it under /boot. + if [ -n "$kdump_bootdir" ]; then + echo "$kdump_bootdir" + return + fi + + if ! is_atomic || [ "$(uname -m)" = "s390x" ]; then + kdump_bootdir="/boot" + else + eval $(cat /proc/cmdline| grep "BOOT_IMAGE" | cut -d' ' -f1) + kdump_bootdir="/boot"$(dirname $BOOT_IMAGE) + fi + echo $kdump_bootdir +} + +# +# prepare_cmdline +# This function performs a series of edits on the command line. +# Store the final result in global $KDUMP_COMMANDLINE. +prepare_cmdline() +{ + local cmdline id + + if [ -z "$1" ]; then + cmdline=$(cat /proc/cmdline) + else + cmdline="$1" + fi + + # These params should always be removed + cmdline=$(remove_cmdline_param "$cmdline" crashkernel panic_on_warn) + # These params can be removed configurably + cmdline=$(remove_cmdline_param "$cmdline" "$2") + + # Always remove "root=X", as we now explicitly generate all kinds + # of dump target mount information including root fs. + # + # We do this before KDUMP_COMMANDLINE_APPEND, if one really cares + # about it(e.g. for debug purpose), then can pass "root=X" using + # KDUMP_COMMANDLINE_APPEND. + cmdline=$(remove_cmdline_param "$cmdline" root) + + # With the help of "--hostonly-cmdline", we can avoid some interitage. + cmdline=$(remove_cmdline_param "$cmdline" rd.lvm.lv rd.luks.uuid rd.dm.uuid rd.md.uuid fcoe) + + # Remove netroot, rd.iscsi.initiator and iscsi_initiator since + # we get duplicate entries for the same in case iscsi code adds + # it as well. + cmdline=$(remove_cmdline_param "$cmdline" netroot rd.iscsi.initiator iscsi_initiator) + + cmdline="${cmdline} $3" + + id=$(get_bootcpu_apicid) + if [ ! -z ${id} ] ; then + cmdline=$(append_cmdline "${cmdline}" disable_cpu_apicid ${id}) + fi + echo ${cmdline} +} diff --git a/kdump.conf b/kdump.conf new file mode 100644 index 0000000..57af7b6 --- /dev/null +++ b/kdump.conf @@ -0,0 +1,163 @@ +# This file contains a series of commands to perform (in order) in the kdump +# kernel after a kernel crash in the crash kernel(1st kernel) has happened. +# +# Directives in this file are only applicable to the kdump initramfs, and have +# no effect once the root filesystem is mounted and the normal init scripts are +# processed. +# +# Currently, only one dump target and path can be specified. If the dumping to +# the configured target fails, the default action which can be configured via +# the "default" directive will be performed. +# +# Supported options: +# +# raw +# - Will dd /proc/vmcore into . +# Use persistent device names for partition devices, +# such as /dev/vg/. +# +# nfs +# - Will mount nfs to , and copy /proc/vmcore to +# //%HOST-%DATE/, supports DNS. +# +# ssh +# - Will scp /proc/vmcore to :/%HOST-%DATE/, +# supports DNS. +# NOTE: make sure the user has write permissions on the server. +# +# sshkey +# - Will use the sshkey to do ssh dump. +# Specify the path of the ssh key to use when dumping +# via ssh. The default value is /root/.ssh/kdump_id_rsa. +# +# +# - Will mount -t , and copy +# /proc/vmcore to //%DATE/. +# NOTE: can be a device node, label or uuid. +# It's recommended to use persistent device names +# such as /dev/vg/. +# Otherwise it's suggested to use label or uuid. +# +# path +# - "path" represents the file system path in which vmcore +# will be saved. If a dump target is specified in +# kdump.conf, then "path" is relative to the specified +# dump target. +# +# Interpretation of "path" changes a bit if the user didn't +# specify any dump target explicitly in kdump.conf. In this +# case, "path" represents the absolute path from root. The +# dump target and adjusted path are arrived at automatically +# depending on what's mounted in the current system. +# +# Ignored for raw device dumps. If unset, will use the default +# "/var/crash". +# +# core_collector +# - This allows you to specify the command to copy +# the vmcore. The default is makedumpfile, which on +# some architectures can drastically reduce vmcore size. +# See /sbin/makedumpfile --help for a list of options. +# Note that the -i and -g options are not needed here, +# as the initrd will automatically be populated with a +# config file appropriate for the running kernel. +# The default core_collector for raw/ssh dump is: +# "makedumpfile -F -l --message-level 1 -d 31". +# The default core_collector for other targets is: +# "makedumpfile -l --message-level 1 -d 31". +# +# "makedumpfile -F" will create a flattened vmcore. +# You need to use "makedumpfile -R" to rearrange the dump data to +# a normal dumpfile readable with analysis tools. For example: +# "makedumpfile -R vmcore < vmcore.flat". +# +# For core_collector format details, you can refer to +# kexec-kdump-howto.txt or kdump.conf manpage. +# +# kdump_post +# - This directive allows you to run a executable binary +# or script after the vmcore dump process terminates. +# The exit status of the current dump process is fed to +# the executable binary or script as its first argument. +# +# kdump_pre +# - Works like the "kdump_post" directive, but instead of running +# after the dump process, runs immediately before it. +# Exit status of this binary is interpreted as follows: +# 0 - continue with dump process as usual +# non 0 - reboot the system +# +# extra_bins +# - This directive allows you to specify additional binaries or +# shell scripts to be included in the kdump initrd. +# Generally they are useful in conjunction with a kdump_post +# or kdump_pre binary or script which depends on these extra_bins. +# +# extra_modules +# - This directive allows you to specify extra kernel modules +# that you want to be loaded in the kdump initrd. +# Multiple modules can be listed, separated by spaces, and any +# dependent modules will automatically be included. +# +# default +# - Action to perform in case dumping fails. +# reboot: Reboot the system. +# halt: Halt the system. +# poweroff: Power down the system. +# shell: Drop to a bash shell. +# Exiting the shell reboots the system. +# dump_to_rootfs: Dump vmcore to rootfs from initramfs context and +# reboot. Useful when non-root dump target is specified. +# The default option is "reboot". +# +# force_rebuild <0 | 1> +# - By default, kdump initrd will only be rebuilt when necessary. +# Specify 1 to force rebuilding kdump initrd every time when kdump +# service starts. +# +# force_no_rebuild <0 | 1> +# - By default, kdump initrd will be rebuilt when necessary. +# Specify 1 to bypass rebuilding of kdump initrd. +# +# force_no_rebuild and force_rebuild options are mutually +# exclusive and they should not be set to 1 simultaneously. +# +# override_resettable <0 | 1> +# - Usually an unresettable block device can't be a dump target. +# Specifying 1 when you want to dump even though the block +# target is unresettable +# By default, it is 0, which will not try dumping destined to fail. +# +# dracut_args +# - Pass extra dracut options when rebuilding kdump initrd. +# +# fence_kdump_args +# - Command line arguments for fence_kdump_send (it can contain +# all valid arguments except hosts to send notification to). +# +# fence_kdump_nodes +# - List of cluster node(s) except localhost, separated by spaces, +# to send fence_kdump notifications to. +# (this option is mandatory to enable fence_kdump). +# + +#raw /dev/vg/lv_kdump +#ext4 /dev/vg/lv_kdump +#ext4 LABEL=/boot +#ext4 UUID=03138356-5e61-4ab3-b58e-27507ac41937 +#nfs my.server.com:/export/tmp +#ssh user@my.server.com +#sshkey /root/.ssh/kdump_id_rsa +path /var/crash +core_collector makedumpfile -l --message-level 1 -d 31 +#core_collector scp +#kdump_post /var/crash/scripts/kdump-post.sh +#kdump_pre /var/crash/scripts/kdump-pre.sh +#extra_bins /usr/bin/lftp +#extra_modules gfs2 +#default shell +#force_rebuild 1 +#force_no_rebuild 1 +#dracut_args --omit-drivers "cfg80211 snd" --add-drivers "ext2 ext3" +#fence_kdump_args -p 7410 -f auto -c 0 -i 10 +#fence_kdump_nodes node1 node2 diff --git a/kdump.conf.5 b/kdump.conf.5 new file mode 100644 index 0000000..11b1fad --- /dev/null +++ b/kdump.conf.5 @@ -0,0 +1,344 @@ +.TH KDUMP.CONF 5 "07/23/2008" "kexec-tools" + +.SH NAME +kdump.conf \- configuration file for kdump kernel. + +.SH DESCRIPTION + +kdump.conf is a configuration file for the kdump kernel crash +collection service. + +kdump.conf provides post-kexec instructions to the kdump kernel. It is +stored in the initrd file managed by the kdump service. If you change +this file and do not want to reboot in order for the changes to take +effect, restart the kdump service to rebuild the initrd. + +For most configurations, you can simply review the examples provided +in the stock /etc/kdump.conf. + +.B NOTE: +For filesystem dumps the dump target must be mounted before building +kdump initramfs. + +kdump.conf only affects the behavior of the initramfs. Please read the +kdump operational flow section of kexec-kdump-howto.txt in the docs to better +understand how this configuration file affects the behavior of kdump. + +.SH OPTIONS + +.B raw +.RS +Will dd /proc/vmcore into . Use persistent device names for +partition devices, such as /dev/vg/. +.RE + +.B nfs +.RS +Will mount nfs to , and copy /proc/vmcore to //%HOST-%DATE/, +supports DNS. Note that a fqdn should be used as the server name in the +mount point. +.RE + +.B ssh +.RS +Will scp /proc/vmcore to :/%HOST-%DATE/, +supports DNS. NOTE: make sure user has necessary write permissions on +server and that a fqdn is used as the server name. +.RE + +.B sshkey +.RS +Specify the path of the ssh key to use when dumping via ssh. +The default value is /root/.ssh/kdump_id_rsa. +.RE + +.B +.RS +Will mount -t , and copy /proc/vmcore to +//%DATE/. NOTE: can be a device node, label +or uuid. It's recommended to use persistent device names such as +/dev/vg/. Otherwise it's suggested to use label or uuid. +.RE + +.B path +.RS +"path" represents the file system path in which vmcore will be saved. +If a dump target is specified in kdump.conf, then "path" is relative to the +specified dump target. +.PP +Interpretation of "path" changes a bit if the user didn't specify any dump +target explicitly in kdump.conf. In this case, "path" represents the +absolute path from root. The dump target and adjusted path are arrived +at automatically depending on what's mounted in the current system. +.PP +Ignored for raw device dumps. If unset, will use the default "/var/crash". +.RE + +.B core_collector +.RS +This allows you to specify the command to copy the vmcore. +The default is makedumpfile, which on some architectures can drastically reduce +core file size. See /sbin/makedumpfile --help for a list of options. +Note that the -i and -g options are not needed here, as the initrd +will automatically be populated with a config file appropriate +for the running kernel. +.PP +Note 1: About default core collector: +The default core_collector for raw/ssh dump is: +"makedumpfile -F -l --message-level 1 -d 31". +The default core_collector for other targets is: +"makedumpfile -l --message-level 1 -d 31". +Even if core_collector option is commented out in kdump.conf, makedumpfile +is the default core collector and kdump uses it internally. +If one does not want makedumpfile as default core_collector, then they +need to specify one using core_collector option to change the behavior. +.PP +Note 2: If "makedumpfile -F" is used then you will get a flattened format +vmcore.flat, you will need to use "makedumpfile -R" to rearrange the +dump data from standard input to a normal dumpfile (readable with analysis +tools). +ie. "makedumpfile -R vmcore < vmcore.flat" + +.RE + +.B kdump_post +.RS +This directive allows you to run a specified executable +just after the vmcore dump process terminates. The exit +status of the current dump process is fed to the kdump_post +executable as its first argument($1). Executable can modify +it to indicate the new exit status of succeeding dump process, +.PP +Note that scripts written for use with this directive must use +the /bin/bash interpreter. +.RE + +.B kdump_pre +.RS +Works just like the "kdump_post" directive, but instead +of running after the dump process, runs immediately +before. Exit status of this binary is interpreted +as follows: +.PP +0 - continue with dump process as usual +.PP +non 0 - reboot the system +.PP +Note that scripts written for this directive must use +the /bin/bash interpreter. +.RE + +.B extra_bins +.RS +This directive allows you to specify additional +binaries or shell scripts you'd like to include in +your kdump initrd. Generally only useful in +conjunction with a kdump_post binary or script that +relies on other binaries or scripts. +.RE + +.B extra_modules +.RS +This directive allows you to specify extra kernel +modules that you want to be loaded in the kdump +initrd, typically used to set up access to +non-boot-path dump targets that might otherwise +not be accessible in the kdump environment. Multiple +modules can be listed, separated by spaces, and any +dependent modules will automatically be included. +.RE + +.B default +.RS +Action to perform in case dumping to the intended target fails. The default is "reboot". +reboot: Reboot the system (this is what most people will want, as it returns the system +to a normal state). halt: Halt the system and lose the vmcore. poweroff: The system +will be powered down. shell: Drop to a shell session inside the initramfs, from which +you can manually perform additional recovery actions. Exiting this shell reboots the +system. Note: kdump uses bash as the default shell. dump_to_rootfs: If non-root dump +target is specified, the default action can be set as dump_to_rootfs. That means when +dumping to target fails, dump vmcore to rootfs from initramfs context and reboot. +.RE + +.B force_rebuild <0 | 1> +.RS +By default, kdump initrd will only be rebuilt when necessary. +Specify 1 to force rebuilding kdump initrd every time when kdump service starts. +.RE + +.B force_no_rebuild <0 | 1> +.RS +By default, kdump initrd will be rebuilt when necessary. +Specify 1 to bypass rebuilding of kdump initrd. + +.PP +force_no_rebuild and force_rebuild options are mutually exclusive and +they should not be set to 1 simultaneously. +.RE + +.B override_resettable <0 | 1> +.RS +Usually an unresettable block device can't be a dump target. Specifying 1 means +that even though the block target is unresettable, the user wants to try dumping anyway. +By default, it's set to 0, which will not try something destined to fail. +.RE + + +.B dracut_args +.RS +Kdump uses dracut to generate initramfs for second kernel. This option +allows a user to pass arguments to dracut directly. +.RE + + +.B fence_kdump_args +.RS +Command line arguments for fence_kdump_send (it can contain all valid +arguments except hosts to send notification to). +.RE + + +.B fence_kdump_nodes +.RS +List of cluster node(s) except localhost, separated by spaces, to send fence_kdump notification +to (this option is mandatory to enable fence_kdump). +.RE + + +.SH DEPRECATED OPTIONS + +.B net | +.RS +net option is replaced by nfs and ssh options. Use nfs or ssh options +directly. +.RE + +.B options

ui;ES0np@|^Me70vO%5nE$=IFffmV_8Kop^LOX5otfNG90pUXa<(%#}1B=Cb%_ zQWDXBD%7@T=RYlPSSLkxdA)mHB_Cz_pcKK;koU>~M+0l(KR2pF^y+Dzw0^slj@6og z4>a-dll>2cZI<)c|Kqy7Q;#0&BT3~u+gdF~ekGb=H!pJyY0%{XkxBp4nAl5>5j*t< zU1H0;9;m0NR6s()D{4MX35~+dfVyMfgdL!~D?((sEftP$(G7BT2S z_c=A2tMmN6__S&*DHBnYkGqpcNWz{wn#F-Dug}vDTnsb~KqM8RD-CJ3H`wgaSbIZ6 zP$)IaxhA`~j6bIwvZ8^A38JqzK)Qmz<&C8wjAL-VIl4Ucz&h$|bk!C&$K=kU*yS|0 zNW;bqz7Y8&TV*%2%^Nw7$AN8V8MNJdYXt=YacP&kH#cxl6~4*z#-(ypG)8dgDtNNdqRNc8>$Py6JUQH6Z+s!0Xo^FB1<%${yVK+ zWeLr8y}|I9&V80Tn0gU7{V+0|P*Fr22*X31#_2F3g|PC~c}qnbcnr>

% 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 b00EBP5rEKhuC9)dJ}?c70ssI200CKAg~m3? literal 0 HcmV?d00001 diff --git a/kexec-tools-2.0.8-increase-the-buf-space-to-1536.patch b/kexec-tools-2.0.8-increase-the-buf-space-to-1536.patch new file mode 100644 index 0000000..1d08ee8 --- /dev/null +++ b/kexec-tools-2.0.8-increase-the-buf-space-to-1536.patch @@ -0,0 +1,31 @@ +From 072c36f24d52f3c3c864ace33da675a8e5c009d8 Mon Sep 17 00:00:00 2001 +From: Jialong Chen +Date: Tue, 24 Oct 2017 17:10:21 +0800 +Subject: [PATCH] kexec-tools: increase the buf space to 1536 + +reason: increase the buf space to 1536 + +Signed-off-by: Jialong Chen +--- + kexec/arch/arm64/kexec-arm64.h | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/kexec/arch/arm64/kexec-arm64.h b/kexec/arch/arm64/kexec-arm64.h +index 7e4d056..0490d07 100644 +--- a/kexec/arch/arm64/kexec-arm64.h ++++ b/kexec/arch/arm64/kexec-arm64.h +@@ -15,7 +15,10 @@ + + #define BOOT_BLOCK_VERSION 17 + #define BOOT_BLOCK_LAST_COMP_VERSION 16 +-#define COMMAND_LINE_SIZE 512 ++/* kernel define COMMAND_LINE_SIZE 2048, kexec will append some parameter to follow command_line ++ * so we define COMMAND_LINE_SIZE 1024+512 here. ++*/ ++#define COMMAND_LINE_SIZE 1536 + + #define KiB(x) ((x) * 1024UL) + #define MiB(x) (KiB(x) * 1024UL) +-- +1.8.3.1 + diff --git a/kexec-tools.spec b/kexec-tools.spec new file mode 100644 index 0000000..82b3db4 --- /dev/null +++ b/kexec-tools.spec @@ -0,0 +1,342 @@ +Name: kexec-tools +Version: 2.0.17 +Release: 13 +License: GPLv2 +Summary: The kexec/kdump userspace component +URL: https://www.kernel.org/ +Source0: http://kernel.org/pub/linux/utils/kernel/kexec/%{name}-%{version}.tar.xz +Source1: kdumpctl +Source2: kdump.sysconfig +Source3: kdump.sysconfig.x86_64 +Source4: kdump.sysconfig.i386 +Source5: kdump.sysconfig.ppc64 +Source7: mkdumprd +Source8: kdump.conf +Source9: http://downloads.sourceforge.net/project/makedumpfile/makedumpfile/1.6.4/makedumpfile-1.6.4.tar.gz +Source12: mkdumprd.8 +Source14: 98-kexec.rules +Source15: kdump.conf.5 +Source16: kdump.service +Source18: kdump.sysconfig.s390x +Source19: eppic_050615.tar.gz +Source20: kdump-lib.sh +Source21: kdump-in-cluster-environment.txt +Source22: kdump-dep-generator.sh +Source23: kdump-lib-initramfs.sh +Source24: kdump.sysconfig.ppc64le +Source25: kdumpctl.8 +Source26: live-image-kdump-howto.txt +Source27: early-kdump-howto.txt + +Source100: dracut-kdump.sh +Source101: dracut-module-setup.sh +Source102: dracut-monitor_dd_progress +Source103: dracut-kdump-error-handler.sh +Source104: dracut-kdump-emergency.service +Source105: dracut-kdump-error-handler.service +Source106: dracut-kdump-capture.service +Source107: dracut-kdump-emergency.target +Source108: dracut-early-kdump.sh +Source109: dracut-early-kdump-module-setup.sh + +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +Requires(pre): coreutils sed zlib +Requires: dracut >= 047-34.git20180604 +Requires: dracut-network >= 044-117 +Requires: ethtool +BuildRequires: zlib-devel zlib zlib-static elfutils-devel-static glib2-devel bzip2-devel ncurses-devel bison flex lzo-devel snappy-devel +BuildRequires: pkgconfig intltool gettext +BuildRequires: systemd-units +BuildRequires: automake autoconf libtool +%ifarch %{ix86} x86_64 +Obsoletes: diskdumputils netdump kexec-tools-eppic +%endif + +%undefine _hardened_build + +Patch101: kexec-tools-2.0.17-kexec-fix-for-Unhandled-rela-relocation-R_X86_64_PLT.patch + +Patch6000: vmcore-dmesg-fix-infinite-loop-if-log-buffer-wraps-a.patch +Patch6001: arm64-error-out-if-kernel-command-line-is-too-long.patch +Patch6002: kdump-fix-an-error-that-can-not-parse-the-e820-reser.patch +Patch6003: x86-fix-BAD_FREE-in-get_efi_runtime_map.patch +Patch6004: kexec-dt-ops.c-Fix-check-against-fdt_add_subnode-ret.patch +Patch6005: kexec-kexec-arm64.c-Add-error-handling-check-against.patch +Patch6006: kexec-dt-ops.c-Fix-adding-chosen-node-for-cases-wher.patch +Patch6007: kexec-dt-ops.c-Fix-chosen-v-s-chosen-node-being-pass.patch +Patch6008: arm64-wipe-old-initrd-addresses-when-patching-the-DT.patch +Patch6009: xen-Avoid-overlapping-segments-in-low-memory.patch +Patch6010: x86-Check-proc-mounts-before-mtab-for-mounts.patch +Patch6011: x86-Find-mounts-by-FS-type-not-name.patch +Patch6012: kexec-kexec.c-Add-the-missing-close-for-fd-used-for-kexec_file_load.patch +Patch6013: kexec-uImage-arm64.c-Fix-return-value-of-uImage_arm64_probe.patch +Patch6014: kexec-kexec-zlib.h-Add-is_zlib_file-helper-function.patch +Patch6015: kexec-arm64-Add-support-for-handling-zlib-compressed-image.patch + +%ifarch aarch64 +Patch9000: kexec-tools-2.0.8-increase-the-buf-space-to-1536.patch +Patch9001: bugfix-get-the-paddr-of-mem_section-return-error-address.patch +Patch9002: arm64-support-more-than-one-crash-kernel-regions.patch +%endif + +Patch9003: makedumpfile-modify-SECTIONS_SIZE_BITS-to-27-for-arm.patch +Patch9004: add-secure-compile-options-for-makedumpfile.patch + +%description +kexec-tools provides /sbin/kexec binary that facilitates a new +kernel to boot using the kernel's kexec feature either on a +normal or a panic reboot. This package contains the /sbin/kexec +binary and ancillary utilities that together form the userspace +component of the kernel's kexec feature. + +%package help +Summary: Doc files for %{name} +Buildarch: noarch + +%description help +The %{name}-help package contains doc files for %{name}. + +%prep +%setup -q + +mkdir -p -m755 kcp +tar -z -x -v -f %{SOURCE9} +tar -z -x -v -f %{SOURCE19} + +%patch101 -p1 + +%{lua:for i=0,8 do print(string.format("%%patch600%u -p1\n", i)) end} +%patch6009 -p1 +%patch6010 -p1 +%patch6011 -p1 +%patch6012 -p1 +%patch6013 -p1 +%patch6014 -p1 +%patch6015 -p1 + +%ifarch aarch64 +%{lua:for i=0,2 do print(string.format("%%patch900%u -p1\n", i)) end} +%endif + +%patch9003 -p1 +%patch9004 -p1 + +%build +autoreconf +%configure --sbindir=/sbin \ + CFLAGS="${CFLAGS} -fstack-protector-strong -Wl,-z,now -pie -fPIC -fPIE" +rm -f kexec-tools.spec.in +# for docs +cp %{SOURCE21} %{SOURCE26} %{SOURCE27} . + +make +%ifarch %{ix86} x86_64 aarch64 +make -C eppic/libeppic +make -C makedumpfile-1.6.4 LINKTYPE=dynamic USELZO=on USESNAPPY=on +make -C makedumpfile-1.6.4 LDFLAGS="-I../eppic/libeppic -L../eppic/libeppic" eppic_makedumpfile.so +%endif + +%install +mkdir -p -m755 %{buildroot}/sbin +mkdir -p -m755 %{buildroot}%{_sysconfdir}/sysconfig +mkdir -p -m755 %{buildroot}%{_localstatedir}/crash +mkdir -p -m755 %{buildroot}%{_mandir}/man8/ +mkdir -p -m755 %{buildroot}%{_mandir}/man5/ +mkdir -p -m755 %{buildroot}%{_docdir} +mkdir -p -m755 %{buildroot}%{_datadir}/kdump +mkdir -p -m755 %{buildroot}%{_udevrulesdir} +mkdir -p %{buildroot}%{_unitdir} +mkdir -p -m755 %{buildroot}%{_bindir} +mkdir -p -m755 %{buildroot}%{_libdir} +mkdir -p -m755 %{buildroot}%{_prefix}/lib/kdump +install -m 755 %{SOURCE1} %{buildroot}%{_bindir}/kdumpctl + +install -m 755 build/sbin/kexec %{buildroot}/sbin/kexec +install -m 755 build/sbin/vmcore-dmesg %{buildroot}/sbin/vmcore-dmesg +install -m 644 build/man/man8/kexec.8 %{buildroot}%{_mandir}/man8/ +install -m 644 build/man/man8/vmcore-dmesg.8 %{buildroot}%{_mandir}/man8/ + +SYSCONFIG=%{_sourcedir}/kdump.sysconfig.%{_target_cpu} +[ -f $SYSCONFIG ] || SYSCONFIG=%{_sourcedir}/kdump.sysconfig.%{_arch} +[ -f $SYSCONFIG ] || SYSCONFIG=%{_sourcedir}/kdump.sysconfig +install -m 644 $SYSCONFIG %{buildroot}%{_sysconfdir}/sysconfig/kdump + +install -m 755 %{SOURCE7} %{buildroot}/sbin/mkdumprd +install -m 644 %{SOURCE8} %{buildroot}%{_sysconfdir}/kdump.conf +install -m 644 kexec/kexec.8 %{buildroot}%{_mandir}/man8/kexec.8 +install -m 644 %{SOURCE12} %{buildroot}%{_mandir}/man8/mkdumprd.8 +install -m 644 %{SOURCE25} %{buildroot}%{_mandir}/man8/kdumpctl.8 +install -m 755 %{SOURCE20} %{buildroot}%{_prefix}/lib/kdump/kdump-lib.sh +install -m 755 %{SOURCE23} %{buildroot}%{_prefix}/lib/kdump/kdump-lib-initramfs.sh +install -m 644 %{SOURCE15} %{buildroot}%{_mandir}/man5/kdump.conf.5 +install -m 644 %{SOURCE16} %{buildroot}%{_unitdir}/kdump.service +install -m 755 -D %{SOURCE22} %{buildroot}%{_prefix}/lib/systemd/system-generators/kdump-dep-generator.sh +install -m 644 %{SOURCE14} %{buildroot}%{_udevrulesdir}/98-kexec.rules + +%ifarch %{ix86} x86_64 aarch64 +install -m 755 makedumpfile-1.6.4/makedumpfile %{buildroot}/sbin/makedumpfile +install -m 644 makedumpfile-1.6.4/makedumpfile.8.gz %{buildroot}/%{_mandir}/man8/makedumpfile.8.gz +install -m 644 makedumpfile-1.6.4/makedumpfile.conf.5.gz %{buildroot}/%{_mandir}/man5/makedumpfile.conf.5.gz +install -m 644 makedumpfile-1.6.4/makedumpfile.conf %{buildroot}/%{_sysconfdir}/makedumpfile.conf.sample +install -m 755 makedumpfile-1.6.4/eppic_makedumpfile.so %{buildroot}/%{_libdir}/eppic_makedumpfile.so +mkdir -p %{buildroot}/usr/share/makedumpfile/eppic_scripts/ +install -m 644 makedumpfile-1.6.4/eppic_scripts/* %{buildroot}/usr/share/makedumpfile/eppic_scripts/ +%endif + +%define remove_dracut_prefix() %(echo -n %1|sed 's/.*dracut-//g') +%define remove_dracut_early_kdump_prefix() %(echo -n %1|sed 's/.*dracut-early-kdump-//g') + +# For dracut modules +mkdir -p -m755 %{buildroot}/etc/kdump-adv-conf/kdump_dracut_modules/99kdumpbase +cp %{SOURCE100} %{buildroot}/etc/kdump-adv-conf/kdump_dracut_modules/99kdumpbase/%{remove_dracut_prefix %{SOURCE100}} +cp %{SOURCE101} %{buildroot}/etc/kdump-adv-conf/kdump_dracut_modules/99kdumpbase/%{remove_dracut_prefix %{SOURCE101}} +cp %{SOURCE102} %{buildroot}/etc/kdump-adv-conf/kdump_dracut_modules/99kdumpbase/%{remove_dracut_prefix %{SOURCE102}} +cp %{SOURCE103} %{buildroot}/etc/kdump-adv-conf/kdump_dracut_modules/99kdumpbase/%{remove_dracut_prefix %{SOURCE103}} +cp %{SOURCE104} %{buildroot}/etc/kdump-adv-conf/kdump_dracut_modules/99kdumpbase/%{remove_dracut_prefix %{SOURCE104}} +cp %{SOURCE105} %{buildroot}/etc/kdump-adv-conf/kdump_dracut_modules/99kdumpbase/%{remove_dracut_prefix %{SOURCE105}} +cp %{SOURCE106} %{buildroot}/etc/kdump-adv-conf/kdump_dracut_modules/99kdumpbase/%{remove_dracut_prefix %{SOURCE106}} +cp %{SOURCE107} %{buildroot}/etc/kdump-adv-conf/kdump_dracut_modules/99kdumpbase/%{remove_dracut_prefix %{SOURCE107}} +chmod 755 %{buildroot}/etc/kdump-adv-conf/kdump_dracut_modules/99kdumpbase/%{remove_dracut_prefix %{SOURCE100}} +chmod 755 %{buildroot}/etc/kdump-adv-conf/kdump_dracut_modules/99kdumpbase/%{remove_dracut_prefix %{SOURCE101}} +mkdir -p -m755 %{buildroot}/etc/kdump-adv-conf/kdump_dracut_modules/99earlykdump +cp %{SOURCE108} %{buildroot}/etc/kdump-adv-conf/kdump_dracut_modules/99earlykdump/%{remove_dracut_prefix %{SOURCE108}} +cp %{SOURCE109} %{buildroot}/etc/kdump-adv-conf/kdump_dracut_modules/99earlykdump/%{remove_dracut_early_kdump_prefix %{SOURCE109}} +chmod 755 %{buildroot}/etc/kdump-adv-conf/kdump_dracut_modules/99earlykdump/%{remove_dracut_prefix %{SOURCE108}} +chmod 755 %{buildroot}/etc/kdump-adv-conf/kdump_dracut_modules/99earlykdump/%{remove_dracut_early_kdump_prefix %{SOURCE109}} + +%define dracutlibdir %{_prefix}/lib/dracut +# For custom dracut modules +mkdir -p %{buildroot}/%{dracutlibdir}/modules.d/ +mv %{buildroot}/etc/kdump-adv-conf/kdump_dracut_modules/* %{buildroot}/%{dracutlibdir}/modules.d/ + +%post +%systemd_post kdump.service + +touch /etc/kdump.conf +# Fix up broken boxes +if [ -d /proc/bus/mckinley ] +then + # for HP zx1 machines + sed -e's/\(^KDUMP_COMMANDLINE_APPEND.*\)\("$\)/\1 machvec=dig"/' \ + /etc/sysconfig/kdump > /etc/sysconfig/kdump.new + mv /etc/sysconfig/kdump.new /etc/sysconfig/kdump +elif [ -d /proc/sgi_sn ] +then + # for SGI SN boxes + sed -e's/\(^KEXEC_ARGS.*\)\("$\)/\1 --noio"/' \ + /etc/sysconfig/kdump > /etc/sysconfig/kdump.new + mv /etc/sysconfig/kdump.new /etc/sysconfig/kdump +fi + + +%postun +%systemd_postun_with_restart kdump.service + +%preun +%systemd_preun kdump.service + +%triggerun -- kexec-tools < 2.0.2-3 +# Save runlevel info for future migration +/usr/bin/systemd-sysv-convert --save kdump >/dev/null 2>&1 ||: +# Not needed after uninstall +/sbin/chkconfig --del kdump >/dev/null 2>&1 || : +/bin/systemctl try-restart kdump.service >/dev/null 2>&1 || : + +%triggerin -- kernel-kdump +touch %{_sysconfdir}/kdump.conf + +%triggerpostun -- kernel kernel-xen kernel-debug kernel-PAE kernel-kdump +# Search for kernel installs, if not found, remove kdump initrd +IMGDIR=/boot +for i in `ls $IMGDIR/initramfs*kdump.img 2>/dev/null` +do + KDVER=`echo $i | sed -e's/^.*initramfs-//' -e's/kdump.*$//'` + if [ ! -e $IMGDIR/vmlinuz-$KDVER ] + then + rm -f $i + fi +done + + +%files +%doc News +%doc TODO +%license COPYING +%config(noreplace,missingok) %{_sysconfdir}/sysconfig/kdump +%config(noreplace,missingok) %{_sysconfdir}/kdump.conf +%config %{_udevrulesdir} +%dir %{_localstatedir}/crash +/sbin/kexec +/sbin/mkdumprd +/sbin/vmcore-dmesg +%{_bindir}/* +%{_datadir}/kdump +%{_prefix}/lib/kdump +%{dracutlibdir}/modules.d/* +%{_unitdir}/kdump.service +%{_prefix}/lib/systemd/system-generators/kdump-dep-generator.sh +%ifarch %{ix86} x86_64 aarch64 +%{_libdir}/eppic_makedumpfile.so +/usr/share/makedumpfile/ +%endif +%ifarch %{ix86} x86_64 aarch64 +%{_sysconfdir}/makedumpfile.conf.sample +%endif +%ifarch %{ix86} x86_64 aarch64 +/sbin/makedumpfile +%endif + +%files help +%doc early-kdump-howto.txt +%doc kdump-in-cluster-environment.txt +%doc live-image-kdump-howto.txt +%{_mandir}/man8/kdumpctl.8.gz +%{_mandir}/man8/kexec.8.gz +%{_mandir}/man8/mkdumprd.8.gz +%{_mandir}/man8/vmcore-dmesg.8.gz +%{_mandir}/man5/* +%ifarch %{ix86} x86_64 aarch64 +%{_mandir}/man8/makedumpfile.8.gz +%endif + +%changelog +* Thu Dec 19 2019 chengquan - 2.0.17-13 +- Type:enhancement +- ID:NA +- SUG:NA +- DESC:add url for package + +* Wed Sep 25 2019 openEuler Buildteam - 2.0-17.12 +- add secure compile options and merge bugfix patches from community + xen: Avoid overlapping segments in low memory + x86: Check /proc/mounts before mtab for mounts + x86: Find mounts by FS type, not name + kexec/kexec.c: Add the missing close() for fd used for kexec_file_load() + kexec-uImage-arm64.c: Fix return value of uImage_arm64_probe() + kexec/kexec-zlib.h: Add 'is_zlib_file()' helper function + kexec/arm64: Add support for handling zlib compressed (Image.gz) image + +* Thu Sep 21 2019 openEuler Buildteam - 2.0-17.11 +- Package init + +* Thu Aug 22 2019 Yeqing Peng - 2.0-17.10.h1 +- Type:bugfix +- ID:NA +- SUG:restart +- DESC: fix bugs as follows: + 1.dmesg fix infinite loop if log buffer wraps around. + 2.arm64 error out if kernel command line is too long. + 3.fix an error that can not parse the e820 reserved region. + 4.x86 fix BAD_FREE in get_efi_runtime_map(). + 5.fix check against 'fdt_add_subnode' return value. + 6.arm64 add error handling check against return value of 'set_bootargs()'. + 7.fix adding '/chosen' node for cases where it is not available in dtb + passed via --dtb option. + 8.fix '/chosen' v/s 'chosen' node being passed to fdt helper functions. + 9.arm64 wipe old initrd addresses when patching the DTB. + 10.arm64 increase the command line buf space to 1536. + 11.arm64 bugfix get the paddr of mem_section return error address. + 12.arm64 support more than one crash kernel regions. + 13.modify SECTIONS_SIZE_BITS to 27 for arm64. diff --git a/kexec-uImage-arm64.c-Fix-return-value-of-uImage_arm64_probe.patch b/kexec-uImage-arm64.c-Fix-return-value-of-uImage_arm64_probe.patch new file mode 100644 index 0000000..b4fee80 --- /dev/null +++ b/kexec-uImage-arm64.c-Fix-return-value-of-uImage_arm64_probe.patch @@ -0,0 +1,57 @@ +From 6ef59c03bf2c42f6577c708b58598868e8e8fb0b Mon Sep 17 00:00:00 2001 +From: Bhupesh Sharma +Date: Mon, 15 Jul 2019 11:32:54 +0530 +Subject: [PATCH 16/20] kexec-uImage-arm64.c: Fix return value of + uImage_arm64_probe() + +https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/?id=6ef59c03bf2c42f6577c708b58598868e8e8fb0b + +Commit bf06cf2095e1 ("kexec/uImage: probe to identify a corrupted image"), +defined the 'uImage_probe_kernel()' function return values and +correspondingly ;uImage_arm64_probe()' returns the same (0 -> If the +image is valid 'type' image, -1 -> If the image is corrupted and +1 -> If the image is not a uImage). + +This causes issues because, in later patches we introduce zImage +support for arm64, and since it is probed after uImage, the return +values from 'uImage_arm64_probe()' needs to be fixed to make sure +that kexec will not return with an invalid error code. + +Now, 'uImage_arm64_probe()' returns the following values instead: + 0 - valid uImage. + -1 - uImage is corrupted. + 1 - image is not a uImage. + +Signed-off-by: Bhupesh Sharma +Signed-off-by: Simon Horman +--- + kexec/arch/arm64/kexec-uImage-arm64.c | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git a/kexec/arch/arm64/kexec-uImage-arm64.c b/kexec/arch/arm64/kexec-uImage-arm64.c +index 126ea9c..c466913 100644 +--- a/kexec/arch/arm64/kexec-uImage-arm64.c ++++ b/kexec/arch/arm64/kexec-uImage-arm64.c +@@ -11,7 +11,18 @@ + + int uImage_arm64_probe(const char *buf, off_t len) + { +- return uImage_probe_kernel(buf, len, IH_ARCH_ARM64); ++ int ret; ++ ++ ret = uImage_probe_kernel(buf, len, IH_ARCH_ARM64); ++ ++ /* 0 - valid uImage. ++ * -1 - uImage is corrupted. ++ * 1 - image is not a uImage. ++ */ ++ if (!ret) ++ return 0; ++ else ++ return -1; + } + + int uImage_arm64_load(int argc, char **argv, const char *buf, off_t len, +-- +1.8.3.1 + diff --git a/live-image-kdump-howto.txt b/live-image-kdump-howto.txt new file mode 100644 index 0000000..1695a1c --- /dev/null +++ b/live-image-kdump-howto.txt @@ -0,0 +1,25 @@ +Kdump now works on live images with some manual configurations. Here is the step +by step guide. + +1. Enable crashkernel reservation + +Since there isn't any config file that can be used to configure kernel +parameters for live images before booting them, we have to append 'crashkernel' +argument in boot menu every time we boot a live image. + +2. Change dump target in /etc/kdump.conf + +When kdump kernel boots in a live environment, the default target /var/crash is +in RAM so you need to change the dump target to an external disk or a network +dump target. + +Besides, make sure that "default dump_to_rootfs" is not specified. + +3. Start kdump service + + $ kdumpctl start + +4. Trigger a kdump test + + $ echo 1 > /proc/sys/kernel/sysrq + $ echo c > /proc/sysrq-trigger diff --git a/makedumpfile-1.6.4.tar.gz b/makedumpfile-1.6.4.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..8d28b217a678da2f56d3fe94f94d028c7cdc3cbf GIT binary patch literal 191786 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

)IRa}b*+D8zW1+e8p1n-A{}+6 zp?;yAPdeSS9_)2?_l=-Rv*x=Q8|6_96JiG>jR9<^C6fAPwGJYpu3TedZ&`FyH8$Do z4_2jhd;rjW=`A9ZGSsK2)Use)Q?1&S=v_5FAN&UW_T;KJjgt+?&)ZB|gZ`t3?bqse zvJTlP5Wec=gB^Ma?;h-k;3O$l5aEB}x~g^b;?YB)d7}QYzq;-TS~Byr-8SM{DY0J| zr`KpG60hwziKg}$V6c%g&OymXmPH+|EO+rp3@Qr5GPL(vA!ggYQfsn5S=$)$n zJbJjRQQo`*lwT2h16l(>l7Ql{bc@4wz*MJ*Nd~=r(j-;MaUCa~S})mT;PrX?=w$yu zIIQXj7V;tyJE?~dPAIXE`%{#P{;F`RCiUR6)+Sk2!Ia~ zPuJK+Di(lajh3%Cc^G}Sx@Iv}Hg?G1``GcMEnJc33d1kH}sxotnr$3QphjV%3@>ok8BP_KI?K7MK+CsTCZNLY(IaC9*=Zt6x+vv|nIAWX84B$-d$>PbL z*U4^xwt7=UF!xSfZv)I!cEwSy2#Fgt7q5I9eLB~y&#WN=z@+JBAnO?{LG<(`D^>MX z^EgUS<-uZcwD`8VL|O8VEm=t4y?K8caW}`kai~F#%-yHZeC#j}3i9r`7hxdbdekA$ zuDG>$91nIXjzblUj6?HFJPu1NcV&`v!M}hDC#{U(D4l1m#wg=*&@@u$Vz>d#IEr*B zc{-)wD!9oFy@1_D&L9}ytuy3RckE5>OsRUim*wwBf)U^ZOS%BMbZo_j?i4mUqF~qX zz+a7(K!3xLV`r&x&vS7UMSn$rhF~iti6F3?n`8xI-f5pvARkc0n*_uv@;pDfRl=rME8 zj&j$l@1IBUQvtfU?YW>A&d zY+EhyBmN+6^5t!fjOvD61B?{+X)aXwEP8j<@Q^ZE+L{A+Uz>?L2pBJTmtF}|0Y&mL z%7a?75zunQPO#VM1(@rN)T(Wo!foa&-4=LmkO()hLx4mIkkd_rO106Q%yYZVF}pIo ztm{JhdJP7iJ2Ujn7Gg7G1^XI&LF2<&2Ta2`Jh6DgPFx!d1iJy!=959j`G-_xeA1rNS^;Lmd9&{& z{thS;6-EbmG{8_;(wSu!WMDO!PbcHt#@~m&OtX?Y;RxF1n@gjhn(jY|RO4?>rP_*x zx@i_5EGDBD!5NlZ1#eXDP@rJq6_uHI5#(2$+#HLZ#WUfWRxD|~k_44FMnQB@o9Xb3 zjyt+iYdvE(-Kxj%i#K~hgz0nPxam_kHtZ}g3z zExVYD$hV94TF}9XNHi`c?T)l#HlbyojZ4j?!+;yE)xOfat9`=`xa)|>B=*>ks9K>f z{2heu$H8uZ{H?Q2Hp>0FO;RdTikF0E9E>WNj5CNbK>;eA1~#cOy2r<=>ixGD${)!_ z;*lE~!98z5cDZd2Fq*13Qi?VRtg`Gb1yhh$N2rx=tBJNuiLG$6N8*hmHL@vKjR8?F zpsDu~pK)&lbhcEuTqIPIvoj|nrUMupwI8duE0j-5Q`C!_1iusO-Gl5 zu?<}Nb(7#%s#`PXN=DMLP3iK*LMyv>&x4a44}k|NL%>I9Qi%W%+6dr6&-(q-r!Ev$ zXn6{}@19r-6&cOct;=U<9LAZo^ig!^P8yvLNnU%r; zcUJWJ-d?g!Xa=T|oD@|9M!5c9X|d=29ywoQs1)6VI*b)vQbJv4KA6z}Y8s7M(a=bMAQ( zI~1XYU9&<`26DSQ%v}!(#0glJlCIhTs9dI_bPAC7K@A^=aAln71k&0dB=NzObdg+ zF>B@duETkb z+%o+c$w(=79r?@g9;>?vYS$Y$ct$umW@v-_neOd*m>qR7qJ0;DA|8hb*Ji_oe}TIZ zD$f)ltb4qRHxJZL#}#PogjM6|U~pg9ZTJY>gxOutmjZJAHDrpGPzi%u6j@f!I6@!Y zUX&!@E}N?w8pIGz2X)NjX)$df3}`=vfiBiLasanvI&jKk#2|_*xNd(h0BiKqWd)F{ zkC*%v5sy3bp~@g-b$~3pPrd1)u;Pb!YD1>}6scG{p`#@iktc z5u+ti{pj223631?af=5l#wk`r??Gyf$0B9e`> z35xyI9CkHh=RuNUAo~VXV)3cMvF&Xolj@0nQf52VunyxHAbNk=>Ef+ilYY)R8CazV zM?x6S0-36kpGn}rd|O`=bowpyHG!|L2MO4_VsW_M%|`RoFr^g1TyQQxpt%9dRWKmS z$|>QRAJNB^JmEED5M+&=i1ViFjk?3)eAhl-izB;kuG^9p9Exs&5P6o=GAqxJlXl?5oG6pOs-8; zb)4&~V~ELP5CM{TpyM0W+aL8f8Hr~a4lNS&d%Cbq_2Hn_Q%X;zO)?!2xEQHp;D?xL z2&%7A)eXcV1<0U}W$xR}q*%xbDDfAeyRMQ-6-tYEj$(EM_kA-lp7xapxfKu9vbHIr zft7s9C_PyDUUvq`?Al~UTzCd7VVCYn#@84ou^EF^46}A%tp$2;_hz7;==DN@7>V@3sz! z&AS6WU_fCigTa>Rr-_LzN|tF`KHm1gR>c4(#{FLBroN`pf^SE@$cet>k#6yNPoI@G z0ETAa<(aC%_3z9F+zq(^pR$@j99yL3vv4_-T5{-r$(7DpQn$iFf-g2nA;|-Bic16*^kpc{O`>N%tn>;wrPhS6Q zPt@>qHN=TD=k_8b)kr3}u5;F230pg0n0U;J?+V$UI})Bwexb$iG?|2WD@8!MVm)a6 zPi`VO(S{Fl(T4x&V{B10Kt72NHH_#tz=*2;^N5~mU_AP?~k`PR#OGky@I?km=IB0m17l->W@~ogMkGIXEcHLlzo89^N=!X zH0}4n1RbItD2Rb)j0v^B04y{6wk{Nr~uQcgc43aTOV}%SG)uY?N{EYqvjq_o&_WCi&vvv*~QEkOn#j-EQPiamM!qScO-uS1ux77mVFt@uG6z z*auNh)C6?bPP8}48Lzmqlx@v=nHLfx!zOwp(Cl9Ky%zmFA1q8p2RSx%@UEJMSP_{h zCKBbOAm}=_dxEG+3wBO`gGF74J!AU__sjCTrOI9jM!8_sJFv)9!GVXTg(_Dwlf{K{mZQf4| zZre11*w1XtLrAX1?~`F?#F?w;jJ`XiIcWWw?*&)Dp5kL{ggm>Xi~!R;#&~TE!e%$O!=*3d z@zxPi0o4|gmP)csPkTN4iCf;YO2T&c%-U!8X4h$jFGu$Ow3==aIR%?UC?e zOLrV3Y|m)Mc&gg0U5-S{Pd456biPrB+>}bNQ+#2dAcy@SO8YsG-fj zLMZ|}*A^9%MK8@T-;@anh2pR@$C;WsW4voU?e{rh-ABEL@w&8X(#0?xAq8c=$&FAe z*ATcIp6Dl(DKHQoCahK~MlG0zijIf*a7aAI#Q|85>2G}7aYD=yPthT*G;7iKl3|GI z$xA!zm5DnJL;CygX7a7dYIeCMe>U~%Z2PMv4;;>CHjBivEu|9=L0TqJd{`?gfXUKH z!PVsmDzwrSA~9MpVFs+#UQa}6aM+690R?_jZQ@b*FO=CM6kWe)V8SSJPqqrE+%2sq zcB!QNJ%_yjok**jT-LG5b4i!%Hmh-@MFb7Wls}NKl^0c5xXH)_d$y+-M>FaqqAuAEb_nT9xbsk8>E&;9hXc*Q^rMZp z1?qomOH5x~N=^o9Bs;~+3`d>+qFZ#d0gkS8iE0Jf#OpID1|CoM0qL5;k8zW23X471 zO8(Y9{=wa)teO&F?729CCBLfhRX`$zj{ zZ?vTsHdIod=8>8f8T@n?lm~MD51yyr8Nk56iNWW=VMw1)zcB41# z=>R>*Yy4T?7KS~7B^oKKuKC#hK*?ff%r0U41PI~TD;{>efqB?%W6C`1Y?dKGojh4| zfYYljouS+*SciW$u>}|blsg;&iKHj}v(4^Z0cbe{S4E1T;Q@+3qqCH9XsU>R!n~-C zm?IVGlYb7cF8ENKBOMxs`EM`%6o(`aeDaTFamSzp$ntC*NIQOv?p-L$OHp~^DJL}T zVqaX;bK282Lf6QIZ)!H^LD+@i@5TO)$rkR+7%EF;INm@AZkFS|Xtap5IK7U|XC#H2N6O1iP$DmFn>tU9){zUwBwx?In;HROdz43A$LY$)m7MC(UGr!LckLSb z$a^71vzgNsxd{~b^~RU=eMT=@^@|2E0_m&9G7eS`XT&vo?qL;Wn+H=)Pm+&A?BJyH z9yR5=$qfuLm6{H8Ir608!f2GIpl4hmadsHL-e5Rb^6JK_k%rz$oUKnZYO#`7$M$$z zlFsdg64Y*D-%9i329g>cSzLu0QDTHCtz?nWG{31if{Bi}7^|*uw9$V{JL0=#GNe6F z7n)f8Rn1L6TI+TO-Bj}HR@5$9;~!7(to5Pgx+Mw!6wMSjsP0uox;7luI9aJe+Zw=m z(Y%t*s`*=bX#imMBb2CqVP)HKAi~IWXih{S-Es+lx#hEx;#uoX$C${AL=iLaw&zDs z&hhooMB_Po*dB70%ZHqvMYuKy-#%Xh3EXuN;o9gY!oSSDJ{~*OjGR5G5dG@5vfmN* zLqlrdLG*@Rm)MMa)GLFMQtclc>>s_}42N0->+-?Q(_0{)eB!Jm)l?h4igkj>1CV;T z67@zcjR;T;+KrUJU~nEM@a)32PtN+Iidg-oBt%Bz*wWh#RL zU!wBwxagx-Pwdg}WxNHlni192d6Lyvr2~&1A(`up?zNITO93f~H>F}M(s5kM*4W4E zSf)1ZO}3+=s=60K_$zS(B?!mW3QMxw^oHUd(P`DF)M|6LCi7(*PPDo&MO6Ge`f1Zy ze1;R$=UZnO?xuzAH=^e|_-XWBl+TyHTsW)QmLjFX_`8Jw$hIfOSv}b57E!c@y4=Uz zSM@?I#PLV6W)8KJd^#Ep$CIk8JRE_@+^WwsNF_mmH4J-}{b6+CMgk7aPwl2|DY{bh z0*y?&`oszr%_$($ZmD^#{NeLTfsX%_X)RI(oe3_TzZsF0qw^Q4mhKdahN)+;X5D0! zVRM3n2Gc5Et$Oy%s;?4OYO${8zHVay^UnSFVer|G9`QsbW23y-C9U4O3I zN3yKSPphpG&WSZiL#hDZ=2?{6DSY-6F_{)5zu-4{V9|3$70aSZmz2!26$RYL!2!;r zx$Y3DFX-OYKo8MPGY8PaMgExw#?6_QZz;}Zbom6Gp7tj)0)#1cmo2`tjo<=Nf>s)H zvi!!OpqoGqI%=BUW`k>I*epe&LE$!eF){KfEQiENLV%j!>+yx;h+`lR#pa_9Ex& z1vMEPsKIk*$>3$DvQ{xUpshcOp`p$8E|c&h8WAqCc_j~f4o|IQF(%>XzvbxGvemdQ zdQEOq?>_ocfbuuS8%~#NT+aVNlI4WR|b98>_jx!0AtdS)7TEdeXhybRaO(uB8JVYN* z>p);K945C@Xo}@J0Y%qN`hAUP&ZhnR2JfnPcKoC>9(V3$BWz9qwIN85zU^cKHMLo; zuGP>GE+_jFZu=@@CqK3=k0f~uJN!}VC^XV>CTs;)m&6#L8DNY}vn) zaQHHs+`iui$HSMAf1F1Vv70pO!=7eti2am>3S=(H@W;bXp>kykG&pNi;s7ZT1VtoA zlD-}V6xx`*M67{X}@c= zrK{Uf&`BOZpqB8ai*EC!CMR>Lue?Kcf4BpNE0%}ZAm3MO&R%F)JQx=-pc;0XF(h{( z7*Sp~qL;(|6)jO5fwG|?=Uv4gviwG|T>o0KVf-(*LZYY}b2o$843JSqY-fq$%`+O- zhNg8UUO-UNNp){JgKN2?hj~?oh_GBvgR)4<@hjBs1nRNW6Zyb7ij&EAnGz_47EhA6 zBk9LwlvmSkvP8P0dU~1sw7q}cKHooVX;KPWT4AvLqIp_f&DVl>} z?!S14py9mf|2Awyj&a$>IV;lqENi~sw0B|*ZAZ_L#kMoUVOpmG(*D!pa|)%KKewCc zCalk7zbyUF$KjZ?STVe~aj=tkD$!!YxAfP~0QDqz^E7F0!0U~5_|IC&*?x57zSOBZ zGFPhpE6~b%QS-cOM#aES0kzRW4n85-@fY&+2;B&@+jh;sm-)5*fWBy2RlhKH7F*H3 zXllRwY(hjX%;4D}ihvvg);5$HUiO7%Gj+?c^ONxOrTVW;xx?j z1{CxUki=~^^q2j!^=f5Z-$5$~TXgKGKVHO;SrOZ;Kyr>D%GKUI@6np_6pbXkh(ygV z@b8THq*&c+ai@&V2!L^4B|#Pij@<3(oc^Bob@%+^j1P{f=d(Srg)X3CX^%R4ZMx%d z4`)csX(nN<{vn7#{I=goH*zA;nbFvt)hOo78cuy%lEFF%ek`Hx3b)!a$bMR zd%06;7c7q=`#yHEwSZraeChi}G>hb;xOphuQiQ#r(&8Pk=i!)o1 zTP*ghZHQ#C)Z_D?YCVDI$6J`+mi!sst=<&pXHp;o_dnsG0UzRc9Hb@rb!1Unioie7 z=vR=Zd}j!nO*-!6ob8?RNM?i4bfUw{Jmu8y36G)ug`*2;e>eH7 zt$WFvR>*OVyc}8!HlzA8is`29M=EgDBjqJ~Y2TexFJ;Q_tLacXG)ExRliP`fUX3Zq>qNZ!dK#UW8gM7MV{e zP_$_cv_p_NE`?v!Z2GlOvi6&Z0nA+$?h-(yR_1vqA<&>X#d3woqeQ8L6YlPx{XqNC zo7VPj>$FWNrq3`CtG|ILcRPdsvX6PP6?A4ZQqAo~qIWv0k~3?fQ)tpsT*c7-Bfky4 zZ=Bg_sCmaQMYJ|TD+xdy}q%S<6zjsc(u0Qjf89+J{_5G zTp1mgBP^_t+;nn=(Mu?-1!kYq;p8M5;|!L`yPr!ni$;+7M^z=D_!S24(h6AANYc!X zUKILtmyx1WVirAgcr?AE(tz>X!|k6be>ui&XdkqW-Z}1uO+HScK%WS@O~l}Z^*3M8 zH;>25Q)cCa=2t$U`4x3|rxG@RDCO|cIj3=pQIWU5zN0jGBqipwmtNIWe;UaGjoHI~ z&pKO)L*erZEhZN<1>4I~v#_zjwBOIJ?o`Z2x<Sc3Gn~j8k-cWPb&1f}IiI)izLR1{m3B3U>LSz0D8R)t%B*tFu_M>^fSM z9SkR_;fF_Wc2D1JT1ik_r`u<({iD6(_R;Ym-a3ONxc<%)ew`k`^Ce@#dN>@c6pMF^nGRej=rXAp*U0JTz*0pJv83#siq?sHPz` zl68d~6Ke!15qStJ39iUhSF{b0kWwl}mgAUhteXTmEG^T!Bg~z&IJm)+M*B@&&0ocz z?L^0tH05cj4Q@d2p_r`{y}FRvOj)#YQrV*EHAN|ZjzmE;_6opYZPo9Celuqur2L=T zhqw-*j1D}XKGsn|GD0awNF~?@n?x=p=%)0WIO=BA$ygcbZS*A%fg-P>K3uA+z>3HV zAtBL6`xa3Kf@S7nVK}DkYi6^jf^u|XPbIwfRe_N<{&*5iwMk{ zbkOCKhGaUD?S>Ba`HFx(dw87NyN`{eIp~UVJbRx)KsE2WW>MW_$>G#>k6rr1jSRZ~ zso`yK&n?lk7G`>@2fAlDdoK<$&f3*H>PeusmTX>bXWXr8{_UfHG!Yp?m?r-60I<%< zlimupm7v8+j^47|wB*^ss+^%i_6-z4EPc-=Akg)!(Go828m8=x%bo_2#5@z4E&K!q zq(r==Vp?1Ak`zx1;re) z&bI7?HXSkRcsNBSZ1zHvJLVLRJre72k^iNo7Ouogoq3Y}qtutcp!zMGk1lWVuD&`w zNwf`z5!~bgDtx?g6hGLI_zSQPm|S6%RuLdrCbCw@Nf{U7-pi@t{9_*!5&Qc@7(i(|ED<&TY>G_I9dcr}U^S zMY{aC&;WcJkNR-CJX1}y*KU&+uTIe|m5LU*?a0xL$BR(uOTHNHY8l+7nyw=MPM3G+ zBRh&=&;=Df9jLenK1WfX;bkxTko8iKKV7#YOa zPMt-k+IbMo5Xjuw?Up0<<9V}(IxKOqu3xE3!0Kq*nPv&Tug9mD;xOeP{4xk$*H{ATm7=xi?jPJd#EE*JTK3QPA={eW^6U>sSrDMnw~;7 zR(DnXlHxLyIuhjP5|W%7-PL)~UA-T=tMj4D&h{M>`S)973XizBlm6(N{;=kj9UeT( z-xGbQ6fldu8@&pw_nY(h%Wsyrz(>qzFqT_Mt>8@YNz%KKGrHbbd0pcx8MI5hIzd-V z7x^_^w2;j@OrIS|^AYpPTMYdpj7CVK9#IA>5i7L1(TQ`gB%X=led(p(E_F!coZLK> z%Z?1_IP0hqo}&)Gv{TF3jymdl=;GtqmF)J7Mj5s3%f&mZd`!c129!L6Ooh#8AZt76 zv2uf)o$Oo=aFknR@@MBXuf`GwHuH(d;~GI4&(Sy?b;haB`r;~jwJhnqpQ?JL;iIM# zF;^=}=r0&-C&4tJ9!)SE%c~Q3U#U&St{Lf;m0Qn@!DcBzM22s5=I}WymRK?=^RlNi zc*z+{ll1hd8Dm%#pEtGnl{;ixVC|_Ph3=1E0tAwxmhaOpse6SvAZOkl_$DWob0@JZOnmu2 z>lU$Z>W<4)!Pu3C%{PU|r=k^RD`04Gxf^i<&%!h3;jh zaMZ;tih;I0Nje_s3sJ8e=UJTrz0mHA@|c_1jc?&0=e3z^QMSei+O93ZV`7-!XkurA zQd*kVF|F*()wS7kW3;cbu4yZLVdsR;#=55?-M_Fip%(N{jIFbJClF`%j|-OfPJnUW z*a8(mFcqwq1w{Hj9S?xN7tObJxxFd z)4Up!&jJ3QK*P`PZu7zpm;&Fj2MX#OT~I|$AB_98Zux51?+-uX2^1wt=2%bJL?yya z^BA|IEVxUFjFEb9ifC6urU(MwMmfi1*p2e#kbsE22aG&=f>_=;-8Ya?#$yZ+lp99D zSEQ&XnsF5NK>@%{U}>!EcfoMHFF@7I150wb%h7B^f$8!StjGkl26VT*l5X~*(}zWp z=#=r%p8l++H$Do4ni_(lwT>dJrNX|9-Ki^>^QVgm=~i@@gZi6=uYK}qQ-uT#@i>^Z zuW#xV;(akrrk|ZDRIW3I3T<{@GPj8F&zSc1(`4KsXMHD|vpCPuaUZNyGj<|&?F?^k zL6hWSB6gkqa`@`_puK;ze_rbiZ?Rq@S&(0JIPI6nhEgCK#=e7G*~VCNTu40yC9lRf zRuh)q7ObbBB22lJ(*dYhN1Usqo9GBC*L!sfFBmtQZ-vd?;^q+teGuc(^j zm35g1*0euFH8UDxj6h8CNq5}IZ`!U1Kn7`T1awRJPCe`{5|lw$mCE8Jr?bBfz^Hp# z-fQKb;=a}HZn1AH{n3WverbPDa+fm#M8UUNo^$9<*mo$R;b7?sWQabIwX$zUngdZ% zY)D>XU10H(y6bd+n-3M?b};5F1p`fL5Bt*u4nIM_daGI3+}ZQjhgmdFK~t+ z&sH0yFmOi*Jud!6(42YKEdczjuD;EG!z_M7Z^jKcf4Dgih}?>cQt206lKYBYRHN$x zxZo}OdTbVx`OB>WI{&bWWL~!9@UT_ii@6u<8GxGtxU9@d5yMj~$mMjdGa55do5N8W zU&V^$Se#60Qc{aOuhG{mCi+PHY`PL{84ndY^p(-a>b0mH&~n3%Oy%#tS1lbiEWqz> zJHLX)fH&MQLeGn2-KfnXkl3PPTr7#H&=?(+q8yW$j3;U~91|?H@CX8z0Z?`A$L-zS z)ArA;BVYg#g!HXIN5Iubyt-~ze4{O0tNzGp~Tnffl4V6Yj50jSdtHw=H z50EZC=itnRqkU-8>A%#EIW8IMEQ9GG4eJud@Q@Ny0K^Oq{GMnkgKE zVxr+Gr(G>F2t{OLhyO9v5|fVJe!D0;ZDPwl=1|X}sKuma4c?Pvwf+STqVvtBbnPrQ9ZN?DU&YP|g|A;nUx>%-^GH;LKM&v=)bHf52VGuNM^1Rb9>&YtQ0)K_ys@&kJhc zN>$};Hs&|susBsg@h`uy=4+~;*+8La&njs?h~H{K>I&JMO|&Hfn>?HXyib1f_ST(Q zJ2v^hM2i^Jr?`wIEjV{AlxK@|_U~=V#vEV*xNm{%mv@JQt6KYPr+u>hx<#Q@Km>YG zkYZKKjG0LeSR(q6cj?E@_^M6YJ{gLUB9_pFXTeGWS?CZHdLC(=Kjv^yZ0jvJ0WEV9 z<;Y~{yUuPLkMjh_2!}`nm@A1ZBv`u6j*VpDVXisl`Dt5KZrH|UH`24yvMZb$Jf!iT zPWR7SBH!1v!$dvSGA4R-d4#cktav!sYK)upKNKi7n>@MI8r= zM&hq}x3KoIXe9QEcMGw^0!2i0i5FN?1=b1*tg8a+(E)KiIA};*X(T#|BYOl#Wuxbu z`pXzP@$ELf{6b8?v9Yq{p3Rvs+8WhR;3=x@%PP8`miRKGuH!|Zt2=T_(McQK8Mj!wb;RXx zc{*~l`Mcu9`udu>#l82sb$*7)UVtt~{_$LtL=??GM)_k2s;4gQBCVdaF>CMJJ_cIaCn0^;IrXTqo~G~&${NJsOm^gxJvFoPFF1sX~n zRw^k3B|JgF|6VL7I3?#06P)s;Qi4-*hLGTtEsznMG7%9W{O(E!;dfU+@JC`E`5+j* z0`VXmwYj7Nt~T#RA1xi*=c(Y=?b+oZW^CE9%5(16B~`y-!`5+Ju_XFbJGtHD_BsW@ z4r4cA7*{|}U(<*d#4;a;V<)GZfdI8>3nw5PPlL9K_6hXzaQoz^vX#qovzf4WJR4;nn9z^S3aAWdGJ8D zlsrmm&5MKN#S2bm1dqYM;5H5z)s16k-pFOcx}ZB#$0BbWmu-pp?u#`+}_`aVaYd!H;2#`V85cv*6uRWY=&$t@l|H5YmG$l@Xaud zBmDF~{MtxVOej&2FoxuFzBGegD#=Z!e}(#yEHEJlo!H*HgCW)kYqGCRhP7ITH-9Z$ zADN2>96^t-=_*pF7U$*yF3{dRKHT0vYG8P>ZmrJZKS{9+UO+4*l6lPuYtG5Z)cA99vW6AUe4bwZ3cQWHVekf0T`o?` zb5Zx1e+F9sGJYk_cKc~(j6AJ99N0J7iDIlg>ygaoE@hgCalY9W5XS*n^p6;{f)MBM z;$Gsl@}%^rfmo9AOR<-u;`7$2#21eMGFII>g)hYwL9r$!X8GrD)H5YmSd|{>dkWGe zeL&(XD8^120JPHF$CVHr5uP`Y=kf&P-5CrAcefY^zNVdvP(^Db!?7ua?g}VTCLI_6 z_mjURA#(gxhkJJbht%gDp%@t+ZN;>eK1%GIhK_MR4$Yzq*oap?UBO>n64ALEt{&|W z(0p|C+1Yj+QO(+Q*5}-HSOU|?`@7A*ccFjpLjMB0(7!i|;*Em2EvObBJ9l~VK21kN z%)~r7FplAi4wpK4z0+2#&F4k}vH}ItUtI3)2LT@3OpR z4-3Mm(`^JE?&6ZF9lLaZIJf@|WDw{jjTyYoRU{!CWRt!Gbe+!NPIepFh9)<_K)ORb z$xhPc>tz~p(Qer<$=Qz{M222B5Nrj4)=|ohcXc9I2L;6X-rMRNd*}a1iQ_&S|37I* zj&I1tIp-zD=3Fs}%6vjd%f0UnpqE?8x>#Q^El!bKf!&uoS3$`&zvLH1EV8$bCjCzh zdwF0YyIyI&Lv`IX>+~H9^8h%X2qwdCfyNzrq{Ia$RUm|XR$QMM` zko>c-_+Wsgnxbl#r2oQWild|*8g;HG6$^BpgoxOS0j8yFxA`7;yUoPnMS0Mot{V=* zat+xvF(RNl8J`#|C;QN?o8h$I!vqW~z-p4FUZ}jHhqt$|Um!zIFtFHdiqZZo5Kigy z@m=!&-ge%nI-bwc(oNbQJti6L7V}Lao_I`w$rTH|HB<&wS?@&OPKuT6syINK|K2)# zv~Q$5h+UG71^2QXS&4~LltZf<)VI!{)4$8nx`r08SWpl@@FZdAouGI&Pyh5K9?dZp zyX8xfRt_;X%0WivNPM2Ty=(64UNghLCK!yF4mRIlcAo;9>q`DqcZ_f--2Cq!Z&J){ z=F~}WkHVW37L7Ex5{hQHeO?YHe0{@8bfBD_ybSVgh!*MSKeRMp5u3f4^^~(=r4nON zR_Zb*Eg0|Al5h-!kTj=2OWdEN;}AV-W$FfeJm48i1nkyHe&Kh?^M+zVHrsFd@q2w!!gmBsEzE{aKRYpLG#YL&4Bjk+ruo`N= zQpGxrFN`P3VL2)GBJ%ZO@4E=K^NwusUgtJ>NnlP1b*sY%A0D(%PWO+_+d78|)pai? z)NPEhB^`xyj{6R>F{*11EJJ;m3`a$m-omaz~30Dcv6G8jzPS@IY%1BRZmV&#b_aY#9-_pu^43ZUknCW zoFXvZs3_nboEQv6ks+K@iu#+0WjiDkGcZMz8-T1~mOH-duN=~IlssUQnReM01Wc*- z@ZoaZw4h1dhj+-U{SB`6qVCC}_Ny-4`!BMP&W97TiX!cMY{su1fw)7Yc$3k6jXrQe zjMK!w0UpyId{sa3tGY0wKLV$*zQV3$H_$-f30^(`sLRc(hYz(&C-9i%m1NPh0-U7? zYS-J83P?2RR4NabaIsA*cWDmzME8|o zE1~K~$44lKws*F7-n3jWJJxQ1P%zK3+GzHP|8cqU+M|R3yC-*3Wurn8=IB(quM3Zf_ z1P#j$7UYC*rlX<%+TALOHj}6$QoVXA{nHMGgxn*pv4OKw<&kPI{l+Qmv=e>RoITL#0H{MH_A0;x)p~8#TaGtuTPz|0@T@EsGwU(ljwe7QG=>JTFnuKsUnVPxd0`wJFLRE&=HNbi|!QBWLJv7h6FVVUzQB zIIkRa&7ifFm@clkf{snH=*QTM$s;8`^!oTBXNZl9fRgYpbBU(4$5GO$avj&@BMgB|R}QAp9gx>X~v3u_gVn3rgP_RXv5fIJK7 z0tL*1O3uJ5M(-~<#)!L}_9xkh6F!I%ljh4w3yH7`OrWP#8##L)r%NamCmr`}2v1Qc zbIxVj?Vxv4hRPc3Sc6F}Bu!_Fd=7JUm3E1E#c7h;m!;jCro2&gdbQO$<=0-;=@Q1N zk;&CDyO(Ig&eCATZ?KaRAq@L~Sj93vZlCTRA07NsFT9yceg9V3lIFbJNFJ|vead)C z)Hq9SFa6}_(-G>CbDkGls+4XFFGp3~y$~~)+*#G$Qk{1i0d~zRP`yshN5k64ROvLR8iZ8 z+lpc1)|HbOPhpKS{gh2=P3v+vPd0!IEfRbQomGUOvWY@20JfBtV3l2!viN&NdHYo? z!ogeeOjDolNd+G}*#v6VY+!g;FSPs9#nJgGAhT;u?tj|fYyG@`-r5zE$rbGZ{hy$-9xlDj@rXs9a#Jz%Wue`zdO7gAv@{cE#oKK<-)~I8c;3_j%$=5Q>B~n zu{emLwE`qpwY??TvQ)IsftMZ`%%_;hDYZGSv+f7!M}CcDq#xXD$o%SedG-EAXv_X8 zf~EoRAcSD2m9XG$**J)Ui1is=hHo&h6(8kbN{{64*#8B!K|joskDXkSO7&0{usRD9 zv&{3NTWLf#HM8iV-D3_bJXP|L#y1fpTNr=dCvnPL6I@xMsabLA#di(LPSP=o9G;mX z?;t48qXLacWQFl$hsYq5x_QJ=z#1We)h)!yN3^7ChGD7XQ}KXIGQFT<@Zv%n!$dhq z3{%~tX3l=sy_)x`~a6sVuyV0A;SlDev`zXa)QK^%~ z5z=xXp`p?=!{zAb^RF0oTSnkI7~?CuM#g7-N=Kut+vZO+^+-?G9h7dRTA_QUa{VzY zp>+C+Wu=0>C?c)+yOK|*t_}1)`&-;n9PV$vhZe_Fy;H(Js|9908j0iKHW_DW&UNv6 zf>5(D4bmwN=o+1C^xN0&S(-LX2>LLGy4)r6Bx_yOk(7Lf;utsO!V5Z4k|p?d*n=L5 z*)dnbM8#M(Gt3}u?S;BOjRjF%7m`cR|8ME`I(c;dhNcqZ)5p$@G0#3~v)W)++($}a9UZFX1gW%>KI zZP8bu`MvkaV(+GruuTse!j-N!r>kDWJz^4man)0*q^dHv2H7bJ=VTzwpB;#E8X=Y| zpXQD(^@SLO=Mbc)W8*l2UIGMflyUa3i3eLV3l?Q5`X*@Gsv4gfaK6^7UeT?MZ$wN; zX?LfuF>fL~zlU)xw=r!I*en5SzeYXGlXd6S$=pb3%dq0x+!(81Lp~SO@ z%@VRC^odMWjHcztAm77yL7nBZt$cdvjhz2JS$uzwWmqX1|K81}e`Td=`6CBI|7hme zYh(KE{uvMIo7VPj>$FXF<1^TudN<2#VN`A~|Dr5Hd0qdrxWxN_OZY^fxJ1Y%!jk`D zY$Bfw$Eh*jcqzV=eZH7%8_5J7iF}Jz$orcwG65A)KDXD1n{G!ye**5W&PORSl8CCg5o`^IGg0Gxi$r5t_$5cjSA_=_kfIJY;mAlB?-DsNS*}z zSq)CXSnyyKo+$wu+JdRZBzm-zaA9@4#YHV0ZN4Vvg|8^c6qW3*t$htt5@Tw&6z}W| zBZYEl0ZmyJ?a~pkfU{tLLQu{r8_BP;4>MU-a7@v54h?7|aT`JXM?+eU1m8e*T67d= zF;yL_BHK)UE#SZ=S_P$>iO=1Os73qN*cEYO2KTM!fhpXWzx|@N2^{TvjupSqhF?m2 z@eY)eVfZ1aVIfd(y6|fWX1@lfxe;W3Wn`=c5o`ZfYTqL=ZI`lGibF85aQW8J)4jHE zk8Kfr+&DN$df|p)RZA?71Dlt|CpD~X5mdCcnO@iGOGc4d5>dqeMz3LaW-Y(oKwzIARiQQ2TvNgU&o=xLD#A8(rhU?MWvUrA;{`Rf3W)H z@BUvgk+J?b-HBWriJAI~PVEcnp5)+|vJlliV|%4JEr>3$@{A5FDH>H@1V*kJVJ9o~ zxeagK;pncN6RSiAOLABmciX7?Q3~UH(iSyTYv+w5j3-gx+s)fO=Nrd+`dZNrQjp&( zyXK6nX{Gep5lW@puvKOm zFbhO^TBvnW$w@SySpF)YGV`ni=q+!`x-@Byo{!b(j>>c4G(iq zfVwx4K07_KBQ%*#S#ST8ep%64zPf83V@<5L7ET z33@`?5z=;VEFo%w!yz$M_F>D_yEGQz3uII>kJS=E*HjXD*9Uk1%<^8EfFiN*8y+Ct zW8wM2n#e7QlPBK1Rziq19_oGp%M1D}${Ncjwmjt5M}k^11vIq_MB^ng?@3hD%2d>S zpO&o=c(SG4Tbvt>+o=A17xC$Dg)b0*VxLE zoM2L&QJ7<1xf|bHE>&RvX%ngt_*a|GvVpnZWQN)%Ia2oUD2W2eTBpof5j8oQ=2J+? zyD~UXnL{OQQwa0+=teON_}Lzgul1vSxZ_l$s9}Tjqb`Yo9taU34==WQ^gPFuu`f$T z^<)Q=c{FB{)_ZB*O-8`{M?FGtvmjsq7J+~8akDIRE-TzrORL&0t~4$IV75q^WX<*bV5v6M~iXzoG<92_Mh6vBTAzp@1>=Sh* zj;(W%*Q6v+ugIfOy`cNQE5?aPFEI9UxrZdlZyYHRrzaE?sb6w*%WZf~Z)#-Jq7BPH zYod|qb<>{IC33#CFlD54b6Y+?2rNo8GqOI1R}>s(NutG2Vq_7uXGEg5+@r0N{6~ow zZrJrdc6^KZl5Nh{`H=J?$RwQ!Cw1WZ&?dX5<2iy~7FgQQ4ulHeI3I*WX~+6}BQt0P z1CsXp#v8?WnM8PLWPB^a&6bOJj46Tc%eiu`S1+|%6TmiQ2%1wHRvQ$ig-Ur%Z6u6J zXhnU{>#C9Pf1MgZbPS(HaVxcJ$cB3V`*5XZg{;7=Ft=Ty*o$XQ@nOE}ZgbsmbN28k zBjDllV*p704Ye_I{td?$J~!-+2VC~82Jh~)N_`&&d^CI!ee>~6Q9SmY?kZ??0t}C}KfRtDcWWCZ8W}vzA?s9%J~G>670GKQnxK1NoO5 zI>kAb_0f?2{ZAUTdA1?N7x0Fn*_^kw0%2KCzNEFnZQ~6_iB3y5s%7pFU(k&+-VxIs zHD&s*sg47)smm%(PdzsB#HQ6vZ;h*gu{s&sRZ3BGmPS1s`BHQWfx8=zwdYvCE$DjN zd7>#yF=$&utB6u%^5j)M+b?Xs zE9G9%88`5Y{ABJ?gAJL{3Xyny_B+*$LQggFo1?rNbldbg9RNkrP+13^XgTeSue<76 z8vOq7_MIMM{DdMX=J()?oilE6E2lg0%r=+Hjr7QdA^jl;yXk%Ma%{wE%WY+^MOAw| z#y}C#R^2Qtx`?_8O_uQww|&^tKUr}V+@w48YGhR6;j2zm5)?0RmF~Gt{zK=tWLKfU zQHk_W-&#aBf7La0)m+yx;iP;Tu&U5-YahnBNg#O=4~OW9F6gMs#AuoDlp{1yw7C^d zvYQs^MRK@*glnvQ(E71;P&XUi;r7qwJ(P3miBjRh+Ddj?d)pTW=ceAKn(#xXWF+BN z!2wxp9lOzpo$%ZS{o>_n>f0;zOR8EM{=8ArJ>*N*qt%iVoyQY9Ob2Gh)1kmmbbyLh zDug4iFm0yEn7q^WZw0+~Dx!MxzQk#+s)jVt^`3QblDfqY%v$&}M0gYLumL z3mXX|v(MF5>tN4{^iX(HClb*LZ%bn;(;g6h5LSy`7A`y5*|sd1X|-MuKAi28e#|Z$ zo%k1LQr*M9BI#1`EF)nCSG^5=33Er8@$o5JSwf4ZX?1)U8P=^t>fUJI2J3T;FJoKxp&g*j zLZJRkeKxaYi&CM0=8e~!EADtC!PV>?+`5g%OYkzaS7HBZo>f>TnS7;a63QlDD4ay` zzE5=5`2-Ye>Xo!&hlLC{Of%pxhKp3ZeJDb|bLl5vMA22}rmfS$b9INQ$j{lY$WUX| zbPm(GhAHI3rL2@aDJFrUP2mP_ICE&IqJz|UcD{RjaehBWd*2S|tXEbStR65a-wZ!0 z?8(c*q();rs7^LWdKnt>FgGa1&_rg4$ln|H`%4ow<RrI>PV;bcpet+(i%LjIap zkiTfjJCJ9HC*mCv!JC{#3UC!8aV3WGX7O!X0Hf@F9N13sGfc*Ij&aKsvfy56BUv0x zO#V^1R|;Ty(^1WXRu5D-DAdoo9Nr%zPUbqeOXAfn5b_7=y0H_+WW|^X-0|~f>VO_44iE2b{YOEV+waC0f zzFxNpY1hmLMgeve9biwzMFU7O~*RLegYrn}~#64}raN>$o2|x+TxC_@2(X&Kevguu8A;KzDA3(*e7#VRACH z^i3{kctdNSRQoU&AYFT>qYtjiL7wPX0%wWV86fiZ)x{niTkXAWou9o^D{wlnoGNB+msu|pjE|1Tvo=6jE#rl9*HfJk;9;(B z9J?Uqyf-P%^H(r{d5t)cGe#VsPC+HN7lRTV?ByU=UU5xK$cf42C{o81&;q0$>G5mO zI7?7$_X}QH-fb}~c;8vjD?uaRn7D=tWFM_8lzc|SnFRNv6y*2*@MF@+b+UW>%-O#Z zKJTMsOrS;R0_k8ly}n_IV=^2oiKCfMFm3!Q$S>;3*^ok=Bp)d~CcrgmHUQrG;VW!6 zheon)hQbJ;Cto*K9{TGS3wN&4$z9UVZb9bNW;vZvh4GeiN^j9d)*^usViJdB<$DZ@ z&m@Ud0Uny&0{4=cUZ-4{tLh(D0y2TWUId|9RQxoPiX3UYZs+ix8Lva!k(2ES%x)(K zdjFWJ1Sjv)bW}X0q^*G*$b-yK98QT-OGB;Pn9Wd$r+B~}Q9fH)-mv_nPg5&D7m}cX z(dhyqs4ym$a74`|+XKwdg61si6AH=`J1&Zlp~SwhE@lTJm&xWt4k8AP7hBGR+FP&+ z!Ga6ZX^94hObW^xWj5xpWfT0{WKXa$Sn?2f8VZcSEY9DYwzhZMr>)of$4B#H`LLH* zC^q7Y(ebxXX0Vy}9j- z-{;E`2!mXor&r|BBG_-CtX#wY+kDa?1&3`$T@-L9N_0lP)9tf2Fqvnq(;r*A?Zeh# z`{)#ux9>SO7+p>hmO|$pNq5}IZ`#NT#vfA3Uhp;w17t1A2No1>Q#?lA46`A=z;heS z+2mQYxu+M;T=PWvX`2osMdQ*1DHUTGcGdF$?-mz_K<`P@$j z*OQyNg^p>S6JybSOf6BD-o7(ZGQC((qBM3fl*>hY9>ryHxssC(#AR2DCeVKtg*b=+E?HrwxvPPu+ z#2%Z9Fwm6j&IBKgSz1%)bpkrKgq%gHVXD>9zUir6_v5!J%2Xus=#gF|;ui~KnGihb z7H?LTv%iXxBd*Y1SiNRb*kyb}kzBRT5#F*K_4#JQm;`&BJrD&GSy}RgMLB7@#YyKZRDA-e6qPSMU zpxIm0b6^||N35O*LK1X0ejG~?O1MBT9a&NGLMH~<30QR--Q49FbTjGndUT==n*z@@ z3jZ`n7+ob-LJ7(T9T~S}FE=N7T;AmxU*ktOh0h!7?MbqT&43E7pZl07?;oX1*k+vN z40)2?jvDmeRqQ%7CZaSpWXCpoP_wx1!c#!|DWm<=puHd#kV1dWQnni9+GME(wvC4r zPzviOR~_KdJv#y;{1u}#Uv!>APM*O3k%{wI(Lbwdudz7yY~&g8AA-G^I!!rsnpQKB z-Upg*n-$0GF*V@B@qw0Rv5@u}E&*3SVv|%B-yfHX)SP@RODFsD>1%er0gZw&>TltOT_(bw)e{Nt&;5!pWOo z&iGa~LlFPJC1OOg035c?&bD8-m`QPcOl>!-+K=bQCtMomc8R>KipQ3tVM0@{xsG^j z&8l_+UE1G1uxqlj-7M^Oj*s^CrN&L#9~C$8rgfnD!Cn@#Kx2@MvzClBFP9}=9W#;o zW#?djrwu~YUh9T!V- zz%{I7_9#Zp!p+KAkCGz8_&6NDU+QHu2jr*Y(;vvYW?zQG@(-L<7tdwcw8#r@h0gNv zf1j%;0pO{^Z6_Pd^yh6Le`zG_E0|tRuMf)K zfav@eOmF#r(nNL!K<55?9p?-GCi-XFL1y>WJYASr`_7vo-;^TsD9C9m$1 zUV7D;_9tHANZ5FQcu~XaOytmkWmQQ_jP~3tCm4eiUv$_4j*AGbmt;5V3?}--a@6UX z+ya&#wleuDje8bil9&oOOKAy(FGzC>|dBl*@w9ij}F#-n1{~3;%29@Xe z@#${sbhA2_XS&$QYOpL>LV+J`-27|2jBx>j{&e}gyW4x7w)U>BpWkH9`=iqjKYw}- zY(vQj4W??2|ACs+lB9>uKW1pc!Un|Dh9(kZD$K|T+2`h1#qARLq(D_bgU?>HO-h5| z-N%9uI*XH^7=S2*z)_>ye>>QJWdU+M?zdu5rm;o=RC3ZIXb!iNRPoUoT77x0tauLs z4<{LnNO*)0VC!H{J5&1oa<29$FWL~q-of_ydF#lptvvZvMTuImm~8j^>Xrm2*J39@ z@%jTkm#9qC>;y=wk!nsQ`JnAqXx-hb=r9-TtVtZNElrh=>)!F{PSAg7saw|Z*R7-0 z>GpZck{Epuv70Cne`M!tDIubG5iIvN83_1XFyJkn?cK3aT>qqs|sQs7s1uYwc<(NgboV=0Td z>M9UYq-224j?(-Lt8%Isv67NkiiRGR=IQD7(d&Q#>04?g z14jaXz!4<;eNiRSVEp~i&R;%jg&W;Gg0pD$CGDfKYE}Gz<|Q&vpr(8O0sOIbdbWQY z>_Eg9RXVXuktT3;!eKK`C? z2z+lFrmX~tKWUS2v~OFw^Iaz9U|ycqYe6&WvvNe41DvG?TcA(@Alq3so;epr8Mdd> zaR)lw{<&u3Qb6C2|MM|{VC8QJQ#t6-A+f$?8}(;qS0>OX{$EGOSXx5s%VT!9!W%M( z8Q!^oB~s`NElRDCQE@MHx0v6dKL_oT)BPinYEgrTT&*-4zqxW_jjOBbwoqSvo-94= zD$_#_9Z<#$I^B;-8`KG%_v>C`;2kKa{4l$l(R+?Y@DiVTGQ?^lYyp@k6k$`M5Ls_Z z05K$#(pA~kkL{g{)6>?`Ihj7-5x7Dtaj)p~v&%8+v@pSVkcpvss!DR!L*KuOmD2|< zp~<6M=(WNL%@a;I87S)Z`tLh2x z4h81!2o0$kBjqb;=i)&3#15X*nS2~cbZ_u)o5f_F5|W7qWBC`P7{=SgA+pB8xnLOy zq2&=eIr!?ZinzkJ$`Dux~0BQh`X3BZauOEHyp6dVH87TGID%v#NvdN3&ht}y)>p&@e zwe?2QY@+ZCA|>s5POJ#D3fbM)2XJ)XK?n1Y0~8nrao=)B;g{hQFXxkqp5t&_;UwLm z+c8&o3^nP>`AvuJ1ZBMhL)3v@TQDSQOgz7vFyf)v@Bhb6yl$&DFG6DA-Rca7V zV~SGS%TQ74=-XDBSDdfpST*pbh+=vr)%>ylsy$3}R?wNc806Gan)nK#J>VQW77ISG zO4il1I16A;yYpd9&8Z(mS#=Zwtie$q)|~<(K0UaO)pd8{z2oXla-w{rJjrOP@%FC& z!KI@2MHSu`R3Ki!!8QFV_9wTJI3)={vwR|7$-u)jWr2?h0*Iw-`3Tg4a<0~B8lNZP#BG% zdRWG*Zu=w@)V6&Q+{$iXm!kS^DG$VG6;QhZ-3E7{c0bD}MPR~`J}9(5VH}1c0P;Pk zW=F~>tZNnGfXV7(T?;72xM<&&HV!*4$uGeo_VAmbatoN@VZwvflpGKqq$zh`G#-A)dUEaE>Cm!_(Fxv_$LpMU3kFI+-zip7u!w5U z>PCI&r4taSash&HmXgC^Zwe!tr(GOge7E(be^~kKZZPS5qIrAEppRfLd8enAuF#_2 z+^y4Y@{#U<)177-cl#o8Ho)ZNdHP>djIThU>JgZpa*X~!SAv%l6krudlu}WMRTqR* zlk^_;70De&(;<;68NhUaMS2>LIFHfPyp^Kw)K@hlN5|)_=LuhBm+%D=Sq`b><4rb6 z$!`tOy~4@Bt4mint=MTZR0>|Ye2qUVra>HB9vT=B8U-~3G6FeM0(_MY*K`C<0K_$T z407|Li|(brcE-!t=YrQvh|QJAX9}ES-eZILWSQ>E45s})tWfSxDcNXyVtk7qw(b@do`R71%S;h zXqAmqibFux(lteKKfdLn;nrU;;FoWgncKWwUS59pE_uuG9?syuKVp=Tmv4Xg{qWtp z`_z*HbJUUPd#Bbetxz06RRMojwv!K?aYlD3h*ES^co`vLJvf66Tmy8y9BmJC$#ec+kbuy8mK40)9*W|8YqAu3Bb1{1)3_GoQW zeG1m{3CceH;V}hPczpPnj7=&Gq_w@g&j7(YymH8U03O3$clgaX#Zr^(L)yRN;b|m4 z!2Zw~orTI1S*Z#-NwqB`XjtXl4wGrU43duH<` zZmzj_07fsX%R9mCDR%)uVLSq^!B<}-T#D?BJq|WthlWw(phHOLur0K8JCP%3AGbE{ zJ)qLZ>>K~syl+V4ICXJY03);>TJmnQfeIN4v;z`EI_9_^hz?G&8WQY^9tMqPMj`|@ zlssl};BkYy6%__(!DbjcCV7l~evC`&u`JTZGEB?KF_!q4<*CP533(jBo6ZMhT>~Uql#jW{kI4k!G~Cl$+I*PB@~3ELqOYsmjwB1QcL4 zRS|ZOj(N2M!3cslJqirL&Kctl^^5{h&~%}jZ|5=teeaI15~mc(L|Mg_lM8hG@J5rn z{1K-_sEmLa#$pMYLZ9yk!;b^nyM3uoPjcY~|Igo~^&Ti4E8PUQ5$IEdM3#$hu@@HX zi73Cm$a*i4@%$rsK@I=d8NW<^C;kLWiZ*z9^&#sdFOJerlS3jTQ|15=eFJz>DTy2< z6;bSZ`COM!H9wmX!`9y}^M{t^!_LNPUcdZZZJji|210_Yncm3{j4%P63pQ9N%e;Sl znN7$egeF+6CcI)igx48RClMIFO#3Nb5Xx1YSFBIdoSdqe1CE|ih!~`8wQcjRqsP?U zb5gVCs31JWX!0ysSWEu*w4bc5G{0X+ z+>`tdL?-a|fbMpj-Q^$$C)+(x!+|M*R687lR)5$TOgsIB>hjr}>%QRRj~lCtY|BupmVY`^ymoIWvh8 zm~c0Aboqia4$;=C=73|OeT5UgQLK~6{QYWQjr`xQPFakbgdN5%oF}-9Z8BXWeYlzpF~L+d>%DP~-`^ zDTe%mEq{F|RPBslrH?>6oP;L>Y@Q?65UMKYV-{54W%XR@|WeR6_r<7VD9FCA&aNPvOuhPVGhT5J~1578E15)Iq0wdMJ$<} z51p(p#*=j52F|Ebi-^6`RW^kuA3Ng#?I)}cXzpsSGI)39EmT@y+uqB>u#Jv?R!FfQ z`@`Xg1B9Svx}3By>@gn^t8(~%w^(uu;+F)L6r=~~M+*2T5Iocr|H$5>v!TtW;_zoWhHVWQ)*R?u`o9EM0sNvs|zzGmr!z=6d)y;7d2Ga1sn;s zkKhozU4};n36JU|6v`vIxVcerbs9-E_yqRrz$OZ;sq)1j#r6y@-}(Exnt1~S)?2`h zWqfPOm{;emj3ga%c$>Hfw}`2GbPM1OtvN#mjg}lahE|~XaU-4Pe(_0ea;Q#mtM@;} zO^Q!&X;)N8p(KZ_l$?U{bijRfN5z?o&m>xWfq#Rxmi#!?@AdG8sGLYeZ0+Ehr{8f&Cel$j4!# zV#NWSF2_d_J5&uul5;oxYN5VMHl|3u43cNjGP(BGDr<7!+VEu-aFkN>`2a1`;?6uo64YCkDGLw@>wL zcLAb1?G+%(au1}OtAs@341`OG`0C0Rr4cz7P@wCvInL%IW2dGj zEeF+VnFB&1)S?DRSfitAAju$qL2{{fLY9C!L5BzBatK6U3mAG`QBFq|d$r^sYbMKh z7xITHMR2FluL*v2>nstM#r~CdnBX?#cw3+-zGRcw*rQygxkfV7 zju(N!rs_CfIGz{QiVk3k`@wMhp3(-Dbxr$TfW`pw86L+&ZGre?_qRnDBsCveMq%)li@ggIJ=)5!ROwXAs z?cwZX%Ors}S5`zK!`;D0uGzFddYCRJdPr6qRW^yLUShjec@Ag$Snb8mz&ZO0AzS68 zvHHw0AauGD)QS`ZK3kz(ffOd%8Z=N1uxc?H+0Sv&jMHukLR~ivEeO0!ndYH+={pcg z_3vSC3`MLrg6+^JdYk5}YTa5e(XRWLe7pv-gx(N}h3gWB?lMgWRcri)k|8Z*Gw_Mh z1! zc>8SS9l!m||ELyLRSTxN)Fy+Y9&D#FCh&Oey6`SOr7zT^UY&1Y*}ikzYbKhQd_)%Y zI7=(&<8(C~*6Q>qc!IRRKXP8*m`v$S3ZtF;G#vMP3!84S&kPEgq|d0IE5r6%HT=7y1>B~yHZRMxQfm=Y!9q?+slrX1DiJcx1B3lMcw zQblZ)gEE;(tz~V&0S2$EB3X~*AlxGc`0gM0Qu$!er{9?rFoq!sPs)u&)%%cj6folo z7OQEwlBl}uBcY8$+KUIj!)K%|yQYE71X=NIJlq?SjD2?{GU~+aMoy8JzemhKmACPB zND<`%`X`noKMh(IF!5qSf?rDO=gQTua8OLxIq@8~Lr~c0_yL6hl*}SdimG9ITBF7Q zdO(H0g?sB8>PWHNUs0PoY|{DT5SY((Q6c5htg~qO0rW>&NqQ#5Z*27juruMM7XXGMN06Qt8 zI803{jK!>qZkx7bO->t+)lU03VOSvjky1n4n_NDrBE!%gn|Erh1?;t9txWaqsS>(T zaH#s!&K=e4S?rC}m56cFQVyz@>Et75A=ZTALbkWOhRH(vDeX>GtfDlWrK;(hV}-K1 zY?<2fSjV+#lE_M3F$x=YWGCsbrM~cIg|{=uRo`H#0tn58ammaG@*TxHJAGwSu7#UY zozGky<0B*XSj%6AocMIdTXWPqg2AqvI`nZFvb9hY?j%T z*!Dp>&Bl16Y+SXLZ_y|^3MqHA6Yy-8ig`S%wn%B#ml{3)RLkAgNYe;8t3JHTr{ght z5$Jnxz`jtq({4#VhE>8)hSRM6=QLaXg-&1Q7kh_TDJZ2CuO3TiClXS36umwAMht6a zyfU(uP1qa_Yp~WjXdSkW&fCX(b;GOKz^2S?Ks8hH4}=D8;JqaL@Ypy-Bh!A@RocKB zjskV<^~Ghhm}M_g^`CBDJj!XegQV^2_5u4OiW@ucWANmM{IMlLCtT9A57kxmC7pktbb ztRtWvjWkDl&4@98t1oUJq1meF>J-=sf3~_4d zg*##o@^a7*=c|1wA#d_+gg>!YnA_Y}V|nKl3XV+!3w_@fOEJ{Y*2658&*p^ZHLPvT zY@&wQDP<@3Id;`VIIxZe0tq0YlLnzLd6 zdJESieRLNXnx9a$J4p}0cf83JDxP>ySJ$wOK(}@kX?>N>} zy`p?pPND?vxt<_nW2C&TO&^tXW;A~y96Qr;OgxcVI9T|Frif1%yva_i*@;Ln_I2=> z@M7kKz&$Qi&kIJ-uoh3QQEtZbchM1Us*wTaxDz-H!W|-0<;0Bmo5`J@A&^aZG#*}$JGU%lr@&{1R})Zy(@l&aOl)PG_VD6Rb_tp`sX~L^ zQ+9*I(-?pQ??6|Q<6q=sn$f;Kx=3DA5dVI1GQGsCDF<0M9pvOOGr~9d4Qt;32W#vh z4rhWxvWH3-p}eVlOjNYxRn>+7Y@qfEKx)8kDEcuUr`E}h1jC!?s>=o4H@(!3y*EQ; z{>&!YY5?5%YT9og2q>KVw155vbHQyN{gV7d>5|TW*(8pN_iWM+Vz)r6BC@296vm$X zHW0#L>vZQ0RM~#Df3Sc43tDmZ_Ro)6XJ>fFCfQCXht}d_q6cC$4=(8{aerx zcoE=DCyO6DBfo!`dopYV&1(Gi3dj87tab3WW4ndlhEL)D%}-PaB-iZ9D$7Z~Y>A#l@5q`(Av(SHS^l1aslqCDzi_6Qu!iK3^UJ>&ao!-W>*;N0 zbc5GFoYw#u<%k^LYI^(eu!ZTLD0Nw~^63ix($0$hyExD#U+tftwNF~7m<4G!*;q$~ z8<)T-oq@2ufE~$*&ZU+Pom{D{)b-oFZJ_SmN~P8`?|wQxK6>3gZ5_0>&svq*Y8|up zDFPa&?6%b#rtA|$ma=7RNzgbKo3h-+14KI4B#{t0>0o+`p;(WOF{k6j(Jm&IJOAaR z)u>j^V3D7-;MxA&Zv708yZdK5$4BS;ulXxxw1i(OZ!u+M$B?=>tTnU+U?5gT=LGMV zW9a8x^E-Z4US;Tni#HLd47=QsV!)%pN6Lsa2$EeA>878SRzU<=-B{M(w8=(bBGbNN z!@Vl~40#$_Q_<_ro|u!@?f!V$K0e)ly??ZQP)RDaXLb84Uf4IEYu`B^MKQF#H=8tJ zZ_xENZYiGqAtdAl3=QzA@Ex5><=_%L9RofC38GFrE>NvyYM_ z@_CYf9JR^X*(QUyg^huQSrT7e?C$;o?Du2`=;OToP zQ+FxqCcB!{vfih9rRD-yO6avy`nHq5uYGDHT>ew?m%k(z2g!>UE~I)jf$81>?tp$6 z+M#mzkuG;#!>X7hk5RPBAG1>%EjpKwcG@a!c2Ckrs^*)Gq{%JNdWPyaCZIQs{?iA6 z>6`FF5`tKDL0pc9@6$m5fL|v`1i*I;;Bbnrdi}d4%9fU+Z$C{BnXL2Y$v=R;rzDGA zT>%S#0Z>2FUW4V!&q3FzauPPX)=2(Z4@Jt84xb1Pz=PIpH7bV&yJ52fLa8?%}0)hpz9}prx^K< z9wo6-6r*1YbX)-X9U+)3-yRGHHJ40)Do4Pbh*C5SI7RAG1jabnc$q>R0y#N9epUM! zXrof|05LT9R;LXNV4c0$-#f2av-Ilx_+)0~moMGQj$D9pL=6DgSq^Y7b_Exy>lH(u z<(50%+dFHW6GkNn!Ni!RB`u5%Cvtj&q2t;@YO0!xfcNpPWYX>8ou=Iq|1oTPe znc&;N)On;Ziw+OBf2Lf`DB-)6ZabeSSu@J>Zk>}oXhpRqqgRVG512=1mR^#qBbBgz zQ)HPCwyCJTaOKnEV`{lsRshtN^HUfr(=Sa1$ymIW72<(IeylGy*OpgE_tJqWKBm?^PBvL( z*Ei~RKm!1DJMiT>R>EtJpbnuLJE1@z+TaBwj%-sBj-e8rO_J5#%6BVi=W;due$~Vo zCqVG0%y59zDw)FYURyRX$4gK^+2A{qMD?3GH$dFc4GCnUA$yG|uzBYy<>>6N5%T3I zx~6x(M|&(~yw_rLcS7V+sr`2?R&&YbBS(7S5G~-E?PYlJZ91x9 zRw|*-#(ZSMLPp=&MnX#WAfQUe32QYvp17X*81lVi&2oRgx#LR#6sC2Xt77o~@!DasIAK1y7h& zXbDO5Y+<*1pi?jZt#x{g=zUsQVVEt>^Gv!BMI!2}*hha$$HTk;%+B`Cn-+svb-<8N z!@vkPOOH_|V3EG0#S-|KrJCDVzfT);HE?kT6v^r}Ht@aEz(t;pPdJRsE?zGv1GIPA zYVm+JSIE$zfRN>0*HrX_A;U+VagNav2WhSDP!T$v?Y!AOt<)a>edV!3LEERV&rl;+ zSwU&@DV~9RN?@(YiMP4Cjp^#3%GGqh0XQu1xRw!o4TZh@Eik)&I)I0z<~vJpF_r^p z?|WNmIy~fgK{MgA=Bm3N%Xr|o)n^-)6m_wOYp+7cudW9l+Iyf9QP-ZWtb||1Zc?eO zul#kxZ4rv-uLkKwx29#`+&^exWH$|Rfi1qA`Rix;TL?>^o$nrBoI`2;v0zQgN&B?* z8n}dDx5)id`XVUWw;h!&hW3F~piDYlc|#ey&hg|muVE7UYEsoTkRVljr~8h z?MCvd4kaB>0;|4_2}+a7->bq};-y~cQV6DdJJMfj+n_G#hgWqnZmigQ*ZJv@LZSc% zfPwI5Awkf&7y=rUp+Vl#xZ>@~8aIvH1+fS;AJi+0mX4sI;uq7Gi?cV!r{|IK`3;Cq zu?qV~vEn$hk-}(zbplp(%jPO=KnsIEZck;fBI8tV)3B^7{M@m*iW>Av;15 ziI~yPjpP@fJZgfBVm=CCGF#MsX(YQpZJ+Kz{k`Khh;JYyonGvm^NwAoJqxCnkCfX~ z6if05`coUDWjqGnZSA$cEs{1=na;1mvW2=E0{u!nX}mmK5q9fzn^afbgbZyIYt)1O zUY!eXrXz!IBl%l^vZggbnmrwbzHw~-77QfMIR_j>N4v)~9IuhNG2CHsAo zg6iWR(X{{<=$YH>JRNhW31M~kRu%o@_sS_OCH{!6`RG8;B2CXDqkS97+$!y3P&yFX zP!p;ZkfSZNh0SW|NOz=6aw{E+uO#8}G4Kl)4?#$_)(C`ce!~IyYEmyBf@qE6aR_MK z8is<#ziuonp_px%o;j2bm`RM~&qj`Qr7$kZdlZ*srIdf8*o5N<2na}dFZ&dFKuFP= zRZFX*exO`jsK+`SCt^>``evPC3%T?Ri#`ZUU}T%G-Ln(- z+$0Y>-7!Vn#XXCzN9Ut{#=q!#f=j0-2m9ye=o+Q2uGF%6MchYJJ-XKLHhV{r=Gr<- zLkMF}IWU(2x$4PTS_A;yW}q|v5&(25vOT&QL;$pamCUG~4tfQZ#p2Q0FRLylHM&!c z?_#|`J5MyIRj4|v@KQeWDBp0*0=;`*sLF)h;tSILpu4j)rU$C(2^JK-q z6hq;;D+V?vG9C%My4Z7T7FE5RUOAPHFV5#`66&>w(}}TNAgl^u zJqmp^z!)VIOLgVb%IeC-%1U!puE$`k0$d1^YrD^(kbxs&R1 z$~yJP1_>w6;CIfr{dl-@eA*(B0No_4bhpQ*cJl?DBKYr!d_+)SZ}`stO}Io&>cbH0CwMf7j4jCBCJAio!WUa0$} z)CtQ1{fd;Zj#w7tcchecys{v_Bc&|ubwPf|aI)md1@#aqhj|Y7U+cR83-0sQU9|Mc zYq^o2%j-8YYODn{*8Cbwxjagh1^a1B(+gk0Wamp)wLd;P+1^19qopP~G@(Zmu>l~f zkK=5TE~Vo!FrprZbRG=zQK#$NHUs%~`{LldeSEsxI;AUF`t%6s19y+J^WFWUN^Qe- zD`L+e*k0tLyCk4nFrS8QliCJfUZd!il5wF!H>1gSX!*vz?r4V;;|S&y*J6lSx4Jg~ z-@WaJ?&~soj%P5-A$4mZ!=`b(!y=R}`hnvUwMk|Q3xl{66a|Frf^^F?fSS^V7(i{w z9gy9ir~~zcTu8|s?z=1NkM6CagwESzyWQ!GyEhx_?RM4m&p`d>{Rd3j(C&H=s(oy`^9IG+fFN$}@-`*0D86TKe#-8(C*-i_`sKae-9P2M4BhgY z_C)O#zbAIA{oz$fw~!3nf7etEbxT0^m1gH5+B$k=fJT zTA-hmnFZ+v>juF5>)ezWe5UQDwzgrDoFS|Bns_YR*w`eg3%G=-OT6CICDsecleP!S zRX~w|F7IG1v@qt)An#*}CdW6|z&=!ts`snj(oJL4FKb$_#d)gh`lIU}C<49o6ApS! zuKCsRcA|MeMi7iYU;7CM)w};Qx)t~(u=R3xK_2eH7D5Wrvn9S~Ko_3L0_xDRBepob z>#jy{T3adToePI<^EWl5zs4Xn3wq~5vU}H=w|5aS%jsI$G&0ZpT|+2t$I|a(aAtK3 z;n>~kS=b1inUiKog>KL8IcYW=uWz0EO_~kK>D~IhCrwMSUf1q7X$FelvHMM$f#Y=R z*?lLiErTPb1Q5yLitcy6TivZUDHG-npmR1j6AscSKex<_}xw2Z@ zHy4bCAJg%uTP(3T8tF>NWr-Uzr;RaM*|f0$X`u*hw-{Q1YB@ufEakSyxM3>FS@K%@ zJ5-Tvj?9qY+&kddek!ppSH2-qX_d zk9J!>b9WEc+fXq1tHZRy@83DxvGn`v*!RDd*5|SMYY~p8+q?Tem!laiaxuHe>w+T9 zH3yl~6PY#DpXPUE-`nf$XHe#Qrybl0IGoiPfmjJPoPw{1v9CD88*@)FmIQ=WOJ+GN z5=;~qSt*%nF0o#Y3CwnLB}u+7M@C9DXEdjZ&FC7;$VQSpEAL!Tr~p!P)j_KO6qG7k z6}r&(vmt%wv=>_(H1LI(TV-Y}55G)oeQeBHAc*yk%_Lb{ol#~L%B&PFl8y3J!k<5Z zrdGIA<|~3E)Z}=PWwhV?$h?*9I!zMUl3Vtk!(i1RIgzJ~D7S7K)ZXoxX zn>lLujJL2x$pB-_`+Vq4*uN&p#_9@1WN zcz8iU+H>z%8b$-Ys6P-At>Zh226`z8bDY|ppj<(BW|u+{+nimn4d z@Mm8C2-}fF8!0_z{sYtzwhe_{&e#6B@~K1z^Vz-=*UIj8Ev8PH z0_B*O9p#E5rPZMI(&MzX_L{9Tp<;zn@T-io{Sos>uQ8U(({Xx@gu{A~=*vsw2(g6O ztj5FslFBP*8}YZ#c3OPjkj*y0VmM$y zZBF=s2S|kw#04GK@e0<@1|K^8taq$XP&ngrrQ>63yDL6JigLJ>WonAi^8C}YPSbNyUeW8@#V%3rFplwOhI#Iv8boXJefY`RGr3A;r#_2zkGb<+l{8v-9TS=m*8U zR#yuOnB(zCy&|A$dvM+&m5FMv){qe&E4DRS?@1M#=L9QIZ$xxB@9jU<0^xygW7xaa z84UcfsN8lW+Ed2yO!I+)Y7$jjuk?)=42_gR-veKdS$XUoLW8%Ta8vn)?hAGq8jyu4h=l+c{(v}4ho*EiSk$0CHHa<6y&A>fj}+y+g(xp=K( z4m*D~kCWmTs<>O-FGlG?)_)Y2iaq_;ibG|aDONDtSu<%m-A8)~Zbt6?4s-^YY!-dI z?Uj6-mVLaYj~YuXJQxnr8vHA3Sbnpdh5(pcRt9MBl#Lt8ZtrSUY*wy7TQoq) zVx3CEVhj!Ke=1&eb7Yq!{hjTCGqKwN4MEy4TDIF9i%Hw74to;?|t69+kyK^7ifp z>S*kxR|8|AuBVsn$#|O9toYU#+8QHTmlSVL`(EJVPxAw~>hyD`K?zOqId*+dC0*1v z)!ch~IwvD^6FN@U+}#q9_{?;y#}kG>xVT%6PXP^lIb@4Bp$cI_I6yJ$&L|UpRkQ*B z!N4DM^AR)l*yE)Ox#;7~-e`xcV64snBHY-By2b4Qg&GB8?AGxHNvg$%&aG)jx5W-c z`yCzP?hVF+EFArx!|KtB@hVx)qol^U;w%8GAcAXm$DRB}4rM9j4u)U#`!dfR(kRW( zqWF8!djYlIiwtKI)%{6oCP7&Y>;42Z&%*iBrayi+H9EWS$)A0HQCUT1695+eBM6{q za%N3D;`1e(B&_#s$N=H~Nn}ubi!X9--Rhi_o3U$|)hNZwcu2fRWX#*;o9kpaS}#X$ zMy)p5BFTUmtM8|N)P+mP*M3&0&CST7<>w&ju+rRA9ai-TyNDisE+un&YW_R|FT47H zMf4+WbC;He8b-e`~UuH4XKclH^cS z)Vs|pwYFMDclRQwf2my+@%iV9Q;5Nz!Db>;&yyN>`H=>VKMSXvzRo}CT)dczK%cWA zqOW@%t@2ML6h`QuODc>*8LuSl?wB0iOwsqqTT!L_8qeF)8T zYEFXV!e|RDA~6jy-kll5CiRL&tAwtk)q+9!6Lzdh#k1tbPn|etdG89N&hqh7b~V6a zUN|p}MiAy}MftmHncL8a?BN$X%Q84M?MiBk<2XO2kzQLT99=ycGgAf$>uHlrml7-?yV^wVVA zDJ{{x=?tz@%*qx0I=mfa{d8RRvEA!T($WHx>^3Yg=>R84dz;nITown4mjF~FatQ}1 zRuF?IZX#(VJeR$i7^CXR@4tKRkZaYeNWC!89B)eZKUuw8U%R?o>%jlh=Qv3o!oA_` zN?Qo!7XG;!V^rvVmQUzEo0?V~RCp6EY_#`XckQydy3$;~Tq|t!_7-m_VWYZ{V9;>D zFi50^yuS9=&RY7{^=E&*T9uZu3NZw_u7ZazlOcIm-)6lYc_p(GIgR)7@^YL~ztJRw zu@)*WJbB7B4SK;lx1;Bn^Dgp-x-@vvq?ILJc z8I{TvR;6EqVf(T_?7oL*%raW3EK?SCPvqm1_QUg>w zgeTxQ(_RIGNaIiQhM~zjZq#Zsz8~PuPx%Xq3b>`Xq?LF;#{?g7?&+#?`+|-i_YSsS zV`SM%&5mqHpU4HBK3T5oKW*=yw<&mTZDR!;jGZujZzxheCNsgybReB1i}fY@<_;Io zuInodg0dVdqS5iQanyNe>76}YCZ?#$kSJeZmsdeV+xC=VMizue-Mu)vIBV@Ttb9e z`p4@7t%*hbQ>G^DrT)n!K5OE!kaLi^tPM0tp&;VVEbq@N3+8hoN z;5%38I2D6kHc2JVl_acZFdsVOjFMqf{667txQ}eC;~kl0Izy-1eZawSB6Mvm_wwpV0Yd4>0-_y zDAYdO-IH{k!>d{xgy+>w&T6{qcsL#OrXvLbX{L^`-3|Cg^1WU8HQtPpW^GW()5L~h z`$kLD11KbkwI%AYN+Peu)$VDVC)pk#y3+-V?p#CBft%@S96$ilnM_igItfW{hdbjt zuLTgg(=pMAx+^;a7{*NF^>0I4YFcb5(iz2{Gy%P}#`E1K3NTxVJK-d-z-okTc2dD^ zZkk6ebXx1!X_nTSXyX1$wJhNBT7K;^MYB7}u0+4# z`)`u4p;EE3H*9+88!G+ZKrp$Rq@zlO^DvVD=dU>GvR4OP1hJ*Vd8@oHq zF3j-08N9VsoF(^4`KC5v*y|=6=M#xXfYhsY7*J7w3s&%7po!a&8KmhXN1CeScliWF zH+ck1U`13bz>Z$ywS^9+DtV4?p2{4NR7VkpU2 zN=PLVwQAF=1XScyw1Qh%0Mh=IS)Ou`uhPB5BswjI5h zkZT}RsGsU#zzfYVtiwS_UGRC5Vxp`~4ToRR&?S^nVM(nP9J`RZU^u&}>BkUg zg0e*<=_kIag~rdTD}Q}`qI*>2NCvtwE)IE>><(``*52OiWL@G-m zSk%PTT70^Q3(4FyH@uVgUA%~Hgmoa9fQH(X)a`v6I=D#~g1-1MCBBfDPf31vdpYb= zl9>PWCPLD9m_$X}cV#DyYTtG(nULy{(CwfjoYj6`P- z38~`4ty$bl7(RsG6QdeX&~^okg4Bge3pS1EU}AtErPC`~k}wLrq%F^b#8SFKW0;($ zT%pZ#G8|dkI|v6;6X%?-CZ?CuYtp$8j))d23W`Ob#9>6l*Uj3+F<_1(9O4cQ{T+-q z{au#o_tLyO&PEfN7gse+5-W#EptvSUo{}FldkCPa7Ab@6qmYEuTTn#6aA2SDa2PaI z(Z>~$+9E~8EpecY+A(iRzQ=4|P6Cy}uUwO;NWB_~{lIzI9ayrgBUe@yRT(x9dJWm< zd6pn&1!&;?8;wo~))wkOcxz*nE2HiJrC5QaurYesUza->%Jji+*P?G%qi>tBw5xGXud$H=jXnHU3QowjLFmGiA$!m;rVZBAWE4)d2nttWOwCKZa z!3QB#9(GZFXoaB$gp2b8rxYH5Z=*QF%vet|rox@wk*^m=#hTPHMu3g98Dt1s_TB56S;IW%DS-i4X&ry zIW0;g<0Y&GRSj2pedaiDz?E9+q9Xi9B5Zfc5jP+#7k?;e`%%v`8ep_RM%7_>? z?9tI()=FD{2r7kTs}SS59xm^@Za|I@W{sp!{M zQ4|?LpvnER=Do%l6?QF4-6E9+l;hYx9C-R|(S$AbZh}I=Y%RVI3q?u8l=93Fu&-c9 zAad~yI!B8#+9_*_OUzUiqsc3Jh#9*oi|(^+tF~+|$Ox@R3t8!H6jN>CRF~(rdo;bI@r6MTPWpjM?Bc>MTl33aW%766i~5(lhx-2`Qsx9<2h!KQztUeat2|xU;w?xzU<dz>Dj48n6ZJJ1=(O0v8h^*6A}G$Uo~@2ipT+$9tyjH1Bj%%mwGa(GDN z=?X|EtYNP#>jrkUmPs44RyRxu{R&m6NdQ)tLxqZrmdg>Mn{ncfpMh;EQJp+~XhLtV z$c_r%agQ6}kyNJuJk>{G9&5wDShx11S)ZpqpYW5E)+W6#z>xGHRNnm$tbT;Xaeeq7 zyd16GvP(gzOfBL!*X2Ms4)JQ5J!?0iXDXE}S`RVbh(bRIRA-C)AhI!VFWjN15GhJ3 zB&f|M^bR2$!kqNdmv;2nL%!*=4+kQf*({5iEh<_ZZ1Ll8{2sR^K-FRn{8I2oo`^7I zBXSYce`+s85{Rgo@CR}|F-$Q5M#~^j_1)bQ;Kt2t{wbjk6D(N$OXlI`z#6-L;Jo z_;%QXiZDvk5fd!y8#vg4wecnKzPpeEcM{WQBt3R8P%a7hhSf-XGZOCuSmcYQT*O&n zk!4Wp)ff66_|6BFJjD&$dE3tM1WqG2{zx4sVz1^ETE&%`^(1G!M-9pmv6pZr52S|wZo>6&SFd=^w(!LyTt{qt7` z$2&i86ro!4fTGA?crJCEc!nTeAqaJroGea+^B8(!Zxi!Ookw$u!9eJRf|LffM!j5# z(q-M1ld#f%i@N#NRfvqO#QQ+?sLrEDiC>E%qQCH~)TmDK1RJXx zqTnt>Jq$vpBQ{X?r>>s@4~7o{A-uJR;hjJDBwdJR9byA2;N7i=!`PUIu%?X&ipD4q z!@u+^Ifb+G6fZD(PgYs7_s=TOW}mTGDgU57Rwf&Oqyi<{gHU9n0vx`tpn;E_5nF3X zN-1uD&c)ZETmc~YuC0&-#R%49I4UlIww2IMt-isSp_Cl8WzRC_)8~*06cxglClM*w z6u8BM&G#h**qjta@*2LCbOP;}*>zj*CG4jk#;qY{UK-* zbRRSV#u37gS>QpXzZs<|R=`pW;{`m;wTKkuSft?FTFJNd!gi@yT8o7=MrwBnX4E}a zd&}5Uq4G;#T@BcoKr|_fBxQDK7BDJoz=*X*g>%OMXdMFTgI9Fnp?iqv%vwwwH`%o@ z#JYMbsWHVh$pQ_GZZL@4Nud&#*)VToI-1TX>t;oh0P6Rb7Hk6p=-;(RlL7>as}yox zwj-f^v1l_RArk=>oE&?laFPp}LKtcz$P4&*yFFL2_vxp!tBhc`g~Zs)K4d-gj2sV( z_S)X0Y(eLp4{5J02XAdes$g+WvNmqD1=x179EOJr7^PgKRG?fs>77Bjm9k@HDT0T? z{;_pYIr`oP`L|%=X};u8Ir6m!YiI(SHfMckuNO=doms0CP4UjF+kA6&UuMg8$fctz zC3y0DFi9{6ab!o~rF4Hsc6xgC+i;+3&^Cl(k9t9+@gzsRu;h_;Zofp5MVC`)$GGLp zv6pGgm9^R0mF~$(D;Do8<8$0(I>s5YM+46RMq`x7rn-Amq~URTjb>XMcl93X%0jgt z%^>hv6+*EZ*jR7h^u}{82&$w=;Ih+2lb)Vno0=^&G|lOOH9DoD9XVjp)MI-A!K2WF zToB(EvXuE+-HibuYcK5YGEKv4=tGXcl4hiW^b0 zo_?UZHZPI74mYu;jr%3iwY+1dE)8T%0zNk~mJ)Myl4}U8&*qz5T$DXi{6j}evW5{# zeJMN-W3z3F${eA{8TD~tcd}sg!N%vrW`@o&hk+nMJB@@H_O_AZKPO+tK^-fKX-}X^ zQ*0!#xosQIf34*@)>jpsQX(wyJ5ti!nPn3Uuq89|-s5D@p)?`SY~_(}$Z+_@=Oilfl}R@G zK9nWIII|>vjh_=w&aoJ`BNjQM!#A3Qo8!5yGZ+>-_arNGc~#^nhXkxlt5n?xTjnUi z^*Nv$KlV8SUjfo`mkiVy4U{eO*@iu90~gGT1bo+C$oopD$eN;oiOOI^=uWkNq9rM{ zI}=Yp5Rt%_dGxoiMwv(aT4q$) z@Y8?RP6zm_Cu5LQ#FLfSm_0KmuiGr>swX4ZsyDXEB#&)dSAchD5LZ|K>~~0ssa=_l zfbBwk+Wu$-!XJYFI2va8aG*tgx_tlYVt4nK_Tl!)&hf?3dHcuhgA3j3AaRcR;OE1! z8o~(b=LfGi=J@XU@u?m{V+fB#b~P zeP5Tx?&z*lzcW&o<`JDs)X_TQ40@HcfVw^SW;~#!Wc@vTCS11F6Z%)tsH;2octhSD zNZ3s}y7NhPm0;3Jw;=@i7|11mjHM?x9Z_v-=?4(hsR}^7?hN>|jKgILVqIEacF%p$ zrgSyHZ9sVp`d=g%L*ZxEf%H*ywL)VLlu#qi`!q%0Y8?4~Hlb^+R1M}z&oH7%{$ znZFuVjIaP&XNp(O@QzylPE8?SGbXbDkz|D&;3D+_nQWYziv5n%D;X*1#>|0IWoVq3 zw}|EG17gu36_`8*abW1CC;PWB`v6o1{FeQDuiV>{isf}apsq!^mJLZ#ri5<$%1jXZ zQ{X!Q#`>E7g^u*(C3S$`p+tuc6SC;>Dga;R7{KBgE635qjFeS(G|V%SN9ZmjXIvd( zM?L|5{UN8Zr~8o&%vVS6)dKJIA}|sA5Ft(yOSTjQHc1BsRb%*M10G<77bmxMv4Gjb z3Imn;R#M{1K;UdCXK6Jpc=-xT{v%EsL^mX1ML!SF$9W(oI@j;Rb}*>e559wlF$Y)7 zPrs0D_p8_senCr4tysVPVz%T}u^$5L?5(=uJUQ{6hU2?7U2u*&Q}94G61~QhC(F+1 z_Su^@rb0RWv9;Sq0p{ow#`*gwY(7Cj#x%x*4*2#q3g8_FPYjE<2dF#w>)*Mp-sZ`w z$$FcN<%I-f#L@t$Mv-+uUTMcdmD7Lt0|!IGH8z1Ko?-gO3h;=H40G|@Z=)}>x>t>F0g zQxqKkeX{sI28ZUL+Xo@e8b7<+{Ecp%)1_H;CtqJ;unTi=S}c}=s6?l1LM*qPNf+8@ zU(hZ{ai|s4B_0;CJ^nTrH{^Q1&DbaITbH27!K?T)v)DS7Fs+%$#FyDMhbrXYSE=vhZCzG-`J2Mb<4`fe6a@ytd%Rgqt1XsR=)E6fRTszb zqJG_<=gb!q1x87g=EL>BX{6x-|g@cu#_a&5h5$muMqn0lPcyMDqHz32V*8L68Bj+$_%)G=b z=~Rl+WLc?ezAV#|z_-EA0$iK}N+D~AU8uVtO-ofSCRx$vKw0W%w;7AaXiv$yCbj|w zFv*i=s|f|3Lza5j$={wM^BeX@ffkmED7iPuR~MOA)dEvX&-Tz9>K zTSw=ozv!H=lwR2+&7|b&2X5H5pScf2%4hfDgmzd+HutoDZXLCEj}KRLX6Ns}H?7w> zoQHEQiv$@P|6(RU;H(Uwvspoaz-)#QNltF3EHKcG?G+hUOuW)judfGJG;x5@le%5z(LDE z7xPbzu+2T~93<8yYAX+$7iQkdlvTH~D*gPkEwKG*>Za3rc}}N49k)o@prZUPe?D$j zh7l)<_dlFV>(Q(1&LwtILQLE`ju1)bFnm)x_pYETqhmC#zw?!^d6;jD_D8&S~I z2^3UL7*Kk#76L%0C2SgoDt)g<=c?BbOdH8rtMx;hlj8tp++wA5dU|;Fy0);>89as+ z3w8Mfi=%oy%>B>b%wrI`_= z4<-+Tsm}>i1J=S7pTRsWs!D6ksz@~o`-j;s$T{5zSUNLBgJmskQld`CI?Q|rA^y+e z2N2g2|4O=it0#PK)j;j11DwDaHY+w<;Z}zG7_fb$i6nyoR6yYA$&d>NZ>x8qjob_G5i3jKvuuz*-q3k6keJALIA#vUI_w$n{#kp za~WR1?S`)+*L3r6ZhPUY%kVB=Cjvga*A=;Aj& z=5J&=BLu__?f$zko)kH_d#}EqhhDxVh5m{363}xz7QuDF`>$FhbJ1$E`L)E#=f|(o z{_rFDl?_J}VObpEK%apZZ63_dfP6Nu2f)jhlRZ2wI6hH!8da~ueu0DGV2Qldaqns* zzfN;be?%%vc01~)=xR(+1>NHkgvc>%j!$=6r#iUI#}) zu3Kie_3Gla7o_I#u2)8-%+*L||$_wVeib@=L_6)W3x$|CM(zZ{;$;jRW{y(zNF zt_5Yu9A|aTlwEhq9>RQ~sm~^TQ}&rVp6AB_Et#?#;d`mcTf-5(;UQ_3wPpLCnx(mg`I1KMr zT|{pgO*ocIOs5%%89MR_F`)Z2;_FE1gl+G%PQN?F@MfwXtn&rsM&oqU!3&%wmfys8 z@RN?9YKHl$YASsdIiSJ6?4d@{nxqCyWJ!5cJgDu?I8SX~IP_-|1+g=}{_yr4l$0-c zLkz*7gIzzpny4Dwc9#Mh@+(w`1~yduX#fF;5q-T%(_UU&RF<=-{lsDcWVBNlbcDR&LgJzjOaX{*F4g>2oK|V)bl#d)pb` zxo?59b>HK~ogXDcc0$BbJ!Nlgc&xr252vH&$@U2NZkH60{ONi6X;MANy6FJRygoUo zo(-qtF8qG@4>WRqUV8Ws3A+7x875-+`nT$P&7vKUEcQBC5L? zGO5eygitvk*Q(X!4ZM|cjZVwyxO&0}j{&1eJ_T-@{4l-kTz9hMMQ4&Pz2}Gj_3?K3 z*U|DI?JjqRw=b(LJdVk;59#rlz%{S7$K9LfNw)U=MnVUSqfu8b2Gf5>pd@B#&JUS9 zu%&|gG%oKG_dETsX*N#t=LzmJOFhcK2Wl$xw4d|i65A!K)rTr`5PBuYCTkhW;BHub zNYQWM=@Q$Zvha`%08+nS9p5HP<10YyQepYIdi%bYjgzI3^Y-a9A3x16vq8b(rxB8Iw*yvDHACgCW z6}#s$N6c}uoOe*^uIjOIiWIzFI$a+1tC3NOz<-8oA~G&+(eJ%dMT64Tg92TqyHNe% zb#*cM2}H5ow3{@)PgYl&YvG!a^|I9A5C7}-Qx{fEE-MGt(97x)CZOx56wx^4n^t&w zI=oV2&$$kCNN*rdkax#fvOT>{R-4f9%J<0+>ELnJg_e(RZt33_!y)~E7W1%05#$oN zHM0EgegA%ck^P^nOLWk_{MB1O{gvuc+4-}(Fh#tqx4{?VlgD&d!p(}t;^kpFt;7_?Rg?LEPQ}~u+4_)O4=`@i zxQ$98U71~Zo;?2h_%Yp@zPiF#BOlV`r1_lgnOkqrUkHr@RXb}gn+xy+mrn6*M)_RR z&w|Rs4!>%$2hmOOg+$T~wRgAATggKG?}LSUkPn+6_kSDyeInsIq!b_Co3B7r&SyGd zFtFGJ18)i)je|9xrn`%>#2Jb{FEfd8iWpHGPx<9}bu5@W}HC%;|TiEh+>KLbDFK9Y<92ECAx<-ADJ$l&M}6RE5kzq8q>M16$FabqOz>aXm^RsyUE+*6O08k$4Kc` znni14HF>Lkt|iOM?}|Hgk!!b5#9uPHV4vv9wCU0O9h#>jOG|_4?UHJZj~ zQd#M~09|5rIC&E6VgBZ$6f+kF9^r)J^`*1L8Tiy%;x_W+nh|BuP%>{x>Mq$br>s-W zId0J{5y+B3ZgI2C;LU1eYjjJ@w^r@n+xp_JII4JEFgQQ=TZi!*-i{~_fY}!=?~+u9 z-kK7hMN25DAxm9pq>+GF%&+?LDg=(Pi&!kAf+H!o4C)a2^PpBr@uow~%F zuLJKx;7cuy%4OQ^06^j=m@`y%)7~)6IiM8_rI;X-I-7FrpXCtf`J4T-1paq?bnpu) zZs%`W92zFMI48|+xtJDFE{qIui|-di!?4vPE?ixll615yb!CB5U*|DYQSBvDdmqH^ z8|Ys;$jugyu_IAQLZx|ZQg2Ce$rw0ftC;j}35~rXcHg3NQ>UL(a3d{qHc;z#HR)am z5%%JnVZSHt);V1z@95A;G!h)}Cuh|h4Fw!UN%g%5&D7BfcT-0A|qciCA@A51*r6(M!jqM?p zgpc5GbdZ+2!%@aj?G%q#Hi7uCWC-@QGk$MuAy>nGfB2EMUt$`lnyc})7N%a6ij{_N zb(1+|bW4qlo=%&y?D~i-|zYtIst~ID5o@*LLYS;A&%^6{h;AZ zIAc#(pHcr^hBiqkz-MCrAPy~KAJkvszb8xc{Y87Z0{BNiG`agfM?bFGV^dUU-78dH z`g^x@@E5Js+?Y|TwDy|nV}POmZyASZMfcfID{*(L8C*)XN}CI_bpW9(bsMw|TYGHY z2;qH;ZPM?o7Jg>&M2@b=CXC0q7MW1vMTYoW8YvZFWxR`#C9HsV@D__#GlY@aFjb&L z%qTt_Xp;(TpHtYWC~Q_~cOCVjq{o(Mizjb*^9Zm}oz~mHZ;D}lWxuWFq$?P;wbN4} zNpC2O%bhFB68V4_E>cto6)R;E6-hRaO{0}Tec9ht_1+gk&aRY-p@~mgvAWW5$crFq zVG)IpIKp(>sjv2n)kJLPrL%fHV^&4WN$qhaHKUlY%O{D%s>{^XN{B2;Jd>k}JQ+_1 z1BXOHsNC>!@)ONwre)$zxRYB5_zg#7cap_R@X0&3Zs(WX`NBTNc#xUF(m5$KE=K0( zB4_ais{E>)H<`MPZl=Zs7*6i6r9!JI{?S6A-s@GMYfx@0GC9dBJSXa&sX-5VTMt?Hy407DaL%TC<0cU4# zBEz#SN(nTC`4&Xl&^KlSe0Ws)cgxA1rP4%L@_gMho7Pxt=B(lvV|YZ?R-zPiYUxy& z7RsjKG&T*&NT1G$s^mAFa3~pG0t{Je)4XD-c8B=(__kCQ(&Co-9rE}9t6d&&QX+&vQ%b41d92YvyKB|l!C=IfKh5Q3Bxnaa$amn1zB;U~EQzV>AG7lv=izNYp zP(auvOOlRA`N8x@&lcjmz3B9VmMo5UR~z<_RvcyACXpB`=xN(d(TtTaTBD3-EPhYv zI2Ti$sF8(%>mz1*witi;+`!gvI}xd|PwZ&OMz3U)j%iE>U8L0OafcmDW=$2%ke;t# z>%hS&m^)hfMPgl9Jv@2sU(H1U=0vA}R}~)?HH5-(b@CY)iTvuAu29O)1~8-;sodC; zl#0;Q5;Z=pN=6EWLyxO!2gtIHT_!ImAK%O1q{Gz`+0L>0f2gpeE`X6m&z_ICgI}BT z2E+eJ#R=i!C3#{mL)k8wwe-@f4h&vGiQkbH%k6zjY*Sp4(CvKjitaJZ(s-o?F(0Ik ztUrVanLv+lB}qVr0z0%h))4^%e=2jUFfbl|A_TsIFVfQ|YMohM2pNR29A-@9K8M{2 zkjzcG&~eWb;-)dY=v!y z4&`{^WFw!!%mZE@x#w4%90g6Zd1rJ{I>kXnb12N>Bx-(sb*Jd3VUvQM8ht|w#%($o zqGpWYx3Shpl1ao4O2X}mQnJ7*$OawK`_W3?8)6ufLCUg`5!kiXJ%?~Xx3QLpCcSHU zv&h+0FCu9r28x=&4MqkLq!JsO! zh|gyKu0cS|NjR?p)dor+%x*~PQEsK#Br@V(yYelm$5`XgIY3UidgbB zp#*6_D#2h^Pgy_3T^iVDXA)PBQF1G?vBn!xDlZ*(<3N^?g~e?ri7F`&Hb;-9_5#_+?Lr`A%QPjn-sdO@s+ zZxWy*Ic5W58y2}I^QK_T4auRnkIQNA;X%E?SYY!pKK`{ZQK#3$O`+|di_fuR);U6q ztyJkJx+eyt*6k91y;f#5iR5D8{vFQM;Q?UM8ARa@uSvPiK&FEwIK(UF!`oZhrU`c; zXbc{wyMyYJU__q_MgnCRS4$~XvnSShIqNh)SdQy{dfu^e~kE3V`X;>UmGK=Q-p~@SHn-%$?v#Hyklj5mbNl5ys2JUl9L&_QhtiNDtcG2CX;wOO94fN_jExhn zu}#DHY+16lbF>K{JXe5OJMrxjNuA$BWDJR%wSt@BN8@9tJnPWpF&(p6pN$NeW$F)s z12h;*`$PuQm8-jSP3y4t6-x~_X@A6?7FpgfXU^{j!;c|!MDZ3c@`+`S-A-xy{>TS( z>I}j?#y3aCh?_|Dk*Pz39-nbPPdm4diJTtG=^-Y~c&sl9N=9fz{VD3rPv6stq7FG7 z2TqCn1Rk9lH8}02w)^D%6kr3UTc9fU&~hC@H%iYkD#$WvKnpf@qyaiUK;Ba-d{^3B4JG~sy$V= z((0vce<*B|azM+KMV}8BLlllv#5G7##5fihX+SYc&mTox`U{UmGCE9v8n8*o87Rqj zmS<1Yk;-V-@s;ACF{kbwz5H>n{%V`n81L#9xrrg9@%5BAK&Ea7^z~}v#aM!8!PTr{ zOvUlpI+!6@U%W_4T2e-pdyR=Q-F)q=yJnOS*j#oM6UUj;UjnOa_tO5PqXJZ;atxYF zvN-wBmh`Ot7b?%eoZT-_g#!9lE7$0Me47rhdY!x4BYxjVjxYxq;6nhGUSbPrH`$VU z%ksRGsHRmBr^?i?GmTW5axDz!?A6p!vmGRsmNuPNRP@PKA}M_~B?LAmqZkkI7}h#8 zZLW&h9TiTHqbMJygvy>I>7>)14BIzTAgwmt4Df?nLsK~iMO(!BYGAvgyV@;EMhgJq zc|sG3-~lW6+D`{H>jQQa;XwDAD-;PmCu#OdKs@YE^MwXAg~ciUw_6AFoQ-(JTdQ*N z6iUg@hgcy3Z2fzHwYE`!#tlL=(6C%Xsv_)qAy~%o`;GMiz&!+R08>E&neYMFtLqAO z0ORE<5G#$Qg!x{ftH<5aX{Nxp8L~oPR0LQ|YuTGxTerJ?> z-|a5uqig_7844^s{r&HMUs~7<);_JB%^(ahy(1vF5MZd@HaFfOoMZv{1kSG#iC-j? zbRO5{=zlPxWJFVd<8n&9Lk91Y(s+N3ov z%ZjYd54MPVVIn78?!lJgB@P=Up81HGB%%Nv7m(02y;hv=iFqW3^HdsEb@0DWO?yjD zZ7Jq4ms*PXgk`Mj#J8vyVMqwZ+(ewfJ>ucgf**q-S;(I!Zy&Brmmf}(hY#N+54%b7 zu(_dAHPGHeYd|B4{jeS%;-fAqwDguq?qRb2&c)XxCvb85`u{-a3JC$loQ;lZXA@ z^23!4P$JpaUdzw-D`H{Ya<8Sx*Vt$r88f82Ps_V4(Q zf5u-B|LNx6@t^)3|7o81PgeuV#c^`Fe{|latetPHyoUB$Cj?Y48+uWp?((N9R#Y|p z1VcPXBJrQBFVQei{&zPTlw__6<2!Bghakj}^Zt*Mf)!$4xq)t~=;7)d4Xus2lm0== z3_Hh^NT9NSE1Z01H`k-waVykJY+3I-h6}lG__5|G;FqsFAp*;*Vm3R_D@2fpNJU z<=w4Ru0)FmW(pr0$*1}zeIPx;F9F+!F7X-u^I5Jf)$Dx4lB(`rSnGLGNc(8D+j|#B zI~dfc-4+b}A`4{AiGG@evZEE<3vpGm2=7@fYx=rhv%10XGNdVf0R9N(W- zo+VJwYWrsk&i|MEMf5**H~WSGfJ^ni)scgVv z$(!x-?O(PJw;RcBC(EbrL2U0WgF@4}>)dw!*RP}HtLd-VB%g8&{XzvY*}M4P`{!pD z$-(~N{&{P+sMx<1&3`MJmZE9pX{Vf?Uha0446<%1nohW0Cob^<=KKqy6&FP@UXYam z)PwIWwY4)Ib)EtS6VO|6gSwdv2mJ>9lRM(z**0bFYVGZ}UtjF+w$EEX)1G?TM$_%u zMwqcw)%>CLb8Dx4bbQ`wzrloZuYNfPm1c}YHXYR@@oTGpwYJ(my6KJUjby!Enk-XG zsIAxA1g!R{Ua7%)${7ZlhkmKLP+fhJXVFPu3aKZtH9(4l0tBQNau`VhFWb z9LdFGwVpij)LNE465Xti+0pi)z{OUjy3{G@g@qr`a2u}-wTF~6xZNF1Yw-U%sb+td ze7txWl``_;j~D1Z+rI7O@2N0ILQkGh4JBw%K4u3Pw3iO1w|HdmYXAJCb^6os=`KLz z2gC_kdL%D!-Oha}lr3K6MEW`f<|5h~YA@S;6@CdaBp zPR0cbbTFKx>ZEg#;4qOAC3D(p$$SkT=_PjqSmmou_x*H~oTk@w<7$swXg1bYe!x9a z`Oj@1F58MZFTYpYJ3m~Uw9ig=+O4BqT%D-lul)52{-T3$Nlmr$ahEM+K{xFJv0=6g z>5;;Teb0%_;Y-?UPch4_Nxa7^dNddtdU4XAr)%i>u0ZwkkeraAq5mOO+1u_RnNr3!y)@`#3VNKH| zy@i()*_RR;631W6k8AO*)LlN<4?GaaM7SD7iSo@61?$i;y-jV`&qSu7+(|(rzAf7nS~S zh?J_Dk3jl}##$j|&b7BF2=Yk9I0>=N*g!d3m)Om%&pungWId5$iqRB&#=MZk?a)_S z^PV;)zj6%n^pba3YMV3h!vM{!zms0*OwQD@Mrd6w+LJ-Ra)x9bg2k$Sp9!w3ah~ z+_$!xYbE;ee3Q>J4P&mbRqSWrX!k6ZL%)xWz}oL@4)P))PkVa?$<|h`yf-gvi^P50G0yw zv#*;8E$w1B#Q-D2ThRIZ5WHR0mR0TFTgg8@`#Z4xeKF6V%p>cS0iDsZq#0G;ajgow zU^$_Y7^a_*zl^x-@#nW$^73V}_AYq@dR+42MN<1NSpwAop1-Tt9WU5uYw8|EEhepm z7~r;pH~^n%;~fSOi*jLPW4tG93>3yp)sYuZFz^LR8Er1TSPKD=V_cr5?`x{^6_B7}m}jll5ACzoITa&Rp%vW1 zozm(z?I&)N+B=UcLm#~FxU}R%Wnrg-cjt8|GX`6GnAew+huWj8qFYAkTA%gOQCAKA zI~dk=qiQ^Gp;5Ve#=c|yr-?IQ?9?R$<&dB=3Rv@D;t%x<%7TSn3kfG^%Mf6; z^wNmO4Uup@Q%b067tfyCok6cn4BL^oa83DA8a73HpCZNw5y?)M#t{|7_O=hsTB;I4 zhN+?R4o7xF-^k!2PL7y-B(pjaH2U5`&upRZ?aI4ltyIIr2qa6*j#e=`Fb2AT0*+D~ ztzxN)QpZsq@dymf63C&Nn@N_upfW~tO`bf-cvY5azaYaVTSU%}0xYt3)DDej4GLNv z<(UL7zn6 z#b@2K2zePzfEptr3t@b&5)^rTetOaJFD_Ka7&s(PabeUfC6LpU4{TC58Z4FT;>ha> zUf~IbD)8gU6Y=InK0CdlS>mT!tqXg{%BN?~>bRXW>&fr>U8hsW-KJTm9BXGEVUK8H zXcTnHb}Fx}QRP*;a<@yBSFOscZsji4S*JQ(EV^zLUDrh!U379*R~0P2LxNE=p9mLW z@knN0Con6rAE{+!ttuKvY|;4uY>_N1xa;A-*}GwTL{3S*v4PQ1JCQu%T-eqF_%HE2 z!M=&^`|RB0ltC;|m&56G04H0-1zh_QY@GRxjqxHrsxo5wFbLrwIK|PTh%dMVz0Vbc zU11=gjtG0Hk*$PP=0ElqDxeGZY60p%Uudv!lF3-@vdWz$~y zz8+$3QIYKFax89tcwtcxV@gs9iZbD3D4Wahs)mY09px71`5y&hi!&qloRS!$t2|xA zaZ-nl5||LfljOs0hUx&t+`^Tf4U&$DNHw|PdL4baT?dpD<|wgCRAhQCUK9&6`6<;g zjW`oBHpO)q4n=0dP)#a_NH*}1=7YELhUn{4nr6eogZWVM9hnYd^!i0J$oFE4CC@J+ z*XXR;g!#llY?C)Pi=zoi)22l7EN)Bqi45%P`pa`g`+m$Tw6YZ!LaJ-j*7+EY* zOII2$Xh#l*trAtLNyIZ#JK+4r`pWxPDoFaO4&1+-yqZpu%OMgbM+zh=k<06LE^Kpi z-9*`&OeJvrPbpRB18PO?I!a9cZn?_zL){0)?pdCBY+^P;jP!uh<83XL$s3-H{72-NeSYk-cl%gIfC9Q&~=f^Y47s!Z~ z*rUSgx6N&S7JcLvc1`s2Me93F0Et8Vjb}`>CD}!g8<;9ZYEtd&m%~@b2Q>-4Ii2LB zRiQp~bbQ|4JH9yDZF8AAXiim{1yu=6zgVR`$m2C)J25DM5^nkSa@fbiBe!jJ8#vrw z8Dmr;VKT|`Tl1PdY#pBea?*-5dzDER4_V4sy{suA*9s-*me@WzbG)F3+OSw<&x|J=j5T#0Pr9_ zY;@(4yIGIYr{n_dSOGdY1$Iu`uq!d*@hbTrn7A$_Qtg9zm;57d#0wUZWEinJXNLx^ zTn|AOB00dIPz%Nzqwoy7wXnr4o{L!1RK;tWLl=iabxal^%#eW&=nR(ZSRY}57E(Gp zuac1LcAyawXOkO`gF^AE8S4^B%~p5J>~q|sFY1<}MBKETGx#r|LS6SO5Mq3yCw#P! zyb9X?tq1F`E_)9%Zr**Wg4uH*qH&sf zOIR)Mf(47Tb=B<;^R$>dREk)=Y$l(pv^1XUU6B#A&2_vRRlm@WgEq^7ILOm?{y^(< z;o-{npOzl3tn2@*e!~CjAO8P&S(9&K4I5_DZ?i6riq^Z;$h$Qn!#2R{kgKoa`9)Ic5z0MuKg&+FmP=go_ zFq(PNRG;oZSKv?d3%>l-gl>Sh*oWURp#p4A=yQ5;bav9(+27l5?Y7VN4_kjbK5F4Q zHz++JXsRB963xV1bP+e$=ZS`Hhw8!j&Kbq(V|f7w62*b{bc^xPL@i5vyM_PYDA$*o zmb~?7V$Cl~1br$shT0jhu8DWhG^u_YMq zLm%6w9lpcJm<48k?B*9ZPf?$Wt+I>vGjwv~s4^qx7usb@%#_qElCR`ffsFNs;I^pj z<rWg{D7uS&3D=~<(`upRkg5#b1JO@4|fhEfsD38nGn`u zpVJw%I)PTF&hwD1jrt#oIa$2_0Hk|=EY`44Fzfdpf%)wpia9OYZ-+Lso4^w!dXUY` z#GM^{eXCzvR~@PtXdkHhx$Qe6vIsQQuy}>mE^QkcT@cqn#YTAC3><^=s^)6<(E70|OhqgoSysgOnUAIKDXs&e7|G7D;#ectf4d{th3A$HvB0-o|s#T{Y+q6=xMCR(YWUhkAy60TS>-)3) zAU4~-|E|OzZ@MF;)pWGMx;k zlTDeVc#DUv-TiI3$wKw!Y?avtA3AwWYm-q-E27a=3W-<w~2^0jJk z=lKw!cN6!fE8K8hhdS(&lj$$+9#=H9K4!BxOUxcYIg)i=oE&3(BQZRj@@wPg0FALv zBCZQ})i^lK-q-ZBdLC9=+7nu~JUsWi9o2H1yEOvV)=0juTah(qGB`_I`=a$}^B-#y zg?U6|AMs)lFN+=w0Bj%ji>k3O105T~X5H>YtQV31V1E~lMZmneH=1ay(n-L;pWBYo zNn)E-17yjzsx9vZO?+RkM;fzbvC@Wa@83`%e{qIdD|}|K?N?ts+*&^V_5<#q{KpRY zy_=eE(8;(6!tL!yjk)zE9CEQ(&Kh!x!%Hx}V8rzxbn-6QO#@T5kNRArI}g~~7+5`U zO#116P1C_7>-3R*&e)IHX^JtSSnrq)(m>Fg$b#gk;LSRTG*mpNipP0gs%T&GwnN9F z;TGTYq-PP~MDN*jTd{p*Vb@(TK54GJ5VKqqi4A6ZDI82poH-QZ*xBLf_F=Mfa*^P9 zV#`iZ9(T%%T2Y?zFbv4`A)iA&G3K*i99;2)_0f+R5I&EYZ0-`tggV*nfZnq5yvkP< zj6)t;&6S^8o!Z}6hhO=P?G1?22_x}-6XWAkin8aH%B_ZMI*>dXX-}!yf&r|EDGZpU zYpXh)JfGfD>Qb*l)3ZT_z1oycHD`3n=}LQJ-R_N+MFJ=5LaD$hg)%S3H=H365P07{ zH=~_+@i`iFyvb*Il2;;D!&tRAHhfSW_`Gk0)=oBZL~V-&VHdpnGFr?_o>*2-jBFk= zdsaamd~Vi+C6SrMP+*dH9-j{1_~534RMVm8%5FduvjVvB?2_b4{jfJnn2tASOPU3( zx=O9dtQ>_Wx_SYqm{#sBu<)*yYkt1xxxg3Q^1sjFL6H^z3yt6eT03bK++_J?mha_x zZJM5QS*VnmlQld&BXd+C`u@J^!H*jw3(Zsau}*!lZK_}dw7}|Ec0Ju}eKf@t5Xv=SqPq#uuY+57py?==~o_U3CxUpOIU zy4xQxB?U^>pEfCB`(HFIJ=3EP!#>|T<(8M4@0QI3(Z?^I8>l@6HE-6;_{UT8Pt442 zSd&vUSofYHMuwYt(kz@Q8M<$?c3dTV6e!^{b?{(z$~5pVTQ@~ov&=zRr@qBhH12B+ zP-CuUlJ1BF=I@_I%M5;b`Ctc4=_Kws~4Y zSp>HnhMgj$q1Gr5o8C>~cuhCLLFufR*TPTxo3G?#Cd7}$J1>@gknmg0Rx!!PhRbrn({RupS3tz{L#fB6Otifyy))`R7mu7XPs#3vSHkx%B<@58#$h?*<&egr)HQ|Hr2Y9 z(4cDJCr_TJzM0#wQu3vW2V>BEE8pH}D~j`asY$UOtSh(*)?$1{HdVj*o~~{hZ=lVr z!0}-GOgb zmhQ{+rt={ijw!z?nn6_Z8mh|)Y$(V#h8*V>fe&I^azni!5J8nA8)VnnpfllII>TGJ z@ZLJuqg>SV%8haGoFg1SU3>uoP(JN;)3ld!;DwH#Tjz4hw{rWP2}Uu$;!xgvg*|rT z-`Ni6<&!66_x;IBj40rN`B;8ao5BR}2@8LxYMkie_pN02pxyd;=ip+uMX7`6G)37B zXN2ZKaWV{oX@$7*Vlpqibfe+Akc#7FQnpmiG3AxvOa4_I9Uu~l7vogfto^vXyL;Lws%PSmJc>1Fj!vCO<|P4Z{IMPlVQs-+mz zj-vYxKC;ZR%EAeh+{VX{ZRSdCZdiv2oI0Eiw5#Zh8@&GNix>>JB7)AJvnygz0DO)! zhOLtz=a@wv_7)lv3YL0kef#@BH6_Q@&y}|T!LoIHdf|@<8Y9p~LMDE_=gsm-@;q5l^1iwtz4`!zhDH$vJP@?OJU_A&`K#VwZS!nRlNs@5Y`tl1KQ}7^~r-ZnKRV4^tgK zEL$jG6vDMtB(x{dGTZ?Qj<~_4?5{M0pA{{fbTBwsN1}fqIlM)5-u`g-`rZF}$5rS7 z3-8}jW}0-9*(`3M`5>uMBaTf&(`Uq?a({3adr z-~|pt#CkYp-EcCV45$5mjQ~C38o<$5KN5!q0c4yR9=9GpS3gtyiQ^2Tg!$mrasJ~I zQ)X0D=G>H-6qR{x%3K$fIW%Q%i^}|9%DfNDRJf0{Z&_YPzUz(}<4Q$_8+olBW)m&I zqKiF@B!mfxFwOvI*INrJlhfsJIKk5bQ0P&K0*aCFVW^}DEG#D+27y5t18F%R58@4` zfG~&dc+F6S5Z7DLhu<}bh&Hw6!Jpe7B(9kIcI3PTVTjAo^-uj#6Q3?9vQ8;r z6xP%$$z3FNuMadpnmURH#{&3O1A{7@H#i#fjDf+bqp+$O7!moTylqv|hA?l~bbUR7 zri$MwW+uRp@g!E4b{L0lMtIPSF)=|5G20p)?=3443|o6b&0+kppp|gN>WxS56bc($ z>Ns7G|JP$)is8!kz-_vP{1y=2lcZ@{`5f<`2f|F7_n~0kJv5`$Sed$z8XpaSNT)4CO&0=o*;ml&$Sa(2lTl%2aJ^ZKHJsd zBbXK`MTUw);|7vW+aRV6CU0B&?W6tO*3mhhAaM4#763{RntpSFZ$|bT%n+9hZmdnh z-dqNb+a~hcFmSuIdTjg!uSTK~D~#l3bz$dV`|OOOb+iul=wV~s-7by?{X6R;Dl6hw z+?(ZQTY~K){zrK>VA{MWx)}1hGeG+=Wn9-0K*gJaD97~tVDE7IHAa7+AM7N-7c5mt z63(%==aj^b4MPs(VdR~%D)(h^iS$N!?K{Z?k(^uv zM>o)HwCqWwEM8IA+VbOH?8^;Dn2p)@r$m0!69-&Jg9kF*3`45hty{6xrFE~pel&sRR<-aI9pA8iKGW6i#hvfmC|6$Uo zf^mxu+9Lbb3j|I(RUju=+m^eJE|%<`RwZcZd7?~qi=3w}w8HQ<$$Sn5r#l_fLD>6F z-dCM}iZQ?2m#Cv*>R(uUR!n7hvZ6AR5`C3?OnECESl=2X{TINcz1HBa^6oa5X#*GW zJ|TG!e@rm+D_#}?r9S#Y zSYj6!*GKuH+p|u`BI=|TF)X1-Bu&bAXx?(58Y?p2;%JylF}8{5oW{d(?u&#K*|?WpH(x<~RxXXx%d;>^PG7t<^i0Fq0q#!rvdaQ zO1&xq%>FRS+!jaZht}y)>)?2APqJB+U}CSLQd}IE3W??hg6Ab5r^O6fxm${_Q`E?{ z)9H7on9>AMpMLeB+OkwvDH-^48u>%Q8$YX-s=}xBR zD}x&KJ6+Ia#_)Z33!?qy9XFUMgAk~+&L&`lgFSRN^g8fLp+5zJI8p1 zJc(^`KBBbo@V`z!haDpAg7n~wfz`iddm571Jki$CRTJ97uq0PQSgs%Q=S5T4tkd?n zzk7a4uy#(@5|G2EvP90Mf}N0ROy#~Bk^Ow_rHZs-*?v@VzqVn;pR z!A^McgZ&Vg&>MvY4ly5D_mD)PC8yyXYWP{KVX+%oP5H;OV79xElPutn8aBD zyv_-6ghB+d>@U7emkv!S&HLgbi~#%Z5UHS?Pc=?8Ef10}#BgLODc zdk9Aw3=mAV;_Lw?KUv~WwI5xi0Xg8@&ZsR#7=W2%$^+Ax*vAI6Hspdi^k|B{V%Z>{ zpko4b0Gqf>yB$n{gC#R!q*$1{mQbP+2Bnx2>^Yy(p8Z92mKae!>`(b(>2Um>xc2Q3 z$ zb!^U2P(E)k6XA6)^UkG_NZ9yH&+V)?$?Nve4DblMkL7Ccjr~jOig^_w^YNxH&UyG6 zy9PapA)%Ycrfls6hs4zdXonSjDZ3r@Q#`5V!*xA~VznZq_@+AS?3nrpE2jfsM_sC> z7UtEIx5GVg$D}$KAKF)*kfFPDY&HaIa$ZNOS#@~z5LsRhfd?rXvG)RN)~sVOTDJ?~ z@ymj20!8{(Ht6=JJtB4wq^%zb&A}fBw6G?@Xk5^jJCYcdWj~0uId^+F+0v%c%ubcA z$H9H`h5G<0eQz(Dm6QI&rNnUsTWr` z+&=pOYEVAf7&KEAHsSWk&i<}csjPh3+uH;2l#_k}pLLYRFS?(j0!olm0G~2~ipD?i zl|G^@&s0p$?DQatA!j(=4DR_@JDw zCjEu%nA{6CX3FmuPLz=3$rDMOZT$OUS+iBbXAXnnd+9}L@XfGN-#qsgA_*RO{Sxo6{-a5E${ax7qH!r>n~octzr_(@cY5= zV>(tR#Bzo_nq=g97x%^tyg1)?vYe9M7S$mCO(Jk^b_aexO8&d%EVbXGYnBiB$d4-m z!2uu#6+6QLY~Yh3d7Zbim<+BCHEL!F7M}yNJ5T8muzh+WVl7H*-8ocH!X>sq%{jmQ z6$dG@#>Eh1e6UQ%u!g5b#sDl8aS2OUv^W;!G}BqMv?wx{Xt=3w(|CB(KgI*$FA0=W^ijVxB!N& z+S(mT#(U2rZ)cQL-!SkB1~MaK97YdK#C zaRmq~PvJ~MFPV5BMfNbuhUx8QvYE`JShe?6$_UqNknssAnUUCT5Frm6B}EoVhAp|e_Z1H?3%6x`_T_fIhQp97NdcS_Zbz&1zE zdG1vzsTuv15h?9;VO%?78O1Y26)A+;=Tjbk7O?k(<$op%peByTz+D%T=gERdj`78A z3za<5>KK+OOM;t+N`}pR^$n?@i6Z|h22QDkwd`Rw%|zTt@%xH8EeS#u{3RXq05@Py z#=9JOQ&mNyVl9kXjNFG##Jfyq8&Mv>bHopz>z`tM+Ruwu=v)M`T0#zYAlS= zVWnf69WC6%Q8SJ){oxR&O@#n+N%D~jlk&(V&H^_MO{`)du%oj{jGcGO_C4#03s#X= zw4N2XgrZ9)`ZAo|Yngvi7(Mdx&U)Jk1Zn z+|3b?B|=FTrPg*Yy_{aNKxJ;I-AA$rSBh2rG8^V(UQqUm*xgmdYordc*Lmudw;Y8M zQO<+x$B~L{Hayeain7bMB|Q)jsOiO1DwlSK?x<7p#)6E@1-0=~Do`P!fkZp=KCr%) zs&et7B>n}1?*o`;+)W)}8>O_8Y@eQP|AJ8!U!T93S-0dOvl%Em#c3gcczr&icOWc} z#+c@Gen8IUwYCFyismH%mdjPK<;zcBhF}1w`>g==z7?Q6`&JlzD?pdQlKnzJoo_bS zUr3(;ppcz>A)u>o1?c))0YV>;_BR{x>|4=5_nVD4NO0c@R{pJem)`@UzodNt#fMJ4 zn$fE2xwQ>`1@jWMsfp=2bCSNxEj}D` z45LKYa*lVh;mt_vpaKLrmcfidY(}s`M@yC4AZsL+aStESJw~VdbBf};_Pj7eRsn3y zfu+iO*29Ww0lvHNmt0)56;_7vg~rWsva!+!8Qisvl0x@5!y3Ks#uJVf(oK1a<<%<* z!>7zKZqPhQGwEAv6q3#*46&Cqq&A6kmCU(P%Lq-pma~=T|fLX`=1UxK?YXxyDjyqS1Dftr2#xrtk z=)!oOJp79s{)cE5_zn2u^*mwH!&6q36Lpp)vmRrNQ@tkDFvhat2>c4T zslL)Jzto9Bc-C;?ospgcd2xqrmXwx6XhgiA*($>gKfHRMcUK2FvP{>N8zu z9;3sDa}`_$2hsGwHn$Kbdp zaPqDSUzAozE-DFS9X(7IjW7Yza`kbXP14#U1-F4gN}xI~T?*B#$da}dym=VmBm^Z< zB`G783KBYJ*yu%bRLS>QOGb-Y`~TW|)~>dZWcMrl3WYt%*x?b|5JJLc_Bz-kzC(bu zVJCAlIX=RcL5W}2k`vfDxxf9^qq|itwPeh^c6RXY1W8?0U0vN>UDc23q`UA2>XPgL zymgw+F{rzbsi#cb0;(~0WmSLms*;SPSXEukKJNcJvTAXnTK|Kj-xb`KjF48vudK+1 z05$bEvGjxlxcOO?{qGJCuT(uh!qXo_<)NekX4KzF z4BiW|-;DaZ%EmX|3?v4Fo(y^ z(t{JIpwUnWm$32TAmzv8)(<{|%r->~F zy1{D;%K+lZ@@$<7OdT3d`E4@LptdyLf7g81JfOHYUD_4-flu(b(~JRUcu*l67Yo_a zba&oIQRu-)a?t3qf=IQ%41hb@6y=zO%`@l)B;F1hMieN3x9xKrXP3jH_M~ai)2_6% z_&MA`QkOc!`z_q^RSfg)&=!uyLj49Kz~2HcuR;Wq8>Xo_3X~^qb)YH1OyrWG!O^Vp z>aEE8Nyuk6oNRb&7{q8z@3}ud>z=mpX6f_JhF4 zUm$m>j`7p#YW8~h@kCWNAFc9xc(o5!wcneD{jje$^t*<@1#?*G)3nI}}_?d{(BFs)-?Sa8i$(hzVOq0H9~I*BJfhb;tT zikUT|H1CK`?XuPp|I`uY$9bh?<0-Re+GPN7&GaB?-- zb)8{U9dFL#5OuMdl*@xCWSC~Em*+R#Y*QOYt$}+oz2UW6vPSfPuWL>k0f~uC>Re9L zX6%23o?aRD9;03~Hp=F=yag6*c#9f-RCoAD($EYG_R&(wH^05OHvY08WH4R3mnaw( zxYkQz_6%l!NzA^%jKbwGqtN8JBxc`WUQCyi&{SjkOP145Bor;lZKN@SB{2hoIam^N zU@$M2#Jn_^YQNBO=z5cpq7g1xKcT6g-jaOx5?SFspe4mcTZeQzUXtg?@Ek3fZFCE7 z#8ztQVS2G{Q@a>gDcyP`&sTZ@$=0Fwuo#z-Qd&f5^V{~twGKJKi9MOvOC|PYVn3Bg z+C?WuVG2_w_EU+ZBMd`RJJFYU`e}xuB(V{BkG#tDU_c?5IXw{RO-K4bq#rucFGc!m zM|#o&^Ejmbl~^(wESx417kM1GcvQV5ON3Gq`AaEADJe!Gla9ztse{vMg@J;67gx z^|`^^TM~2c=Ub+K7OVf>GW~5VQ}#S`#EGTc58hsGe2_cPxU^~f8N9ClFi(I7w{)C3 zFdwT=DNr58sVlE1A8nhGhc_4YjthGyjlG?Nz3sx@PGi?{uxl>tn#196AYV)!$Z3a! z#z+_PwF~(=&3842@2ZRMY8tzegI#f9S5nx|-N?@!xX)9ldv4S{2kM@~e{-PvE^(#3 zr(OM-0MBg#0lOJo_zOJ zz0*wGdHK5hEP(CCJ5Dy0*}2^Ca?^GSF}DjaYXz7%Q;?T*U6^CFAje7(=JR~Sy#hR( z%*aXV6>-|n$Kz>}JiMYrF{P3Np{7oHQ2~saSIOgUs%Bv#JyoM(3?>#j&jF<;bQlXv z)Z*Z9`Fif>EH0C>bE~fUY3smiHPY&6=9+RcA*8oi-P@={O-9Zx~9 zYTDEDj(b`~?P(2V;l0*)l2%)&`h)hieA&rTXq<^s99eHI`DWt`!;#|ZNWQehi$DOF zwt_GZZKK=M`n-91CK?yM;d1?1>-cqsaHGAOKsMUXT;y8*cC9%GX3n(9+hA1Zo9|4i zC(Ur00~|&@UF?3`8V@EJj#`t}n0s3|8MgxpMM%TRwO60VlQ;e_w!W${Ms?I2trL+A z2;Dfb+4Kw9YW#8`Q#{_{F_5JLP}#XSU3+BOk5nC+Ojkvy zrz7 zRtI}l&19SFgbziRrmy?SvEkw~3M4~o-Kxwx1bO#-&a#-9{Y#5in z6jbMJyZ*LFL<^YSzmrUP27-G5&q1gn>njtj#<0IiE%AlCLJ@G&;Zyy7-wHh;j%un6 zgevBN2)4lSInuEyC^W$=;7*rLq0gq-a%e#cB`^x_FJEAJdUyqAWs;dUkH-yNTPZ!t6APJ&~U1j0O?*crd>;{Qw(#p*sIZiKIdAZUBI*$At+$y;y z!~PEJGRcHyI&pv1naE<)eMNPX)msJV?Eo(C$NXfD1oCQ{JG5U>vLXNUl(4@@|C;NcxtA z4KH<9!@h~h1VvLH3QxRdiiYQ2UFBW9Til)uDRukqE&T{qjKYU_;NUIyAT7bNE$?yW zUwl3khDWaha~DoFmz1y^nXapC4xi|KD+(_0lFza!PjV`hku|_$E7VU4dkHy$hGnEX z2vRm(wOUvhkSN8a(8bh?f^OJ{@9&$f?s2QpJU+7{vw<8*zr){`yj=ujvmQQn2*(Ij ze%%5@E(BE#zOC|h$2c6%gX}3ebpsDPZfM@{u7;z-xAoTrcjhFw%4m~J2}yarsaq6T z$!o2qg7|PIj%@jiG3T8UKgmZ1eEVt!hzAn1xS3mh3}xeoV{GfP9Qyc?671sUuOunC z*bpr{Af0zb$KDGpTb(_KLSICFhc?S96t^68-kh}0O6l#V%*mF5BML&>-U?5_8eGuA zW{Xn+8i4W6rp$dhFVp%t`C^Xmxq6=}gy?9g5EUw5*3_IAop#lQL=;C71E=Kl3R#!y zihJmcqWJa=Rh}gn`@&IoHBV=gOFROXsp_J-PIs!Q4li`xI(F9C6s6BlOhJe=x5gAw z5{V7b^u?Hqu=wsGg+xNW1rouPlcT)4Tra)Tv+mJJy^-AXr8)WAOBJGkos4d$eb8+l zI{?>pWh06y6;Cy}+Tzq)!)qsVyEF|aNi_mZ43brc{y_%mJ~)gzhwC=i{0UTq{e=aj zzv&fzZ?RdkVfPvqr%Pc{I83bqKoSmak0(a-;aIj??1Y>RUe@S4wWG4CKqSg+)SZ_s zMee}-__vH{rV`d)YTHcAZ>Fnb(@;_Qa7a*-dk%bVueU37T^qKf$~8Cnom)wT4eC2~ zXdM>d`{0`y-eexlM|?54&sV2gdC@#cMCkop&qF+tglW8nzSG zS)*yl8`I@p`lt=+AiCt^Zp>*|-tqXNI(-5vT1zx3bT?VZ|Rs@vPu-Df+sXU}%wdv$kr z_t{@6zeMJXesgU0kmYPLiHqPCrKbz`2l;{0!{`dK%HackI{?MXK}lYCZ|Z0DAL?)G z8(zZ?qxq-6`&)kt^rC;`kNp4oINch|KZbEM-|9_9-)j8H^kx=bUd3MNpzPHu)vD(m zp8t32taI)iwcfVQnvFcLI zNC^fP;C$vyrWF1i*uC-ax=@3WIKG-dYVbK=QsHPi41qF~Yvzw*9J7$Z+h+UV4WQIt zwT@b6Kj3B3hpn^YW~bvFp0vHXM|0Z;=STIncY5AFJ?S*JJg*Z3G~fY&0uc|WmOzaC z09?aigav;>u_ne8Y(h;{w~h}_x^Gth%9=a<8NkQA;k+MsYf`msU9F{}R-me6<{M9d!FnFy`8ODn9&Dn~Gri-1^4iea=b z3q@r&}pYYU=W_NLQDsx~P~? zY(zu1MMu8NRnsk&fi3vkFFx+mf}H1GklR-)Vv85rQjqSYvwfNu_uOkpD)Cm6=KBS` z6U^plK81k88rUkS3?jp5tn?f;>0$rRSFHjK+b#0y)Z?Ef9 zycnY@ISpZ%gMTVl{!YJq{~sKtU&j4k;Qv>*tJ_)s|7m6S-v9p%ewP1FRetaO-@E_+ z#_s>ylZM0l=da5-*Jh^RZ&BQbact}A+tpPZI59iDRelhXt%(Z{X0Oam;Lp_F84M#m znvCNs@!t1u#2d)f0tRa<4#bBj=uO6b@c|6Rs(R(Chy3wG1L6aT7Yw&NJGBPmChx|C)>go4Fx&H#@@`jHafnU7WN}$>Ar#5QZAp98xy; zp_cxzZDkt!JMZ^C=v*%6VV`ob_Y>pZN99;ShPtd~@8s*_I)-_#u2im{J>A{etv=h% z1*!oMs^Mpq-M(NQt#cpUsp|g96IOe)#*zi75x{8rW97$+4FXQy#V}y}K=TfdGrU93 z2Au^LFlrDe_&gU-EYJd6mk}tTI29go5une~~p`zX^)5`=(iMG~2+$>(&8e zPV3L!^Szp20jf9bL1TGejP+q3ja>rPO$&1Tn(0y?>p94gw*3EO)dJQ4GR+VkdZ)5% zSV^?XCuBKUSe9qgn2ahAy2nlvEb11gkg~k8do>>= z;ECXpa+?gYlr>4KUK`DSwho%uuBa*HOP^XjZp2NasoPw!gE8_yPmaia@o?*Mi>&DX(!aPRBZw9 z+#M%bWZv@l!T<(6)rHipz}=rm#>}&+Mrht`FxmmqrTx^o`Q-4)_t^@xV>A5nt`#L4 zWjM>x(jtV{hQ-0yO-Us><=mUkW>6bAze!jJr{{n5zFdV+RafAV41wUAV_`&2f7 z%EWPh3ONFFZ0f=saD#z-@&z{pdCAl<6fD(ItAq@BvwN|%x?(FnQwd-m?~Cv0T1X{Z zqE4mR(xb$zCQD-YYei4Eb@<$3BjIS$gBrsR9+(OGbf3-rQGdq6+0g`sL;!DqUJ1wK zjCpN=l4T%$$W?OD<__7fzJI#+K^o=Bf$8Lcv_23m;WUBT`|S@>G;{!X-;vYy`)b9? z>0q|wBDnLun&C)?WwO5EVQcxV<$!BB;Eo({M{YPgv+OF%)Azepq49XOL>0%iT}9k| z|I{iWpO3e{h%@xk0dXCjmg%YU)2`f~CCu}8eSF_bPW2~;{dEig8)Ms~ZX1l6`Brma zR84BtU{uVvN)|)MJTQR}OmqYlGQom2fgO@~4<>Mfr{g(T7$$T>6448KD^drh6Pw-4f{An9;DMoz$x3K&QMV=7<>1&kAB zwPT=kHj@n&qXBpnE`XwInB)JR37=*_DW<}~tm0B}v@&2DvxGz6B_-v8{>y6Q3Ls0C z&hrVnIgZ;C>9`emZBJ~kZ3$da~KK^`sTQfC%kXeRD{-Q|z+bFBZwlgTjJ z>iu$g6tDl(cAr&u)9XJ^pVpqzn4g?yFY4L*Mt3?|8(ki~n#gl}t7yr}`1+B9f0! za4Pa`^KG{SHFfZY@~f1SLg0is@TT3P=J86Yx+?$vee-kz?Bm7wgoYVHfrE z2ABz`&`;2&HoWO%I>+8bMPg<*p|kk2%g^sW@OLoBmz?w@RSA}L=Z@=!q z%lbN2G|>$|n6PDF=wo;$<|3kJJQy>HgO(Q|l;Pw08b6C~h~uyJr5 zV>p-oM1>^5Ku{|yUvU-^DxpLeAb|&5IPAe?@6jVqd`C)r7E6b?;WR8X9j(UzG8!54 zVzGWiu|7i3PaniNJMZHj}zwm60ebPS9EGnK83 zEc_2dEk67hr@kb0V%6S)$^gPI%rnq@kt<0|u=#q)d~qY!AAp9IuVR6D$gc+d5sB^V zFWd#pSwsh|2MQ_?0+KBmvR3yogfhGc$)zPcHncL0F8rX_VnV=&22GeZw?}6L$2}#d z`WV3!*d;gxk`>%n!&Fjw!pV9sS#8ZUtaOSRMpJJ zqM2p7D`0;Lf+=BxAh))*1a6M*um~va`ca20`kIWx4X`vL4ka<0p!s?OgX#-hiG%Tl z#xjgF$aa|-ZNA`^`e^F+H~@A}?oTb1da4`Xgp7K@E>Je{-2A8)hHgv>=|n2DhsWJ3 z*UttDk=gA)Q<{>|u!*xK(5ez%cwq*T20_qQW24?8jA%44bpcHck@%`@9FviVpXp$9xsB+a6BekLh-f~+hRO*vTVq^xcl`=rHWukqrUc)#?BEtvydu; z3V~{_okmkIYbOwR+E7s3t*+pqkVi*#Wj>qFsslfsa`V%A3*W7-f%$H3PQkiiu0+>O zLha?q0*Z_##{hjUDHma66v{LcNh%f66aejFD$sb3+Gp^=wH8A<7azB_k_5pClE}gBdkm} zH*eD)QVpR{JWkE!l29sk+bE|K z?IUomKKsLYkl(2RG|e<}+Bs_t_! zHEJo?c^J%5D;)pO6tT_bkcyy(_7}I9@npP79py>vU*u|6g6#sV>{IeQUn%m|so6~7 z5vs%cF07-Nrg;OIgqJ^Ez0(y2?XPmj}mZemm>8XdAHJg;4EQ-(>q*)^B z9+dQvlX~Et?0X+|5_@vWkHa)}r}&FEGwzC0PKP0sl!E=>;=>3x2x@V$;)>=MMo;9L zBJlsNA&@Tba5DJ>?2C%V8IcW0@FV;)HAN>~4C4uW*Arrx>`ir1IbuJeCt7<72r7rN zJ>)7nNL9_j2q9piRN|;dBQ*&MeGO+&xcsWGanC~yi<6PPv6u&osI&INXgV>|$OuT% zOrUI`W%Ra@8u@hN*t8DZ4*&zQxv_xK%!tfk-W3c>g(e2E(~N@A2>em(;L&;yV=R^w z;3g75kjJHH-Tr8sG$NN|+8LORqeM2~@m_!y8f{QG^)J+2)Z8p}nuoOEmz>~>faEmv zZvvWo*6S}*BsoCQtJNPREs9u6iCvuwSfocyo?M@rCT0do9U?hB?<$QN*{!DYxJO^1 zw`|awz?8%24u&3v)4AfZE~!4$VOP@AYt$wh9_@(2LJ5DS86VP;!Va|TUHaF%=);Er8K9*$)7QZ zTFPh;(u%kRutB-@aM)klKol}7tJoSjWVp7YS~lZqw&O_gSXaD4M)MKX#x zMxE9U3|Pwoj{7da?JVFd1=tS;{(Kl`;NmMAPADO=g}xT8Qt81-M=70*hc})!ByHV- zMg%Y5gb~>}7^e-b^HIo4E>S>Rv~ezqz|yJ-rRhP_BT`8#s5yB>!pwg2CqlG_f=9T9r!(NLY>ft7`B3-v)N@5lJy*qZO+0Ul=N<9< zR6OsB=V#)1Pdq>8DMx0JXD{XacQO`<#*w~`APJ4j)q)duo0}vQbiQ)tQ@oOr%in1h z+IzwD%6Dl`_0B=7s8~}Bul!<3a+ZUtnu@2 zZ5S1FAoO~A{upn_xS%-$+~kF^($F#1IP6pX8XXSfmfbAT>k#}G>~ka?b&X=7)$|AH zbB^YYMO6C{e*fX_kJ9(JnSH%Kb8-K>|K0!YfA_!p-~I3YcmKQp-T&@?_rLq!{qO#F X|GWR)|L%YHKlS^6&`PWa0Kg3Z^U`wA literal 0 HcmV?d00001 diff --git a/makedumpfile-modify-SECTIONS_SIZE_BITS-to-27-for-arm.patch b/makedumpfile-modify-SECTIONS_SIZE_BITS-to-27-for-arm.patch new file mode 100644 index 0000000..be148fb --- /dev/null +++ b/makedumpfile-modify-SECTIONS_SIZE_BITS-to-27-for-arm.patch @@ -0,0 +1,28 @@ +From 2aa3a429d035e9549b25efe06b06503d60a845c8 Mon Sep 17 00:00:00 2001 +From: YunFeng Ye +Date: Thu, 4 Jul 2019 00:05:35 +0800 +Subject: [PATCH] kexec-tools: modify SECTIONS_SIZE_BITS to 27 for arm64 + +reason: modify SECTIONS_SIZE_BITS to 27 for arm64 + +Signed-off-by: YunFeng Ye +--- + arch/arm64.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm64.c b/arch/arm64.c +index 2fd3e18..749ff2e 100644 +--- a/makedumpfile-1.6.4/arch/arm64.c ++++ b/makedumpfile-1.6.4/arch/arm64.c +@@ -73,7 +73,7 @@ static unsigned long kimage_voffset; + #define PTRS_PER_PMD PTRS_PER_PTE + + #define PAGE_PRESENT (1 << 0) +-#define SECTIONS_SIZE_BITS 30 ++#define SECTIONS_SIZE_BITS 27 + /* Highest possible physical address supported */ + #define PHYS_MASK_SHIFT 48 + #define PHYS_MASK ((1UL << PHYS_MASK_SHIFT) - 1) +-- +1.8.3.1 + diff --git a/mkdumprd b/mkdumprd new file mode 100644 index 0000000..078f988 --- /dev/null +++ b/mkdumprd @@ -0,0 +1,466 @@ +#!/bin/bash --norc +# New mkdumprd +# +# Copyright 2011 Red Hat, Inc. +# +# Written by Cong Wang +# + +[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut +. $dracutbasedir/dracut-functions.sh +. /lib/kdump/kdump-lib.sh +export IN_KDUMP=1 + +conf_file="/etc/kdump.conf" +SSH_KEY_LOCATION="/root/.ssh/kdump_id_rsa" +SAVE_PATH=$(grep ^path $conf_file| cut -d' ' -f2) +[ -z "$SAVE_PATH" ] && SAVE_PATH=$DEFAULT_PATH +# strip the duplicated "/" +SAVE_PATH=$(echo $SAVE_PATH | tr -s /) + +is_wdt_addition_needed() { + local active + + is_wdt_mod_omitted + [[ $? -eq 0 ]] && return 1 + [[ -d /sys/class/watchdog/ ]] || return 1 + for dir in /sys/class/watchdog/*; do + [[ -f "$dir/state" ]] || continue + active=$(< "$dir/state") + [[ "$active" = "active" ]] && return 0 + done + return 1 +} + +WDTCFG="" +is_wdt_addition_needed +[[ $? -eq 0 ]] && WDTCFG="-a watchdog" + +extra_modules="" +dracut_args=("--quiet" "--hostonly" "--hostonly-cmdline" "--hostonly-i18n" "--hostonly-mode" "strict" "-o" "plymouth dash resume ifcfg" $WDTCFG) +OVERRIDE_RESETTABLE=0 + +add_dracut_arg() { + local arg qarg is_quoted=0 + while [ $# -gt 0 ]; + do + arg="${1//\'/\"}" + #Handle quoted substring properly for passing it to dracut_args array. + if [ $is_quoted -eq 0 ]; then + if [[ "$arg" == "\"" ]] || [[ $arg != ${arg#\"} ]]; then + is_quoted=1 + arg=${arg#\"} + fi + fi + if [ $is_quoted -eq 1 ]; then + qarg="$qarg $arg" + if [[ "$arg" == "\"" ]] || [[ $arg != ${arg%\"} ]]; then + is_quoted=0 + arg=${qarg%\"} + qarg="" + else + shift + continue + fi + fi + dracut_args+=("$arg") + shift + done +} + +add_dracut_module() { + add_dracut_arg "--add" "$1" +} + +add_dracut_mount() { + add_dracut_arg "--mount" "$1" +} + +add_dracut_sshkey() { + add_dracut_arg "--sshkey" "$1" +} + +# caller should ensure $1 is valid and mounted in 1st kernel +to_mount() { + local _dev=$1 _source _target _fstype _options _mntopts _pdev + + _source=$(findmnt -k -f -n -r -o SOURCE $_dev) + _target=$(get_mntpoint_from_target $_dev) + # mount under /sysroot if dump to root disk or mount under + #/kdumproot/$_target in other cases in 2nd kernel. systemd + #will be in charge to umount it. + + if [ "$_target" = "/" ];then + _target="/sysroot" + else + _target="/kdumproot/$_target" + fi + + _fstype=$(findmnt -k -f -n -r -o FSTYPE $_dev) + [[ -e /etc/fstab ]] && _options=$(findmnt --fstab -f -n -r -o OPTIONS $_dev) + [ -z "$_options" ] && _options=$(findmnt -k -f -n -r -o OPTIONS $_dev) + # with 'noauto' in fstab nfs and non-root disk mount will fail in 2nd + # kernel, filter it out here. + _options=$(echo $_options | sed 's/\bnoauto\b//') + #mount fs target as rw in 2nd kernel + _options=$(echo $_options | sed 's/\bro\b/rw/') + # drop nofail or nobootwait + _options=$(echo $_options | sed 's/\bnofail\b//') + _options=$(echo $_options | sed 's/\bnobootwait\b//') + + _mntopts="$_target $_fstype $_options" + #for non-nfs _dev converting to use udev persistent name + if [ -b "$_source" ]; then + _pdev="$(get_persistent_dev $_source)" + if [ -z "$_pdev" ]; then + return 1 + fi + + else + _pdev=$_dev + fi + + echo "$_pdev $_mntopts" +} + +is_readonly_mount() { + local _mnt + _mnt=$(findmnt -k -f -n -r -o OPTIONS $1) + + #fs/proc_namespace.c: show_mountinfo(): + #seq_puts(m, mnt->mnt_flags & MNT_READONLY ? " ro" : " rw"); + [[ "$_mnt" =~ ^ro ]] +} + +#Function: get_ssh_size +#$1=dump target +#called from while loop and shouldn't read from stdin, so we're using "ssh -n" +get_ssh_size() { + local _opt _out _size + _opt="-i $SSH_KEY_LOCATION -o BatchMode=yes -o StrictHostKeyChecking=yes" + _out=$(ssh -q -n $_opt $1 "df -P $SAVE_PATH") + [ $? -ne 0 ] && { + perror_exit "checking remote ssh server available size failed." + } + + #ssh output removed the line break, so print field NF-2 + _size=$(echo -n $_out| awk '{avail=NF-2; print $avail}') + echo -n $_size +} + +#mkdir if save path does not exist on ssh dump target +#$1=ssh dump target +#caller should ensure write permission on $DUMP_TARGET:$SAVE_PATH +#called from while loop and shouldn't read from stdin, so we're using "ssh -n" +mkdir_save_path_ssh() +{ + local _opt _dir + _opt="-i $SSH_KEY_LOCATION -o BatchMode=yes -o StrictHostKeyChecking=yes" + ssh -qn $_opt $1 mkdir -p $SAVE_PATH 2>&1 > /dev/null + _ret=$? + if [ $_ret -ne 0 ]; then + perror_exit "mkdir failed on $DUMP_TARGET:$SAVE_PATH" + fi + + #check whether user has write permission on $SAVE_PATH/$DUMP_TARGET + _dir=$(ssh -qn $_opt $1 mktemp -dqp $SAVE_PATH 2>/dev/null) + _ret=$? + if [ $_ret -ne 0 ]; then + perror_exit "Could not create temporary directory on $DUMP_TARGET:$SAVE_PATH. Make sure user has write permission on destination" + fi + ssh -qn $_opt $1 rmdir $_dir + + return 0 +} + +#Function: get_fs_size +#$1=dump target +get_fs_size() { + local _mnt=$(get_mntpoint_from_target $1) + echo -n $(df -P "${_mnt}/$SAVE_PATH"|tail -1|awk '{print $4}') +} + +#Function: get_raw_size +#$1=dump target +get_raw_size() { + echo -n $(fdisk -s "$1") +} + +#Function: check_size +#$1: dump type string ('raw', 'fs', 'ssh') +#$2: dump target +check_size() { + local avail memtotal + + memtotal=$(awk '/MemTotal/{print $2}' /proc/meminfo) + case "$1" in + raw) + avail=$(get_raw_size "$2") + ;; + ssh) + avail=$(get_ssh_size "$2") + ;; + fs) + avail=$(get_fs_size "$2") + ;; + *) + return + esac + + if [ $? -ne 0 ]; then + perror_exit "Check dump target size failed" + fi + + if [ $avail -lt $memtotal ]; then + echo "Warning: There might not be enough space to save a vmcore." + echo " The size of $2 should be greater than $memtotal kilo bytes." + fi +} + +# $1: core_collector config value +verify_core_collector() { + if grep -q "^raw" $conf_file && [ "${1%% *}" != "makedumpfile" ]; then + echo "Warning: specifying a non-makedumpfile core collector, you will have to recover the vmcore manually." + fi + if is_ssh_dump_target || is_raw_dump_target; then + if [ "${1%% *}" = "makedumpfile" ]; then + ! strstr "$1" "-F" && { + perror_exit "The specified dump target needs makedumpfile \"-F\" option." + } + fi + fi +} + +add_mount() { + local _mnt=$(to_mount "$1") + + if [ $? -ne 0 ]; then + exit 1 + fi + + add_dracut_mount "$_mnt" +} + +#handle the case user does not specify the dump target explicitly +handle_default_dump_target() +{ + local _target + local _mntpoint + + is_user_configured_dump_target && return + + check_save_path_fs $SAVE_PATH + + _mntpoint=$(get_mntpoint_from_path $SAVE_PATH) + _target=$(get_target_from_path $SAVE_PATH) + + if is_atomic && is_bind_mount $_mntpoint; then + SAVE_PATH=${SAVE_PATH##"$_mntpoint"} + # the real dump path in the 2nd kernel, if the mount point is bind mounted. + SAVE_PATH=$(get_bind_mount_directory $_mntpoint)/$SAVE_PATH + _mntpoint=$(get_mntpoint_from_target $_target) + + # the absolute path in the 1st kernel + SAVE_PATH=$_mntpoint/$SAVE_PATH + fi + + SAVE_PATH=${SAVE_PATH##"$_mntpoint"} + add_mount "$_target" + check_size fs $_target +} + +get_override_resettable() +{ + local override_resettable + + override_resettable=$(grep "^override_resettable" $conf_file) + if [ -n "$override_resettable" ]; then + OVERRIDE_RESETTABLE=$(echo $override_resettable | cut -d' ' -f2) + if [ "$OVERRIDE_RESETTABLE" != "0" ] && [ "$OVERRIDE_RESETTABLE" != "1" ];then + perror_exit "override_resettable value $OVERRIDE_RESETTABLE is invalid" + fi + fi +} + + +# $1: function name +for_each_block_target() +{ + local dev majmin + + for dev in $(get_kdump_targets); do + [ -b "$dev" ] || continue + majmin=$(get_maj_min $dev) + check_block_and_slaves $1 $majmin && return 1 + done + + return 0 +} + + + +#judge if a specific device with $1 is unresettable +#return false if unresettable. +is_unresettable() +{ + local path="/sys/$(udevadm info --query=all --path=/sys/dev/block/$1 | awk '/^P:/ {print $2}' | sed -e 's/\(cciss[0-9]\+\/\).*/\1/g' -e 's/\/block\/.*$//')/resettable" + local resettable=1 + + if [ -f "$path" ] + then + resettable="$(cat $path)" + [ $resettable -eq 0 -a "$OVERRIDE_RESETTABLE" -eq 0 ] && { + local device=$(udevadm info --query=all --path=/sys/dev/block/$1 | awk -F= '/DEVNAME/{print $2}') + echo "Error: Can not save vmcore because device $device is unresettable" + return 0 + } + fi + + return 1 +} + +#check if machine is resettable. +#return true if resettable +check_resettable() +{ + local _ret _target + + get_override_resettable + + for_each_block_target is_unresettable + _ret=$? + + [ $_ret -eq 0 ] && return + + return 1 +} + +# $1: maj:min +is_crypt() +{ + local majmin=$1 dev line ID_FS_TYPE="" + + line=$(udevadm info --query=property --path=/sys/dev/block/$majmin \ + | grep "^ID_FS_TYPE") + eval "$line" + [[ "$ID_FS_TYPE" = "crypto_LUKS" ]] && { + dev=$(udevadm info --query=all --path=/sys/dev/block/$majmin | awk -F= '/DEVNAME/{print $2}') + echo "Device $dev is encrypted." + return 0 + } + return 1 +} + +check_crypt() +{ + local _ret _target + + for_each_block_target is_crypt + _ret=$? + + [ $_ret -eq 0 ] && return + + return 1 +} + +if ! check_resettable; then + exit 1 +fi + +if ! check_crypt; then + echo "Warning: Encrypted device is in dump path. User will prompted for password during second kernel boot." +fi + +# firstly get right SSH_KEY_LOCATION +keyfile=$(awk '/^sshkey/ {print $2}' $conf_file) +if [ -f "$keyfile" ]; then + # canonicalize the path + SSH_KEY_LOCATION=$(/usr/bin/readlink -m $keyfile) +fi + +if [ "$(uname -m)" = "s390x" ]; then + add_dracut_module "znet" +fi + +while read config_opt config_val; +do + # remove inline comments after the end of a directive. + config_val=$(strip_comments $config_val) + case "$config_opt" in + extra_modules) + extra_modules="$extra_modules $config_val" + ;; + ext[234]|xfs|btrfs|minix|nfs) + if ! findmnt $config_val >/dev/null; then + perror_exit "Dump target $config_val is probably not mounted." + fi + + _absolute_save_path=$(make_absolute_save_path $config_val) + _mntpoint=$(get_mntpoint_from_path $_absolute_save_path) + if is_atomic && is_bind_mount $_mntpoint; then + SAVE_PATH=${_absolute_save_path##"$_mntpoint"} + # the real dump path in the 2nd kernel, if the mount point is bind mounted. + SAVE_PATH=$(get_bind_mount_directory $_mntpoint)/$SAVE_PATH + fi + + add_mount "$config_val" + check_save_path_fs $_absolute_save_path + check_size fs $config_val + ;; + raw) + #checking raw disk writable + dd if=$config_val count=1 of=/dev/null > /dev/null 2>&1 || { + perror_exit "Bad raw disk $config_val" + } + _praw=$(persistent_policy="by-id" get_persistent_dev $config_val) + if [ -z "$_praw" ]; then + exit 1 + fi + add_dracut_arg "--device" "$_praw" + check_size raw $config_val + ;; + ssh) + if strstr "$config_val" "@"; + then + check_size ssh $config_val + mkdir_save_path_ssh $config_val + add_dracut_module "ssh-client" + add_dracut_sshkey "$SSH_KEY_LOCATION" + else + perror_exit "Bad ssh dump target $config_val" + fi + ;; + core_collector) + verify_core_collector "$config_val" + ;; + dracut_args) + add_dracut_arg $config_val + ;; + *) + if [ -n $(echo $config_opt | grep "^#.*$") ] + then + continue + fi + ;; + esac +done < $conf_file + +handle_default_dump_target + +if [ -n "$extra_modules" ] +then + add_dracut_arg "--add-drivers" "$extra_modules" +fi + +if ! is_fadump_capable; then + # The 2nd rootfs mount stays behind the normal dump target mount, + # so it doesn't affect the logic of check_dump_fs_modified(). + is_dump_to_rootfs && add_mount "$(to_dev_name $(get_root_fs_device))" + + add_dracut_arg "--no-hostonly-default-device" +fi + +dracut "${dracut_args[@]}" "$@" +_rc=$? +sync +exit $_rc diff --git a/mkdumprd.8 b/mkdumprd.8 new file mode 100644 index 0000000..7faae57 --- /dev/null +++ b/mkdumprd.8 @@ -0,0 +1,33 @@ +.TH MKDUMRD 8 "Fri Feb 9 2007" +.SH NAME +mkdumprd \- creates initial ramdisk images for kdump crash recovery +.SH SYNOPSIS +\fBmkdumprd\fR [OPTION] + +.SH DESCRIPTION +\fBmkdumprd\fR creates an initial ram file system for use in conjunction with +the booting of a kernel within the kdump framework for crash recovery. +\fBmkdumprds\fR purpose is to create an initial ram filesystem capable of copying +the crashed systems vmcore image to a location specified in \fI/etc/kdump.conf + +\fBmkdumprd\fR interrogates the running system to understand what modules need to +be loaded in the initramfs (based on configuration retrieved from +\fI/etc/kdump.conf)\fR + +\fBmkdumprd\fR add a new \fBdracut\fR module 99kdumpbase and use \fBdracut\fR +utility to generate the initramfs. + +\fBmkdumprd\fR was not intended for casual use outside of the service +initialization script for the kdump utility, and should not be run manually. If +you require a custom kdump initramfs image, it is suggested that you use the +kdump service infrastructure to create one, and then manually unpack, modify and +repack the image. + + +.SH OPTIONS +.TP +All options here are passed to dracut directly, please refer \fBdracut\fR docs +for the info. + +.SH "SEE ALSO" +.BR dracut (8) diff --git a/vmcore-dmesg-fix-infinite-loop-if-log-buffer-wraps-a.patch b/vmcore-dmesg-fix-infinite-loop-if-log-buffer-wraps-a.patch new file mode 100644 index 0000000..2a1418c --- /dev/null +++ b/vmcore-dmesg-fix-infinite-loop-if-log-buffer-wraps-a.patch @@ -0,0 +1,37 @@ +From e277fa9ec702fea7bd3135393c67327c821d5a3a Mon Sep 17 00:00:00 2001 +From: Omar Sandoval +Date: Wed, 23 May 2018 13:59:31 -0700 +Subject: [PATCH 08/37] vmcore-dmesg: fix infinite loop if log buffer wraps + around + +We hit a bug where vmcore-dmesg would get stuck in a loop, and since we +were redirecting the output to a file, it wouldn't stop until it filled +up the disk. This only happened when the dmesg buffer had filled up and +wrapped around. It turns out that when we hit the end of the buffer, we +are looping back to the first record instead of the beginning of the +buffer, which will always loop forever. + +Fixes: e08d26b3b7f1 ("vmcore-dmesg: avoid allocating large memory chunk for log buf") +Signed-off-by: Omar Sandoval +Acked-by: Baoquan He +Signed-off-by: Simon Horman +--- + vmcore-dmesg/vmcore-dmesg.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/vmcore-dmesg/vmcore-dmesg.c b/vmcore-dmesg/vmcore-dmesg.c +index e340ef4..7972788 100644 +--- a/vmcore-dmesg/vmcore-dmesg.c ++++ b/vmcore-dmesg/vmcore-dmesg.c +@@ -689,7 +689,7 @@ static void dump_dmesg_structured(int fd) + */ + loglen = struct_val_u16(buf, log_offset_len); + if (!loglen) +- current_idx = log_first_idx; ++ current_idx = 0; + else + /* Move to next record */ + current_idx += loglen; +-- +2.6.4.windows.1 + diff --git a/x86-Check-proc-mounts-before-mtab-for-mounts.patch b/x86-Check-proc-mounts-before-mtab-for-mounts.patch new file mode 100644 index 0000000..958d4a4 --- /dev/null +++ b/x86-Check-proc-mounts-before-mtab-for-mounts.patch @@ -0,0 +1,70 @@ +From 23aaa44614a02d2184951142125cb55b36cef40a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= +Date: Mon, 29 Apr 2019 10:22:26 +0200 +Subject: [PATCH 04/20] x86: Check /proc/mounts before mtab for mounts +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/?id=23aaa44614a02d2184951142125cb55b36cef40a + +In many situations, especially on read-only file systems +and initial ramdisks (intramfs/initrd), /etc/mtab does not exist. + +Before this commit, kexec would fail to read mounts on such systems +in `find_mnt_by_fsname()`, such that `get_bootparam()` would not +`boot_params/data`, which would then lead to e.g. `setup_efi_data()` +not being called in `setup_efi_info()`. + +As a result, kexec'ed kernels would not obtain EFI data, +subsequentially lack an `ACPI RSDP` entry, emitting: + + ACPI BIOS Error (bug): A valid RSDP was not found (20180810/tbxfroot-210) + +and thus fail to turn off the machine on poweroff, instead printing only: + + reboot: System halted + +This problem had to be worked around by passing `acpi_rsdp=` manually +before. This commit obviates this workaround. + +See also: + +* https://github.com/coreos/bugs/issues/167#issuecomment-487320879 +* http://lists.infradead.org/pipermail/kexec/2012-October/006924.html + +Signed-off-by: Niklas Hambüchen +Signed-off-by: Simon Horman +--- + kexec/arch/i386/x86-linux-setup.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c +index 8fad115..74fb0c4 100644 +--- a/kexec/arch/i386/x86-linux-setup.c ++++ b/kexec/arch/i386/x86-linux-setup.c +@@ -432,7 +432,7 @@ out: + /* + * This really only makes sense for virtual filesystems that are only expected + * to be mounted once (sysfs, debugsfs, proc), as it will return the first +- * instance listed in mtab. ++ * instance listed in /proc/mounts, falling back to mtab if absent. + */ + char *find_mnt_by_fsname(char *fsname) + { +@@ -440,7 +440,11 @@ char *find_mnt_by_fsname(char *fsname) + struct mntent *mnt; + char *mntdir; + +- mtab = setmntent("/etc/mtab", "r"); ++ mtab = setmntent("/proc/mounts", "r"); ++ if (!mtab) { ++ // Fall back to mtab ++ mtab = setmntent("/etc/mtab", "r"); ++ } + if (!mtab) + return NULL; + for(mnt = getmntent(mtab); mnt; mnt = getmntent(mtab)) { +-- +1.8.3.1 + diff --git a/x86-Find-mounts-by-FS-type-not-name.patch b/x86-Find-mounts-by-FS-type-not-name.patch new file mode 100644 index 0000000..7fc8918 --- /dev/null +++ b/x86-Find-mounts-by-FS-type-not-name.patch @@ -0,0 +1,84 @@ +From c072bd13abbe497d28e4235e2cf416f4aee65754 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= +Date: Mon, 29 Apr 2019 10:23:14 +0200 +Subject: [PATCH 05/20] x86: Find mounts by FS type, not name +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/?id=c072bd13abbe497d28e4235e2cf416f4aee65754 + +The name in mount invocations like + + mount -t debugfs debugfs /sys/kernel/debug + +is nothing but convention and cannot be relied upon. + +For example, https://www.kernel.org/doc/Documentation/filesystems/debugfs.txt +recommends making the name "none" instead: + + mount -t debugfs none /sys/kernel/debug + +and many existing systems use mounts named "none" or otherwise. + +Using `mnt_type` instead of `mnt_fsname` allows kexec to work +on such systems. + +This fixes another instance of `poweroff` not working on kexec'ed +kernels because the lack of correctly matched mount results in EFI +variables not being read and propagated. + +Signed-off-by: Niklas Hambüchen +Signed-off-by: Simon Horman +--- + kexec/arch/i386/x86-linux-setup.c | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c +index 74fb0c4..b643c8b 100644 +--- a/kexec/arch/i386/x86-linux-setup.c ++++ b/kexec/arch/i386/x86-linux-setup.c +@@ -433,8 +433,12 @@ out: + * This really only makes sense for virtual filesystems that are only expected + * to be mounted once (sysfs, debugsfs, proc), as it will return the first + * instance listed in /proc/mounts, falling back to mtab if absent. ++ * We search by type and not by name because the name can be anything; ++ * while setting the name equal to the mount point is common, it cannot be ++ * relied upon, as even kernel documentation examples recommends using ++ * "none" as the name e.g. for debugfs. + */ +-char *find_mnt_by_fsname(char *fsname) ++char *find_mnt_by_type(char *type) + { + FILE *mtab; + struct mntent *mnt; +@@ -448,7 +452,7 @@ char *find_mnt_by_fsname(char *fsname) + if (!mtab) + return NULL; + for(mnt = getmntent(mtab); mnt; mnt = getmntent(mtab)) { +- if (strcmp(mnt->mnt_fsname, fsname) == 0) ++ if (strcmp(mnt->mnt_type, type) == 0) + break; + } + mntdir = mnt ? strdup(mnt->mnt_dir) : NULL; +@@ -463,7 +467,7 @@ static int get_bootparam(void *buf, off_t offset, size_t size) + char filename[PATH_MAX]; + int err, has_sysfs_params = 0; + +- sysfs_mnt = find_mnt_by_fsname("sysfs"); ++ sysfs_mnt = find_mnt_by_type("sysfs"); + if (sysfs_mnt) { + snprintf(filename, PATH_MAX, "%s/%s", sysfs_mnt, + "kernel/boot_params/data"); +@@ -474,7 +478,7 @@ static int get_bootparam(void *buf, off_t offset, size_t size) + } + + if (!has_sysfs_params) { +- debugfs_mnt = find_mnt_by_fsname("debugfs"); ++ debugfs_mnt = find_mnt_by_type("debugfs"); + if (!debugfs_mnt) + return 1; + snprintf(filename, PATH_MAX, "%s/%s", debugfs_mnt, +-- +1.8.3.1 + diff --git a/x86-fix-BAD_FREE-in-get_efi_runtime_map.patch b/x86-fix-BAD_FREE-in-get_efi_runtime_map.patch new file mode 100644 index 0000000..b8b7029 --- /dev/null +++ b/x86-fix-BAD_FREE-in-get_efi_runtime_map.patch @@ -0,0 +1,32 @@ +From 8db8b6613a00e736e450401cff6121ec550a72f5 Mon Sep 17 00:00:00 2001 +From: Pingfan Liu +Date: Mon, 22 Oct 2018 15:54:16 +0800 +Subject: [PATCH 53/55] x86: fix BAD_FREE in get_efi_runtime_map() + +If the err_out label is reached, address of a stack variable is passed to +free(). Fix it. + +Signed-off-by: Pingfan Liu +Signed-off-by: Simon Horman +--- + kexec/arch/i386/x86-linux-setup.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c +index 6c7d260..6cda12c 100644 +--- a/kexec/arch/i386/x86-linux-setup.c ++++ b/kexec/arch/i386/x86-linux-setup.c +@@ -595,8 +595,8 @@ static int get_efi_runtime_map(struct efi_mem_descriptor **map) + closedir(dirp); + return nr_maps; + err_out: +- if (map) +- free(map); ++ if (*map) ++ free(*map); + closedir(dirp); + return 0; + } +-- +1.8.3.1 + diff --git a/xen-Avoid-overlapping-segments-in-low-memory.patch b/xen-Avoid-overlapping-segments-in-low-memory.patch new file mode 100644 index 0000000..4ce308f --- /dev/null +++ b/xen-Avoid-overlapping-segments-in-low-memory.patch @@ -0,0 +1,153 @@ +From eff53089523c331ac946df74ba365072a6fd1a95 Mon Sep 17 00:00:00 2001 +From: David Woodhouse +Date: Sun, 28 Apr 2019 13:52:12 +0300 +Subject: [PATCH 03/20] xen: Avoid overlapping segments in low memory +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/?id=eff53089523c331ac946df74ba365072a6fd1a95 + +Unlike Linux which creates a full identity mapping, Xen only maps those +segments which are explicitly requested. Therefore, xen_kexec_load() +silently adds in a segment from zero to 1MiB to ensure that VGA memory +and other things are accessible. + +However, this doesn't work when there are already segments to be loaded +under 1MiB, because the overlap causes Xen to reject the kexec_load. + +Be more careful and just infill the ranges which are required instead +of naïvely adding a full 0-1MiB segment at the end of the list. + +Signed-off-by: David Woodhouse +Signed-off-by: Simon Horman +--- + kexec/kexec-xen.c | 73 ++++++++++++++++++++++++++++++++++++++++--------------- + 1 file changed, 54 insertions(+), 19 deletions(-) + +diff --git a/kexec/kexec-xen.c b/kexec/kexec-xen.c +index 1887390..c326955 100644 +--- a/kexec/kexec-xen.c ++++ b/kexec/kexec-xen.c +@@ -64,15 +64,18 @@ int __xc_interface_close(xc_interface *xch) + } + #endif /* CONFIG_LIBXENCTRL_DL */ + ++#define IDENTMAP_1MiB (1024 * 1024) ++ + int xen_kexec_load(struct kexec_info *info) + { +- uint32_t nr_segments = info->nr_segments; ++ uint32_t nr_segments = info->nr_segments, nr_low_segments = 0; + struct kexec_segment *segments = info->segment; ++ uint64_t low_watermark = 0; + xc_interface *xch; + xc_hypercall_buffer_array_t *array = NULL; + uint8_t type; + uint8_t arch; +- xen_kexec_segment_t *xen_segs; ++ xen_kexec_segment_t *xen_segs, *seg; + int s; + int ret = -1; + +@@ -80,7 +83,28 @@ int xen_kexec_load(struct kexec_info *info) + if (!xch) + return -1; + +- xen_segs = calloc(nr_segments + 1, sizeof(*xen_segs)); ++ /* ++ * Ensure 0 - 1 MiB is mapped and accessible by the image. ++ * This allows access to the VGA memory and the region ++ * purgatory copies in the crash case. ++ * ++ * First, count the number of additional segments which will ++ * need to be added in between the ones in segments[]. ++ * ++ * The segments are already sorted. ++ */ ++ for (s = 0; s < nr_segments && (uint64_t)segments[s].mem <= IDENTMAP_1MiB; s++) { ++ if ((uint64_t)segments[s].mem > low_watermark) ++ nr_low_segments++; ++ ++ low_watermark = (uint64_t)segments[s].mem + segments[s].memsz; ++ } ++ if (low_watermark < IDENTMAP_1MiB) ++ nr_low_segments++; ++ ++ low_watermark = 0; ++ ++ xen_segs = calloc(nr_segments + nr_low_segments, sizeof(*xen_segs)); + if (!xen_segs) + goto out; + +@@ -88,32 +112,43 @@ int xen_kexec_load(struct kexec_info *info) + if (array == NULL) + goto out; + ++ seg = xen_segs; + for (s = 0; s < nr_segments; s++) { + DECLARE_HYPERCALL_BUFFER(void, seg_buf); + ++ if (low_watermark < IDENTMAP_1MiB && (uint64_t)segments[s].mem > low_watermark) { ++ set_xen_guest_handle(seg->buf.h, HYPERCALL_BUFFER_NULL); ++ seg->buf_size = 0; ++ seg->dest_maddr = low_watermark; ++ low_watermark = (uint64_t)segments[s].mem; ++ if (low_watermark > IDENTMAP_1MiB) ++ low_watermark = IDENTMAP_1MiB; ++ seg->dest_size = low_watermark - seg->dest_maddr; ++ seg++; ++ } ++ + seg_buf = xc_hypercall_buffer_array_alloc(xch, array, s, + seg_buf, segments[s].bufsz); + if (seg_buf == NULL) + goto out; + memcpy(seg_buf, segments[s].buf, segments[s].bufsz); + +- set_xen_guest_handle(xen_segs[s].buf.h, seg_buf); +- xen_segs[s].buf_size = segments[s].bufsz; +- xen_segs[s].dest_maddr = (uint64_t)segments[s].mem; +- xen_segs[s].dest_size = segments[s].memsz; ++ set_xen_guest_handle(seg->buf.h, seg_buf); ++ seg->buf_size = segments[s].bufsz; ++ seg->dest_maddr = (uint64_t)segments[s].mem; ++ seg->dest_size = segments[s].memsz; ++ seg++; ++ ++ low_watermark = (uint64_t)segments[s].mem + segments[s].memsz; + } + +- /* +- * Ensure 0 - 1 MiB is mapped and accessible by the image. +- * +- * This allows access to the VGA memory and the region +- * purgatory copies in the crash case. +- */ +- set_xen_guest_handle(xen_segs[s].buf.h, HYPERCALL_BUFFER_NULL); +- xen_segs[s].buf_size = 0; +- xen_segs[s].dest_maddr = 0; +- xen_segs[s].dest_size = 1 * 1024 * 1024; +- nr_segments++; ++ if ((uint64_t)low_watermark < IDENTMAP_1MiB) { ++ set_xen_guest_handle(seg->buf.h, HYPERCALL_BUFFER_NULL); ++ seg->buf_size = 0; ++ seg->dest_maddr = low_watermark; ++ seg->dest_size = IDENTMAP_1MiB - low_watermark; ++ seg++; ++ } + + type = (info->kexec_flags & KEXEC_ON_CRASH) ? KEXEC_TYPE_CRASH + : KEXEC_TYPE_DEFAULT; +@@ -125,7 +160,7 @@ int xen_kexec_load(struct kexec_info *info) + #endif + + ret = xc_kexec_load(xch, type, arch, (uint64_t)info->entry, +- nr_segments, xen_segs); ++ nr_segments + nr_low_segments, xen_segs); + + out: + xc_hypercall_buffer_array_destroy(xch, array); +-- +1.8.3.1 + -- Gitee